汇编实验二
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二:内存操作数,寻址方法及操作指令
实验目的
1、熟练掌握DEBUG的常用命令,学会使用DEBUG调试程序。
2、掌握数据在内存中的存放方式和内存操作数的几种寻址方式。
3、掌握简单指令的执行过程。
实验内容
1、设DS=当前段地址,BX=0300H,SI=0002H,DI=0005H,BP=0008H,请用DEBUG的命令将存储器偏移地址300H~309H连续单元顺序装入06H,07H,08H,09H,0AH,0BH,0CH,0DH,0EH,0FH。在DEBUG状态下送入下面程序,并用单步执行的方法,分析每条指令源地址的形成过程,当数据传送完毕时,AX中的内容是什么。
程序清单如下:
MOV AX,0304H
MOV AX,BX
MOV AX,[0304H]
MOV AX, [SI]
MOV AX. [DI]
MOV AX,[BX]
MOV AX, [BP+1]
MOV AX,0002[BX]
MOV AX,[BX][SI]
MOV AX,[BX+SI+1]
2、在debug中调试实现DX=25+48-19 的程序段。
要求:用A命令汇编、用T单步跟踪执行,并分析每步执行的结果,最后用R命令检查DX寄存器中的计算结果。在debug中调试程序段之前,要求用E命令将25,48,19的非压缩BCD码0205H、0408H和0109H存入DS段中[0000H]—[0005H]六个单元。
程序段:
MOV AX,0
MOV AL,[0000H]
ADD AL,[0002H]
AAA
MOV DL,AL
MOV AL,[0001H]
ADC AL,[0003H]
AAA
XCHG AL,DL
SUB AL,[0004]
AAS
XCHG AL,DL
SBB AL,[0005]
AAS
MOV DH,AL
实验要求
1、实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,以及对程序结果的分析等。
2、本实验只要求在DEBUG调试程序状态下进行,包括汇编程序、调试程序和执行程序。
实验报告
1、程序说明。说明程序的功能、结构。
2、调试说明。包括上机调试的情况、上机调试步骤、调试所遇到的问题,并对调试过程中的问题进行说明,对执行结果进行分析。
3、写出源程序清单和执行结果。