燕山大学汇编语言实验答案

上传人:s9****2 文档编号:454527404 上传时间:2023-07-25 格式:DOC 页数:15 大小:472KB
返回 下载 相关 举报
燕山大学汇编语言实验答案_第1页
第1页 / 共15页
燕山大学汇编语言实验答案_第2页
第2页 / 共15页
燕山大学汇编语言实验答案_第3页
第3页 / 共15页
燕山大学汇编语言实验答案_第4页
第4页 / 共15页
燕山大学汇编语言实验答案_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《燕山大学汇编语言实验答案》由会员分享,可在线阅读,更多相关《燕山大学汇编语言实验答案(15页珍藏版)》请在金锄头文库上搜索。

1、实验一汇编语言源程序的输入一、实验目的1. 通过实验了解和熟悉微机系统的配置。2. 学习在DEBUG状态下输入汇编源程序的方法。3. 初步掌握调试(在DEBUG状态下)的过程。二、实验原理1. 本实验要求在DEBUG状态下输入汇编源程序,并用DEBUG命令进行调试。用单步跟踪的方法验证指令的功能。2. 以下是给定的参考程序,并在实验时在每条指令的;”符号右边按要求填写指令的执行结果。注: 微机进入DEBUG状态下之后,一切立即数和地址数据均被默认为十六进制数,在输入时数的后面不加后缀“H” ;(2)在DEBUG状态下执行程序时,INT 20H”指令可使系统执行完该指令前的程序时返回到“-”提示

2、符状态,并且恢复CS和IP寄 存器原来的值。三、实验仪器微机一台。四、实验步骤1. 开机后进入DOS系统,C DEBUG/ (/回车符)一(为DEBUG提示符)当显示器出现提示符“一”时,说明已进入DEBUG状态,这时,可用DEBUG命令进行操作。2. 用DEBUG的Register命令检查所有寄存器容,并作记录。命令格式:R 寄存器名该命令的功能是显示寄存器的容,或修改某一指定寄存器容,若寄存器名缺省,则显示所有寄存器容。例如:-R3. 用DEBUG的Assemble命令输入汇编源程序。格式:A 存地址注:用“”符号括起来的部分表示可以省略。该命令的功能是从指定的存地址开始(括号不要输入)逐

3、条输入汇编语言源程序并汇编成机器码存入存。若地址缺省,则接上一个A 命令最后一条指令之后输入汇编语句若没有用过A命令,则从CS: 0100H地址开始输入。例如:-AOCD3: 0100-在输入A命令之后,或每输入一条指令之后,显示器的左端给出了存的段地址和偏移地址。每条指令均用回车(/)结束。若输入的指令有语法错误,DEBUG拒绝接收,并给出提示,此时可以重新输入。程序的最后一条指令输入 完之后,再按一次回车键(/),即可结束汇编命令,回到DEBUG提示符“一”状态。4. 用DEBUG的Unassemble命令反汇编。命令格式:U 起始地址终止地址该命令的功能是从起始地址到终止地址反汇编目标码

4、,缺省值是接上一个U命令或从CS: 010011地址开始。例如:-U显示器上将显示程序的存地址、指令机器码的汇编源程序三列对照清单。5. 用DEBUG的Trace命令单步跟踪程序。命令格式:T 二起始地址指令条数该命令的功能是从指定的起始地址开始逐条执行指令,每执行完一条指令,屏幕显示所有寄存器容和下一条指令地址和指令。若9起 始地址缺省,则T命令从CS: IP地址开始执行指令。例如:-TZ重复这一过程即可看到每条指令执行后,所有寄存器和标志寄存器的标志位容。此时,要检查存单元的数据,可用DEBUG的D命令。6. 用DEBUG的Dirnip命令显示存贮器单元的容。命令格式:D起始地址终止地址该

5、命令的功能是从起始地址到终止地址连续显示存贮器单元的容。若地址缺省,则接上一个D命令或从DS: 0100H地址开始显示。例如:-DZ参考程序:MOVAX, 2000;AL二OOHMOVDS, AX;DS=2000HNOTAX;AX二DFFFHXORAX. AX;AX二0000HDECAX;AX二FFFFHINCAX;AX二 OOOOIIMOVBX, 2030;BH二2011MOVSI. BX;SI=2030HMOVSI, BL;2030H=30HMOVWORD PTRtSl, 10F;2030H= OFH2031H=01HMOVDI, SI;DI=2030HMOVDI+50. BH;DI+50

6、H=20HMOVSI;BH二OFHMOVBL, DI+50;BL=20HMOVSP, 5000PUSHAX;AX二 0000H SS:4FFEH=00HSS: 4FFFH二OOHPUSHBX;BX=0F20H SS:4FFCH=20HSS: 4FFDH二OFHPOPAX;AX二0F20HPOPF;F二00000000NEGBX;BX=FOEOHXCHGBX. AX;BX=0F20HSTD;F=01010001STI;F=01110001CLD;F=00110001CLI;F=00010001ADCDI, 2050;DIM081HF二00000010ADCSP, DI;SP=9081HF二100

7、10010ADCAX, 1500;AX二05E0HF=00000001SUBAX, BX;AX二F6C0HBX二0F20HSHLAH, 1;AH=ECHRCLAX, 1:AX=D981HSHRBH, 1;BH二07HRCRBL, 1;BL=90HMOVCL, 4MOVDX, 80F0ROLDX, CL;DX=0F08HCL=04HI NT20;CS=00A7HIP二1072H五. 实验报告要求1. 整理每条指令执行的结果,填到打印清单的右半部分(应注意存数据检查的正确性)。2. 比较实验记录与理论分析的结果是否相同,若有不同,找出差别及问题所在。3总结本次实验的体会。标志名标志为1标志为00F

8、溢出(是/否)0VNVDF方向(减量/增量)DNUPIF中断(允许/关闭)EIDISF符号(负/正)NGPLZF零(是/否)ZRNZAF辅助进位(是/否)ACNAPF奇偶(偶/奇)PEP0CF进位(是/否)CYNC实验二数据的建立与传送程序一. 实验目的1. 继续学习DEBUG命令。2. 验证指令的功能。二、实验原理在DEBUG状态下,分别输入下面各程序段,每输入完一个程序段,用G命令进行连续方式执行程序,在连续执行时,要记录程序的执行 结果。参考程序:1. 在存10000H单元开始,建立00H0FH00H 31个数,要求00HOFH数据逐渐增大,OFH00H逐渐城小。该程序从存CS:O1OO

9、H地址开始输入。MOVAX, 1000HMOVDS. AXMOVSI. 0MOVCL, OFHXORAX, AXMOVSI, ALINCSIINCALDECCLJNZPPE1MOVCX. 10HMOVSI, ALINCSIDECALLOOPPPE2INT20HPPE1:PPE2:注:转移指令的符号地址直接用绝对偏移地址,该地址在用A命令汇编输入时,可以看到程序全部运行完之后,可用DEBUG的Dump 命令查看建立的数据块容。例如:-D1000: 00 1E-|g| x|MB09:0100 mou ax,1000MR09:0103moudsB09:8105mowsi,01B09:0108mouc

10、l,0fK)B09:O10AxoraxaxHB09:010Cnousi,alB09:010EincsiB09:O10Fincalclk)B09;ail3JnzB10gfoB09:0115moucx 10B09:0118nowCsi,lHB09:011AincsidecalHB09:011Dloop 0118B09:011Pint20B09:O121F-0i00Pnogpan terminated nopnall-dl00000 le1000:0000 00 Bl 02 03 04 05 06 07-08 09 0A 0B 0C 0D 0E 0F1000:0010 0E OD 0C 0B 0A

11、09 08 07-06 05 04 03 02 01 002. 把上一个程序的执行结果(建立的31个字节数据块,其首地址在10000H),分几种方式传送到以下指定的区域。(a) 该程序从存CS:0150H开始输入。把数摇块传送到1505011 7F始的存贮区域中。参考程序:MOVMOVMOVMOVMOVAX,1000HDS.AXSI,0DI,5050Hcx.1FHL,SI;数据块长度是31检查存数据块的传送情况,可用命令。Hdi000:00 1600:0000 000:0010 La-A 0150dB09;0150 3809:0153 0BA9;0155 BB09:H158 吊胸9:0L5B

12、m9:015E dB09;0160 3909:0162 3B09:0163 B09:0164 MB09;0166JB09!0168 G-015000 01 02 03 040E 0D 0C 0D 0AP50906 07-08 09 0A OB 0C 0D 0E 0F03 07-06 05 04 03 02 01 加UUUUUUUCCOTOOOOOOONNONsun DU5850 CKUF CL.SI CD!】h SIDI01SEr!HProgran terninated normally-D1000:5050 5B6E1000:5050 00 01 02 03 04 05 06 07-08 0

13、9 0A 0B 00 0D 0E 0F10O:C060 0E 0D 0C OB 0A 09 OS 07-06 05 04 03 02 01 00(b) 用串传送指令MOVSB,把数据块传送到15150H开始的区域,该程序从存CS:0200H开始输入。 检查程序最后的执行结果,可用D命令,例如:-D1000: 5150ZPPEA: MOVMOVDI, ALINCSIINCDILOOPPPEAINT20HC;WV1NDOWSsystcm32knid.exe - debug-0150Proy*an teFnin&ted nomAllsD1000:5050 506E1000:505000 01 02 03 04 05 06 07-08 09 加 0B 0C 0D 0E 0F14MMM0W_Qfr-W-aC刚 QA QB (M Q27K M_U2Q3-MQa-A 0200BB09:02M0KB09:02030B09:02050B09i0207

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号