文档介绍:汇编语言上机过程(自学)
附加1 用DEBUG验证程序段
通常汇编教学中,汇编程序结构会在指令系统后面讲,学生在学习指令系统时由于没有讲汇编程序结构而无法编写汇编程序来加深对汇编指令的理解,因此,在这里我们通过2个例子,介绍使用DEBUG调试工具编写程序段来学习汇编指令。
有关DEBUG的常用命令的用法请参看《现代微机原理与接口技术》
题目:非压缩BCD码的减法运算,做68-9
mov ax, 0608h
mov bl, 09h
sub al, bl
aas
运行debug
首先用A命令输入程序
Debug中只使用16进制数,且无需加H后缀
直接用回车退出汇编编辑状态
使用T命令跟踪执行
第一个T命令要带上程序首地址
后面的T命令无需地址
标志位
当前指令执行后的各寄存器的结果
这是还未执行的下一条指令的反汇编
这是还未执行的下一条指令的地址和指令码
调试完后用Q命令退出DEBUG。
DEBUG命令参见教材2附录D。下面给出DEBUG中标志位状态符号的含义。
标志
为1时
为0时
溢出OF
方向DF
中断IF
符号SF
零位ZF
辅助AF
奇偶PF
进位CF
OV
DN
EI
NG
ZR
AC
PE
CY
NV
UP
DI
PL
NZ
NA
PO
NC
再举一个有访存操作的例子
MOV SI, 0050H ; (DS)=2000H
MOV DI, 0100H ; (ES)=3000H
MOV CX, 5
CLD
REP MOVSB
1)先用A命令输入程序
2)用R命令修改DS和ES寄存器到约定值
DS的原始值
输入的修改值
3)用D命令查看源数据区和目标数据区
4)用E命令初始化源数据区后再用D命令检查源数据区和目的数据区
5)单步跟踪执行程序