08f8:011c
(先用伪指令DB,输入要传送的源操作数;然后输入数据块传送程序。程序输入完后,最后一行不输入内容,直接按回车,使返回DEBUG。)
3.显示存储单元内容命令d 格式:–d [地址]
或
–d [范围]
功能:从指定起始地址开始 或 按指定地址范围 或 从当
前地址开始(未指定地址或范围时) 显示存储单元的内容。左边用十六进制数表示每个字节,右边用ASCII字符表示每个字节。若不指定段地址,则缺省为DS段。
例:–d 100
10H
个数为前面程序的源数据。)
4. 执行程序命令g
格式:–g[=地址1][地址2][...]
a) 功能:执行程序。地址1 指定了执行程序的起始地址,如未指定,
则从当前CS:IP开始执行。后面的地址均为断点地址,当指令执行到断点时,就停止执行并显示当前所有寄存器内容及标志位状态,和下一条要执行的指令。控制程序由当前IP处运行,直至指定的断点IP=0123H处,程序暂停,显示各个寄存器的当前值及断点处指令,然后返回DEBUG提示符“-”下。如对TEST.EXE,若想观察字符串显示的入口参数是否设置好,则可以断点运行至000A处:
断点一般选取在需要观察的地方,当程序停下来后,可以根据各方面的情况(如寄存器、缓冲区、标志等)来判断程序是否运行正确。 5. 改写存储单元内容命令E 格式:–e 地址
功能:从指定地址开始,逐个单元显示∕改写内容。具体步骤
为:先显示当前单元内容,若要改写则键入新数字,再按“空格”键可接着显示下一个单元的内容。这样,可不断改写相继单元内容,直到用“回车”键结束该命令。
例: –e 100
****:0100 00.f 01.e 02.d 03.c 04.b 05.a 06.9 07.8
(改写DS:100H单元开始的,即源数据区的
****:0108 08.7 09.6 0A.5 0B.4 0C.3 0D.2 0E.1 ? 0F.0
6. 反汇编命令u 格式:–u [地址]
–u [范围]
(再执行一遍程序程序。)
(显示从DS:300H单元开始,即目标数据区的
功能:从指定地址开始 或 在指定地址范围内 或 从当前CS:IP
开始(未指定地址或范围时)进行反汇编。
7. 跟踪命令t
格式一:–t[=地址]
格式二:–t[=地址][N]
8. 命名文件名命令n 格式:–n 盘文件名
功能: 指定欲读写的盘文件的文件名。 例:–n aaa
(在当前盘当前目录下指定盘文件名
9. 存盘命令w
格式:–w 起始地址
功能: 将指定长度和起始地址的信息存入指定的盘文件中。 例:-r cx
:001c
-w 0100
用来将被调试程序重新装载进内存中,一般用于程序运行结束后需继续调试程序时,或需从头开始调试程序时。如对TEST.EXE:
11、退出DEBUG命令q 格式:–q
第三部分 汇编实验 汇编实验一
1-1. 从3500H内存单元开始建立0~15共16个数据(建立的数据为00H,01H~09H.0AH~0FH)。并运行之,检查记录结果。
DATAS SEGMENT ORG 3500H
MEM1 DB 16 DUP(?);此处输入数据段代码 DATAS ENDS
STACKS SEGMENT ;此处输入堆栈段代码 STACKS ENDS
CODES SEGMENT
功能:退出DEBUG,返回DOS。