实验一 Debug的使用以及简单指令
一、实验目的
1、学会使用Debug,以及Debug的一些简单命令。
2、通过使用Debug领会指令系统中的指令以及数据在内存中的存放方法。 3、通过使用Debug领会指令的寻址方式。 二、实验内容
1、学会使用debug的汇编命令A,反汇编命令U,显示、修改寄存器命令R,显示存储单元命令D,跟踪命令T。
2、领会MOV和XCHG指令。
3、领会使用ADD指令计算结果对标志位的影响。
4、领会直接寻址方式、寄存器间接/相对寻址方式,基址变址寻址方式以及相对基址变址寻址方式。 三、实验步骤
1、使用Debug领会MOV和XCHG指令
1)用A命令键入下列内容: MOV AX,1234 MOV BX,5678 XCHG AX,BX MOV AH,35 MOV AL,48 XCHG AH,AL
2)用U命令检查键入的程序并记录,特别注意左边的机器码。
3)用T命令逐条运行这些指令,每运行一行检查并记录有关寄存器及IP的变化情况。 2、使用Debug领会ADD指令计算结果对状态标志位的影响
1)用A命令键入下列内容: MOV AX,AF7C MOV BX,BEE7 ADD AX,BX
2)用U命令检查键入的程序并记录,特别注意左边的机器码。
3)用T命令逐条运行这些指令,检查并记录有关寄存器及计算完成后标志寄存器各个标志位的取值,和预期的结果相比较。
3、使用Debug领会8086系统的几种寻址方式
1)直接寻址方式:
①用A命令键入下列内容:
MOV AX,1234 MOV [1000],AX
②用T命令逐条运行这些指令,并用D命令检查并记录有关内存单元的内容 2)寄存器间接/相对寻址方式 ①用A命令键入下列内容:
MOV BX,1002
MOV BYTE PTR[BX],20 MOV DL,39 INC BX
MOV [BX+2],DL
②用T命令逐条运行这些指令,并用D命令检查并记录有关内存单元的内容 3)相对/基址变址寻址方式 ①用A命令键入下列内容:
MOV DL,59 DEC DL MOV BP,1005 MOV SI,3
MOV [BP+SI],DL
MOV WORD PTR[BX+SI+2],0225
②用T命令逐条运行这些指令,并用D命令检查并记录有关内存单元的内容
四、实验要求:
1、在实验报告上记录实验结果。 2、对实验结果进行分析
[附录] Debug的使用方法及常用命令
1、Debug的进入:在DOS环境C提示符下键入Debug,进入 DEBUG,显示提示苻 '_ '。 2、Debug的常用命令: ①汇编命令A
功能:将输入的源程序指令汇编成目标代码并从指定地址单元开始存放. 格式:A[address]
②反汇编命令U
功能:将内存某一区域的机器码(目标码),用此命令反汇编为源程序。 格式:U 、U[address] 、U range
③单步命令T
功能:执行以CS:IP(或者 =address的规定地址)中指令开始的一个或几个指令,并显示出执行每条指令后所有寄存器的内容。
格式:T[=address][Value] ④显示命令D
功能:显示部分存储区的内容。 格式:D [address]或 D [range]
⑤执行命令G
功能:执行需运行的程序,并对调试的程序进行断点测试跟踪。
格式:G [=address] [address[address···]] ⑥寄存器命令R
功能:显示和修改各寄存器的内容
格式:R [Register name] ⑦退出命令Q
功能:退出Debug
3、标志寄存器各个标志位的显示及涵义
标志位 OF DF IF SF ZF AF PF CF 为1 为0 OV DN EI NG ZR AC PE CY NV UP DI PL NZ NA PO NC