东北大学软件学院汇编实验报告3.docx
《东北大学软件学院汇编实验报告3.docx》由会员分享,可在线阅读,更多相关《东北大学软件学院汇编实验报告3.docx(14页珍藏版)》请在冰豆网上搜索。
![东北大学软件学院汇编实验报告3.docx](https://file1.bdocx.com/fileroot1/2022-11/16/49a4a90e-bd18-4c1b-97b4-05eee131a47f/49a4a90e-bd18-4c1b-97b4-05eee131a47f1.gif)
东北大学软件学院汇编实验报告3
(附录二)
汇编语言程序设计
实验报告
实验名称
循环结构与子程序设计实验
班级
学号
姓名
日期
成绩
评阅人
软件学院
一、实验目的与意义
了解和掌握加、减、乘、除指令的在程序设计中的用法和应注意的问题,了解和掌握移位指令的功能、作用和方法。
了解和掌握循环控制类指令的功能、作用和方法。
学会循环程序设计的方法。
学习汇编语言输出输入语句的设计。
二、实验环境
操作系统:
windows7
调试软件名称及版本号:
MicrosoftVisualStudio2008
三、实验的预习内容
预习的主要内容:
预习了加减乘除指令,移位指令,循环指令的作用及方法,学习力函数的调用,在屏幕上打出指定字符和数字
实验思路:
将寄存器赋值,然后对寄存器进行加减乘除,移位的运算,观察寄存器的数值变化,用逐语句观察循环语句中程序执行的顺序,了解循环的作用
四、实验的步骤与调试方法
实验的大致步骤:
在.code中对程序进行加减乘除,移位操作,观察寄存器的变化
实验中遇到的问题及调试方法:
在做9*9乘法表时,由于是32位的操作系统,无法用中断INT来进行回车换行,最后通过给eax赋值0ah,直接打出回车
五.实验数据与实验结果
(1)在DEBUG系统状态下,分别编制、调试并记录以下加、减程序段的每一条指令的运行情况,查看寄存器的结果:
(Ⅰ)
MOVEAX,2389┃EAX=00000955EBX=7FFDF000ECX=00000000
EDX=00131005ESI=00000000EDI=00000000
EIP=0013101AESP=002AF9B4EBP=002AF9BC
EFL=00000246
MOVEBX,0CEDFH┃EAX=00000955EBX=0000CEDFECX=00000000
EDX=00131005ESI=00000000EDI=00000000
EIP=0013101FESP=002AF9B4EBP=002AF9BC
EFL=00000246
ADDEAX,EBX┃EAX=0000D834EBX=0000CEDFECX=00000000
EDX=00131005ESI=00000000EDI=00000000
EIP=00131021ESP=002AF9B4EBP=002AF9BC
EFL=00000212
(Ⅱ)
MOVEAX,2389┃EAX=00000955EBX=7FFDD000ECX=00000000
EDX=008D1005ESI=00000000EDI=00000000
EIP=008D101AESP=0028F89CEBP=0028F8A4
EFL=00000246
MOVEBX,0CEDFH┃EAX=00000955EBX=0000CEDFECX=00000000
EDX=008D1005ESI=00000000EDI=00000000
EIP=008D101FESP=0028F89CEBP=0028F8A4
EFL=00000246
SUBEAX,EBX┃EAX=FFFF3A76EBX=0000CEDFECX=00000000
EDX=008D1005ESI=00000000EDI=00000000
EIP=008D1021ESP=0028F89CEBP=0028F8A4
EFL=00000293
(Ⅲ)
MOVEAX,2389┃EAX=00000955EBX=7FFD8000ECX=00000000
EDX=00B31005ESI=00000000EDI=00000000
EIP=00B3101AESP=002BFA7CEBP=002BFA84
EFL=00000246
MOVEBX,0CEDFH┃EAX=00000955EBX=0000CEDFECX=00000000
EDX=00B31005ESI=00000000EDI=00000000
EIP=00B3101FESP=002BFA7CEBP=002BFA84
EFL=00000246
ADDAH,BH┃EAX=0000D755EBX=0000CEDFECX=00000000
EDX=00B31005ESI=00000000EDI=00000000
EIP=00B31021ESP=002BFA7CEBP=002BFA84
EFL=00000296
ADDAL,BL┃EAX=0000D734EBX=0000CEDFECX=00000000
EDX=00B31005ESI=00000000EDI=00000000
EIP=00B31023ESP=002BFA7CEBP=002BFA84
EFL=00000213
(Ⅳ)
MOVEAX,2389┃EAX=00000955EBX=7FFD3000ECX=00000000
EDX=00FD1005ESI=00000000EDI=00000000
EIP=00FD101AESP=001AFB4CEBP=001AFB54
EFL=00000246
MOVEBX,0CEDFH┃EAX=00000955EBX=0000CEDFECX=00000000
EDX=00FD1005ESI=00000000EDI=00000000
EIP=00FD101FESP=001AFB4CEBP=001AFB54
EFL=00000246
ADDAH,BH┃EAX=0000D755EBX=0000CEDFECX=00000000
EDX=00FD1005ESI=00000000EDI=00000000
EIP=00FD1021ESP=001AFB4CEBP=001AFB54
EFL=00000296
ADCAL,BL┃EAX=0000D734EBX=0000CEDFECX=00000000
EDX=00FD1005ESI=00000000EDI=00000000
EIP=00FD1023ESP=001AFB4CEBP=001AFB54
EFL=00000213
(2)在DEBUG系统状态下,分别编制、调试并记录以下乘、除程序段的每一条指令的运行情况:
(Ⅰ)
MOVAL,23┃EAX=752E1117EBX=7FFDF000ECX=00000000
EDX=01351005ESI=00000000EDI=00000000
EIP=01351017ESP=002BFADCEBP=002BFAE4
EFL=00000246
MOVBL,0CEH┃EAX=752E1117EBX=7FFDF0CEECX=00000000
EDX=01351005ESI=00000000EDI=00000000
EIP=01351019ESP=002BFADCEBP=002BFAE4
EFL=00000246
MULBL┃EAX=752E1282EBX=7FFDF0CEECX=00000000
EDX=01351005ESI=00000000EDI=00000000
EIP=0135101BESP=002BFADCEBP=002BFAE4
EFL=00000A47
(Ⅱ)
MOVAX,2389┃EAX=752E0955EBX=7FFDE000ECX=00000000
EDX=001D1005ESI=00000000EDI=00000000
EIP=001D1019ESP=003EFE7CEBP=003EFE84
EFL=00000246
MOVBX,0CEDFH┃EAX=752E0955EBX=7FFDCEDFECX=00000000
EDX=001D1005ESI=00000000EDI=00000000
EIP=001D101DESP=003EFE7CEBP=003EFE84
EFL=00000246
MULBX┃EAX=752E870BEBX=7FFDCEDFECX=00000000
EDX=001D078AESI=00000000EDI=00000000
EIP=001D1020ESP=003EFE7CEBP=003EFE84
EFL=00000A47
(Ⅲ)
MOVAX,2389┃EAX=752E0955EBX=7FFDA000ECX=00000000
EDX=00901005ESI=00000000EDI=00000000
EIP=00901019ESP=001AF828EBP=001AF830
EFL=00000246
MOVBL,0CEH┃EAX=752E0955EBX=7FFDA0CEECX=00000000
EDX=00901005ESI=00000000EDI=00000000
EIP=0090101BESP=001AF828EBP=001AF830
EFL=00000246
DIVBL┃EAX=752E7B0BEBX=7FFDA0CEECX=00000000
EDX=00901005ESI=00000000EDI=00000000
EIP=0090101DESP=001AF828EBP=001AF830
EFL=00000246
(Ⅳ)
MOVAX,2389┃EAX=75630955EBX=7FFD6000ECX=00000000
EDX=00B51005ESI=00000000EDI=00000000
EIP=00B51019ESP=0028FAACEBP=0028FAB4
EFL=00000246
MOVDX,0856┃EAX=75630955EBX=7FFD6000ECX=00000000
EDX=00B50358ESI=00000000EDI=000