版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程编号:B080103020汇编语言程序设计实验报告姓名学号班级指导教师实验名称数据传送、分支与循环结构程序设计实验开设学期2014-2015第一学期开设时间第1周第10周报告日期2014年11月6日评定成绩评定人评定日期东北大学软件学院实验1 数据传送指令1、 实验目的:了解和掌握 MOV、PUSH、POP、XCHG四条指令的作用和在编程中的用法。、实验要求: ()采用立即数寻址方式将19E0H,3F56H,0AF37H,9A81H分别送给EAX、EBX、ECX、EDX四个寄存器。 记录:操作前 EAX=75C59191、 EBX=7FFDE000 、 ECX=00000000、 EDX=
2、00401000 操作后 EAX=000019E0、 EBX=00003F56、 ECX=0000AF37、 EDX=00009A81 操作过程中所用到的指令:INCLUDE Irvine32.inc.codemain PROCcall DumpRegsmov eax,19E0Hmov ebx,3F56Hmov ecx,0AF37Hmov edx,9A81Hcall DumpRegsexitmain endpEND main()采用采用寄存器寻址方式将19E0H送给EBX、ECX、EDX三个寄存器。 记录:操作前 EAX=75C59191、 EBX=7FFDE000 、 ECX=0000000
3、0、 EDX=00401000 操作后 EAX=000019E0、 EBX=000019E0、 ECX=000019E0、 EDX=000019E0 操作过程中所用到的指令:INCLUDE Irvine32.inc.codemain PROCcall DumpRegsmov eax,19E0Hmov ebx,eaxmov ecx,ebxmov edx,ecxcall DumpRegsexitmain endpEND main()对EAX、EBX、ECX、EDX四个寄存器进行出入堆栈的操作。()将EAX、EBX、ECX、EDX四个寄存器的内容依次压入堆栈中,注意观察栈指针寄存器和堆栈内容的变化。
4、 记录:压入EAX前 ESP=0018FF90, (ESP)=75C5919F 压入EAX后 ESP=0018FF8C, (ESP)=00000000 压入EBX前 ESP=0018FF8C, (ESP)=00000000 压入EBX后 ESP=0018FF88, (ESP)=00000000 压入ECX前 ESP=0018FF88, (ESP)=00000000 压入ECX后 ESP=0018FF84, (ESP)=00000000 压入EDX前 ESP=0018FF84, (ESP)=00000000 压入EDX后 ESP=0018FF80, (ESP)=FFFFC000 操作过程中所用到
5、的指令:INCLUDE Irvine32.inc.codemain PROCcall DumpRegsmov eax,espcall DumpRegspush eaxcall DumpRegspush ebxcall DumpRegspush ecxcall DumpRegspush edxcall DumpRegsexitmain endpEND main()将堆栈中的内容依次弹出到EAX、EBX、ECX、EDX四个寄存器, 注意观察栈指针寄存器和堆栈内容的变化。 记录:弹出到EAX前 ESP=0018FF90, (ESP)=00000000 弹出到EAX后 ESP=0018FF94, (E
6、SP)=00000000 弹出到EBX前 ESP=0018FF94, (ESP)=00000000 弹出到EBX后 ESP=0018FF98, (ESP)=00000000 弹出到ECX前 ESP=0018FF98, (ESP)=00000000 弹出到ECX后 ESP=0018FF9C, (ESP)= E18A40B7 弹出到EDX前 ESP=0018FF9C, (ESP)= E18A40B7 弹出到EDX后 ESP=0018FFA0, (ESP)= FFFFF801 操作过程中所用到的指令:include Irvine32.inc.codemain procmov esi,espcall
7、DumpRegspush eaxmov esi,espcall DumpRegspush ebxmov esi,espcall DumpRegspush ecxmov esi,espcall DumpRegspush edxpop edxmov esi,espcall DumpRegspop ecxmov esi,espcall DumpRegspop ebxmov esi,espcall DumpRegspop eaxmov esi,espcall DumpRegsexitmain endpend main(3)已知EAX =3F56H,ECX =4690H,利用交换指令交换这两个寄存器的内
8、容。 记录:交换前 EAX= 00003F56 , ECX=00004690 交换后 EAX= 00004690 , ECX=00003F56 操作过程中所用到的指令:Include Irvine32.inc.codemain PROCmov eax,3F56Hmov ecx,4690Hcall DumpRegsxchg eax,ecxcall DumpRegsexitmain ENDPEND main实验二 逻辑指令、跳转指令与分支程序设计、 实验目的:了解和掌握逻辑指令、比较指令、无条件有条件转移类指令的功能和作用,以及此类指令的使用方法。、 实验要求:具体了解和掌握逻辑指令、比较指令、无
9、条件有条件转移类指令的使用和在使用时应注意的问题,学习分支型程序设计的一般方法。 ()在DEBUG系统状态下,分别编制、调试并记录以下逻辑指令程序段的每一条指令的运行情况: () mov al,41 al=29H or al,20 al=3DH () mov al,66 al=42H and al,0df al=00H () mov EAX,5678 EAX=0000162EH xor EAX,EAX EAX=00000000H () mov EAX,0ff00 EAX=0000FF00H not EAX EAX=FFFF00FFH () mov EAX,1234 EAX=000004D2H
10、test EAX,1 EAX=000004D2H SF=0 ZF=1 OF=0 test EAX,2 EAX=000004D2H SF=0 ZF=0 OF=0 test EAX,4 EAX=000004D2H SF=0 ZF=1 OF=0 test EAX,8 EAX=000004D2H SF=0 ZF=1 OF=0 test EAX,10 EAX=000004D2H SF=0 ZF=0 OF=0 test EAX,20 EAX=000004D2H SF=0 ZF=0 OF=0 test EAX,40 EAX=000004D2H SF=0 ZF=1 OF=0 test EAX,80 EAX=0
11、00004D2H SF=0 ZF=0 OF=0test指令的作用是_将原操作数与目的操作数相与,但结果不送会目的操作数,只改变标志位,并不修改操作数_。 (2) 已知DATA单元开始存放三个带符号数,编制程序,检查三个数据是否同号,若同时为正,则在显示器上显示“+”;同时为负,则显示“-”;否则显示空格“ ”。要求:分别用三组数据(同时为正,同时为负,异号)调试程序,验证程序的正确性。include Irvine32.inc.datainterray sdword 23h,23h,-23h.codemain proc mov edi,OFFSET interraymov eax,ediand
12、eax,80000000hpush eaxmov eax,edi+4and eax,80000000hpush eaxmov eax,edi+8and eax,80000000hpush eaxpop eaxpop ebxpop ecxjnz L1cmp eax,ebxjne L2cmp eax,ecxjne L2mov al,'+'call WriteCharexitL1: cmp eax,ebx jne L2 cmp eax,ecx jne L2 mov al,'-' call WriteChar exitL2: mov al,' ' cal
13、l WriteChar exitmain endpend main实验三 算术运算类指令、移位指令及循环程序设计、 实验目的:了解和掌握加、减、乘、除指令的在程序设计中的用法和应注意的问题,了解和掌握移位指令的功能、作用和方法。了解和掌握循环控制类指令的功能、作用和方法。学会循环程序设计的方法。学习汇编语言输出输入语句的设计。、 实验要求:具体了解和掌握算术类指令、移位指令和循环控制类指令的使用,以及在使用时应注意的问题,学习循环程序设计的一般方法。 ()在DEBUG系统状态下,分别编制、调试并记录以下加、减程序段的每一条指令的运行情况,查看寄存器的结果: () MOV EAX,2389 EA
14、X=00000955H MOV EBX,0CEDFH EBX=0000CEDFH ADD EAX,EBX EAX= 0000D834H EBX=0000CEDFH () MOV EAX,2389 EAX=00000955H MOV EBX,0CEDFH EBX=0000CEDFH SUB EAX,EBX EAX=FFFF3A76H EBX=0000CEDFH () MOV EAX,2389 EAX=00000955H MOV EBX,0CEDFH EBX=0000CEDFH ADD AH,BH AH=D7 BH=CE ADD AL,BL AL=34 BL=DF () MOV EAX,2389
15、EAX=00000955H MOV EBX,0CEDFH EBX=0000CEDFH ADD AH,BH AH=D7 BH=CE ADC AL,BL AL=34 BL=DF EFL = 00000213 ()在DEBUG系统状态下,分别编制、调试并记录以下乘、除程序段的每一条指令的运行情况: () MOV AL,23 AL=17H MOV BL,0CEH BL=CEH MUL BL AX=1282H OV=1 () MOV AX,2389 AX=0955H MOV BX,0CEDFH BX=CEDFH MUL BX DX= 078AH AX=870BH CF=1 () MOV AX,2389
16、AX=0955H MOV BL,0CEH BL=0CEH DIV BL AH=7BH AL=0BH () MOV AX,2389 AX=0955H MOV DX,0856 DX=0358H MOV BX,0CEDFH BX=CEDFH DIV BX AX=0423H DX=44D8H (3)在DEBUG系统状态下,分别编制、调试并记录以下移位指令程序段的每一条指令的运行情况: () mov EAX,420 EAX=000001A4H shl EAX,1 CF=0 EAX=00000348H () mov EAX,240 EAX=000000F0H mov cl,4 CL=04H shl EAX
17、,cl CF=0 EAX=00000F00H () mov EAX,8000 EAX=00001F04H mov cl,4 CL=04H shr EAX,cl CF=0 EAX=000001F4H () mov EAX,8000 EAX=00001F04H mov cl,4 CL=04H sar EAX,cl CF= 0 EAX=000001F4H () mov EAX,8086 EAX=00001F96H mov cl,4 CL=04H rol EAX,cl CF=0 EAX=00001F96H () mov EAX,8086 EAX=00001F96H mov cl,4 CL=04H ro
18、r EAX,cl CF=0 EAX=60001F9H () mov EAX,8086 EAX=00001F96H mov cl,4 CL=04H rcl EAX,cl CF=0 EAX=0001F960H () mov EAX,8086 EAX=00001F96H mov cl,4 CL=04H rcr EAX,cl CF=0 EAX=C00001F9Hrol与rcl、ror与rcr的区别在于rol和ror是将寄存器中的内容直接进行移位,而rcl和rcr是将寄存器中的内容与_CF_中的内容一起进行移位,因此参加移位的数据比原来的数据位数_多一_。(5) 已知DATA单元开始存放一组无符号的字节
19、数据,数据长度在CNT单元存放。编制程序,检查该组数据中是否存在数据100,若存在,则在显示器上显示“Y”,否则显示“N”。include Irvine32.inc.dataay word 1,4,8,100cnt word 4.codemain procmov cx,cntL1: mov ax,0 push ax mov bx,ay+ax cmp bx,0064h je L2 mov al,'N' call WriteChar jmp quit L2: mov al,'Y' call WriteChar jmp quitquit: pop ax add ax,4 LOOP L1exit
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年合作协议范本-短视频创作分成计划
- 二零二五版口罩生产安全培训与应急演练合同3篇
- 2025年分期保养维修服务协议
- 2025年业主消防设备检测协议
- 2025年咖啡烘焙服务委托合同
- 2025年培训师资质协议
- 二零二五版建筑废料出售及环保处理合作协议3篇
- 2025年度旅行社与旅游巴士租赁合同范本3篇
- 二零二五版承包工地食堂食品安全管理咨询合同模板2篇
- 二零二五年教育培训机构合作协议教育培训3篇
- 教师招聘(教育理论基础)考试题库(含答案)
- 2024年秋季学期学校办公室工作总结
- 上海市12校2025届高三第一次模拟考试英语试卷含解析
- 三年级数学(上)计算题专项练习附答案集锦
- 长亭送别完整版本
- 《铁路轨道维护》课件-更换道岔尖轨作业
- 股份代持协议书简版wps
- 职业学校视频监控存储系统解决方案
- 《销售心理学培训》课件
- 2024年安徽省公务员录用考试《行测》真题及解析
- 你比我猜题库课件
评论
0/150
提交评论