实验1 DEBUG的使用
1、实验目的
掌握DEBUG常用命令的使用;熟悉8086CPU内部有多少寄存器;掌握访问段式存储器结构地址的表示方法。
2、实验内容
将数据段中的两个数求和,结果保存在数据段中。源程序、机器语言程序如下:
CS:0100 Al 00 00 MOV AX,[0000]
CS:0103 03 06 02 00 ADD AX,[0002]
CS;0107 A3 04 00 MOV [0004],AX
CS:010A CB RETF
数据段内容如下:
DS:0000 2301 2500 ;两个已知数
3、实验步骤
(1)用E命令键人上述机器语言程序和数据段的初值。
—E DS:000 2301 2500
—E DS:006 2A 2A 2A (2A为*标记,是为便于查看数据段内容而设置)
—E CS:100 A1 00 00 03 06 02 00
—E CS:107 A3 04 00 CB
(2)用D命令检查数据段、代码段内容。
—D DS:0
—D CS:100
(3)用T命令逐条执行上述程序,注意观察每条指令执行后相应寄存器的变化。
(4)用U命令反汇编本程序。
—U 100 10A
(5)用R命令修改IP的内容为0100重新执行上述程序。
—R IP
显示:IP 010A
:0100
(6)用G命令运行程序。
—G =CS:0100 107
观察:IP=AX=
—G =CS:0100 10A
观察:IP=AX=
4、实验思考题
(1)用A命令输入源程序:
CS:0100 MOV AX,FFFF
STC
0104 MOV DS,AX
MOV BX,DS
MOV ES,BX
MOV CX,ES
MOV SS,CX
MOV DX,SS
MOV SP,DX
MOV BP,SP
MOV SI,BP
MOV DI,SI
JNB 012l
XOR AX,DI
JNZ 0125
CLC
JMP 0104
0121 OR AX,DI
JZ0100
0125 HLT
(2)用T命令单步执行上述程序。观察结果,并注意标志寄存器的变化。
1