资源描述:
《合工大汇编语言程序设计实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、.合肥工业大学计算机与信息学院实验报告课程:汇编语言程序设计专业班级:****************学号:**********姓名:*****..目录实验一···········································3实验二············································7实验三···········································12实验四···········································22..实验一Debug程序的使用
2、一.实验目的1、熟悉DEBUG程序中的命令,学会在DEBUG下调试运行汇编语言源程序。2、掌握8086/8088的寻址方式及多字节数据的处理方法。二.实验内容1、利用DEBUG程序中的“E”命令,将两个多字节数“003F1AE7H”和“006BE5C4H”分别送入起始地址为DS:0200H和DS:0204H两个单元中。2、分别用直接寻址方式和寄存器间接寻址方式编写程序段,实现将DS:0200H单元和DS:0204H单元中的数据相加,并将运算结果存放在DS:0208H单元中。要求:本次实验的内容均在DEBUG下完成,实现数据的装入、修改、显示;汇编语言程序段的
3、编辑、汇编和反汇编;程序的运行和结果检查。三.实验过程和程序实验内容一:eds:0200E71A3F00eds:0204C4E56B00实验内容二:(1)直接寻址方式MOVAX,[0200]MOVBX,[0202]ADDAX,[0204]ADCBX,[0206]MOV[0208],AXMOV[020A],BX(2)寄存器间接寻址方式MOVSI,0200HMOVDI,0204HMOVBX,0208HMOVAX,[SI]MOVDX,[SI+2]ADDAX,[DI]ADCDX,[DI+2]..MOV[BX],AXMOV[BX+2],DX一.实验结果(包括必要的截图
4、)实验内容一:输入数据:显示数据:实验内容二:(1)直接寻址方式程序段编辑:反汇编:..运行:结果在DS:0208单元中为00AB00ABH(2)寄存器间接寻址方式程序段编辑:反汇编:..运行:结果高字存放在dx中,低字存放在ax中(结果为00AB00ABh)一.实验体会通过本实验,实践debug程序中的命令,并在debug下调试运行汇编语言源程序。在实践过程中,解决如何把数据录入存储单元、debug命令如何使用等问题后,知道存数据例如1234进存储单元时要3412存,还有掌握了寄存器的寻址方式。..实验二汇编语言程序设计(顺序、循环)一.实验目的1、掌握顺
5、序和循环程序结构和设计方法;2、熟悉在PC机上建立、汇编、连接、调试和运行8086/8088汇编语言程序的过程。二.实验内容1、X、Y、Z、V均为字变量,在X、Y、Z、V字单元中存放是16位带符号数。试编写汇编语言程序完成以下功能:①计算表达式值(V–(X*Y+Z-720))/X;②将上述表达式运算结果整数放在SUM1单元,余数放在SUM2单元。2、求一个班50名学生成绩的平均值(附加题:最大值和最小值,并将结果显示出来)3、从键盘读入一个字符串,以Enter结束,字符串不超过50个字符,并打印该字符串(附加题:查找中间是否有‘asm’子串。如果有,输出‘Y
6、es’;否则,输出‘No’)。三.实验过程和程序(注:附加题没有做)实验内容一:X、Y、Z、V均为字变量,在X、Y、Z、V字单元中存放是16位带符号数。试编写汇编语言程序完成以下功能:①计算表达式值(V–(X*Y+Z-720))/X;②将上述表达式运算结果整数放在SUM1单元,余数放在SUM2单元。Datasegmentxdw?ydw?zdw?vdw?sum1dw?sum2dw?DataendsCodesegmentassumecs:code,ds:datastart:movax,datamovds,axmovax,ximuly..movcx,axmovbx
7、,dxmovax,zcwdaddcx,axadcbx,dxsubcx,720sbbbx,0movax,vcwdsubax,cxsbbdx,bxidivxmovsum1,axmovsum2,dxmovah,4chint21hCodeendsendstart实验内容二:求一个班50名学生成绩的平均值(为了方便,只设置了5个学生数据)datasegmentgradedw90,80,80,70,60;平均数76dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axxorax,axmovcx,5
8、movbx,offsetgradeagain:add