




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.z?汇编语言程序设计?实验报告实验名顺序构造程序设计实验室实验楼实验日期2014-05-05一、实验目的及要求1.熟悉命令格式,功能,加强对指令系统的理解2.编写简单顺序构造程序3.单步跟踪调试,观察存放器的变化和指令执行的结果二、实验环境硬件环境:一台微型计算机软件环境:windows*p,debug环境,masm三、实验内容〔至少写3个程序〕题目一:求*+y+z的和,并把结果送给给w,其中*,y,z,w是数据段的标记符,用来存放三个数据1.设计:首先,在数据段中,定义*,y,z分别存5,6,7三个值,同时申请一个字单元,用标号w来表示,用来存放表达式的结果;在代码段中,首先初始化,然后将*中所存放的值传送给计算器A,再将计算器A中的内容和y中的内容相加,结果存放在计算器A中,再将计算器A中的内容和z中的内容相加,结果同样存放在计算器A中,最后将计算器A中的内容传送到w中。2.源程序清单datasegment* dw5Y dw6Z dw7W dw?dataends;定义数据段,分别给*,Y,Z赋初值,并为W开辟存储空间codesegment;代码段mainprocfarassumecs:code,ds:datastart:pushds*ora*,a* pusha*mova*,data;初始化movds,a*mova*,*adda*,Y;*和Y的和存入累加器Aadda*,Z movW,a*;*,Y,Z之和存入W中retmainendpcodeends;代码段完毕endstart3.调试过程:〔1〕.用masm程序产生mwn1.obj文件,编译没有错误,如下列图:〔2〕.用link程序产生mwn1.e*e文件,连接没有错误,如下列图:.进入debug调试,用u命令反汇编,查看代码段,数据段所在的内存单元;〔4〕.由(3)可知,数据段在144A段,如下列图,用d命令查看数据段的值,依次为5,6,7,接着下一个字的内容为0:〔5〕.用t命令单步执行,前三次为初始化,具体的如下列图:〔6〕用t命令执行,如下列图,将[0000]单元中的内容05h传给a*,a*中的内容为0005,将[0002]单元中的内容和a*相加,并把结果存放在a*中,a*中的内容为000b=(5+6)用t命令执行,如下列图,将[0004]单元中的内容0bh和a*相加,并把结果存放在W中,W中的内容为0012=(0b+7)题目二:1.设计:首先,在数据段中,定义字符串存放在变量s1中,同时申请一个字单元,用标号s2来表示,用来存放计数次数;在代码段中,首先初始化,然后,根据cld与rep的组合递减,将字符一个一个根据地址的指示按顺序输出。源程序清单datasegments1db'Thisisaprogram!$'countequ$-s1;变量count代替$-s1s2dbcountdup(?)dataends;定义数据段,变量s1为字符串'Thisisaprogram!$',;变量s2是重复计数次数codesegment;代码段assumecs:code,ds:data,es:datastart:mova*,datamovgtmoves,a*;初始化movsi,offsets1;将变量s1的偏移地址放入存放器si中movdi,offsets2;将变量s2的偏移地址放入存放器di中movc*,count;将计数次数存入存放器c*中Cldrepmovsb;在字符串的比拟,di或si是可以自动增减,即si,di向前移动movd*,offsets2movah,9int21hmova*,4c00hint21h;输出结果codeendsendstart3.调试过程:〔1〕.用masm程序产生mwn2.obj文件,编译没有错误,如下列图:〔2〕.用link程序产生mwn1.e*e文件,连接没有错误,如下列图:〔3〕.进入debug调试,用u命令反汇编,查看代码段,数据段所在的内存单元;〔4〕.由(3)可知,数据段在144A段,如下列图,用d命令查看数据段的值,依次为Thisisaprogram!$,接着下一个字的内容为0:〔5〕用t命令单步执行,前三次为初始化,具体的如下列图:用t命令执行,如下列图,将偏移地址存入si,di;用t命令执行,如下列图,命令执行count次数;〔8〕执行结果,如下列图:题目三:查表法,实现一位16进制数转换为ASCII码显示1.设计:首先,在数据段中,定义0~9的ASCII码、A~F的ASCII码,并设定一个待转换的数;在代码段中,首先初始化,然后指定存放器B*存放ASCII码转换表,根据待转换的数,查找ASCII码表,根据偏移地址确定转换结果。源程序清单datasegmentASCIIdb30h,31h,32h,33h,34h,35hdb36h,37h,38h,39h ;0~9的ASCII码db41h,42h,43h,44h,45h,46h;A~F的ASCII码He*db0bh;任意设定一个待转换的一位16进制数dataends;数据段定义codesegment;代码段mainprocfarassumecs:code,ds:datastart: pushds *ora*,a* pusha* mova*,data movds,a* ;初始化 movb*,offsetASCII ;B*指向ASCII码表 moval,he* ;AL取得一位16进制数,正是ASCII码表中位移andal,0fh ;只有低4位是有效的,高4位清0 *lat ;换码:AL←DS:[B*+AL] movdl,al ;入口参数:DL←AL movah,2 ;02号DOS功能调用 int21h ;显示一个ASCII码字符 retmainendpcodeendsendstart3.调试过程:〔1〕用masm程序产生mwn3.obj文件,编译没有错误,如下列图:〔2〕用link程序产生mwn3.e*e文件,没有错误,如下列图:〔3〕进入debug调试,用u命令反汇编,查看代码段,数据段所在的内存单元;〔4〕.由(3)可知,数据段在144A段,如下列图,用d命令查看数据段的值,依次为5,6,7,接着下一个字的内容为0:〔5〕.用t命令单步执行,前三次为初始化,具体的如下列图:〔6〕用t命令执行,如下列图,将B*指向ASCII码表;〔7〕用t命令执行,如下列图,AL取得一位16进制数,即ASCII码表中位移;〔8〕用t命令执行,如下列图,高4位清0,只有低4位有效;〔9〕用t命令执行,如下列图,换码过程;〔10〕用t命令执行,输出结果B,如下列图
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家居行业营销承诺舒适与风格承诺3篇
- 二手房买卖合同废止3篇
- 储藏室购买协议示例3篇
- 2024年宁波慈溪文旅集团有限公司招聘制工作人员考试真题
- 鹤岗市北三峡食品有限公司招聘笔试真题2024
- 电气设备员工职业发展路径考核试卷
- 电机制造中的电机市场调研考核试卷
- 科学实验设计与操作考核试卷
- 纺织品销售区域市场调研考核试卷
- 拖拉机企业财务报表分析与决策考核试卷
- 水利工程竣工自查报告
- 新疆维吾尔自治区新2024年中考数学模拟试卷附答案
- 2024年中国老年糖尿病诊疗指南解读(2024年版)
- 震后学校维修合同书
- 李白:《将进酒》经典省公开课一等奖全国示范课微课金奖课件
- 19S406建筑排水管道安装-塑料管道
- 教师如何有效地与家长沟通
- 第11课辽宋夏金元的经济社会与文化教学设计-高中历史必修中外历史纲要上册2
- 如何与客户建立有效的沟通
- 真空排水系统施工方案设计
- (完整版)建筑工程技术毕业论文
评论
0/150
提交评论