
1.2 DEBUG的主要命令使用
DEBUG主要命令介绍如下:
(1)在图1-3的基础上,即在DEBUG提示符后输入字母“-a100”,按【Enter】键就会出现如图1-4所示的内容。

图1-4 输入“-a100”命令后的结果
-a100
13C2:0100
其中,13C2:0100表示此时代码段的段地址为13C2,偏移地址为0100,不同的计算机所产生的段地址可能有所不同。
这表示在地址13C2:0100处,DEBUG等待用户输入程序助记符,下面输入程序:

(2)在DEBUG的提示符后输入g,这是执行程序的命令,然后按[Enter]键,就可以看到如图1-5所示的结果。


图1-5 输入命令g后的执行结果
(3)用“d”命令查看内存单元当前段中0100H~010fH的内容,如图1-6所示。
-d100,10f
13C2:0100 B2 01 B4 02 CD 21 CD 20- 00 00 00 00 00 00 00 00 ……!………
在0100H~0107H这8个单元内,为上述4条指令的机器码。例如,B201为movdl,1指令的机器码。右边的区域是组成程序的ASCII码等价字符,圆点表示不可显示字符。
(4)下面用反汇编命令来查看一下所输入的程序。“u”命令的格式是“u起始地址,终止地址”,即把起始地址到终止地址之间的十六进制码反汇编成汇编语言助记符语句。输入:

执行“u”命令后的结果如图1-7所示。

图1-6 执行d命令

图1-7 执行“u”命令后的结果
此时,不仅可看到地址和助记符,还可以看到与汇编语言等价的机器语言。
(5)现在修改存储单元0101H的内容,查看显示情况有何变化,如图1-8所示。


图1-8 查看存储单元内容
执行程序后显示的结果发生了变化,这是因为DOS的2号功能(显示输出)调用是在屏幕上显示dl中保存的ASCII码所对应的字符,这部分内容请参看配套主教材附录B。
(6)将程序命名为abc.com,并存盘。在debug的n命令后紧接着输入文件名及扩展名,如图1-9所示。

因为文件的字节数必须事先放在BX和CX中,其中BX保存高16位,CX保存低16位,整个32位保存文件的字节数。一般来说,BX设置为0,因为CX可存放的字节数为64KB,对于一般的程序已足够。

图1-9 保存文件
(7)用q命令退出DEBUG程序,如图1-10所示。

图1-10 退出DEBUG程序