功能:为L/臂命令指定特装入/写盘文件 注:其它形式参考DOS手册 12.端口输出命令0 格式:0<端口地址><字节> 功能:将该<字节>从指定(端口地址>输出。 例如:-02那4<nter> 将4阳从端口2F阳输出 *13.结束DEBUG返回D0S命令0 格式:Q 功能:返回DOS提示符下 *14.显示修改寄存器命令R 格式:R[<寄存器名>] 上式等价于 (1)R (2)R<寄存器名> 功能:()显示当前所有寄存器内容,状态标志及将要执行的下一指令的地址,代码及汇 编语句形式。其中对状态标志1AG以每位的形式显示,详见表5-1。 表5-1状态标志显示形式 标志位溢出OF方向D吓中断F符号SF零ZF铺助5奇偶P℉进位C下 状态有/无减/增开/关负/正零/非有/无偶/奇有/无 显示N/WN/UPEI/DIG/PL2R/zAC/ME/POY/C (②)显示指定寄存器内容 例如:-RA<Enter> -R F <Enter> 15.搜素指定内存命令S
功能: 为 L/W 命令指定待装入/写盘文件 注: 其它形式参考 DOS 手册 12. 端口输出命令 O 格式: O <端口地址> <字节> 功能:将该<字节>从指定<端口地址>输出。 例如:-O 2F 4F <Enter> 将 4FH 从端口 2FH 输出 * 13. 结束 DEBUG 返回 DOS 命令 Q 格式:Q 功能:返回 DOS 提示符下 * 14. 显示修改寄存器命令 R 格式: R [<寄存器名>] 上式等价于: (1) R (2) R <寄存器名> 功能: (1)显示当前所有寄存器内容,状态标志及将要执行的下一指令的地址,代码及汇 编语句形式。其中对状态标志 FLAG 以每位的形式显示,详见表 5-1。 表 5-1 状态标志显示形式 标志位 溢出 OF 方向 DF 中断 IF 符号 SF 零 ZF 辅助 AF 奇偶 PF 进位 CF 状 态 有/无 减/增 开/关 负/正 零/非 有/无 偶/奇 有/无 显 示 OV/NV DN/UP EI/DI NG/PL ZR/NZ AC/NA PE/PO CY/NC (2)显示指定寄存器内容 例如:-R AX <Enter> -R F <Enter> 15. 搜索指定内存命令 S
格式:S〈地址范围><表> 功能:在指定范围搜索表中内容,找到后显示表中元素所在地址 例如:-SCS:10011041 KEnter> 显示:04BA:0104 04BA:010D 表示在位移100H至110H间的上述两处有41H。又如: -SC3:100L1141“AB”E<Enter> 表示在当前代码段位移100至111H处寻找连续4个字节内容为41L、41H、42、0的 起始单元地址。 *16.执行并显示系统环境命令T 格式:T[=(地址>】[<条数] 功能:执行由指定地址起始的、由<条数>指定的若干条命令。其中<地址>的缺省值是当前 IP值,<条数>的缺省值是一条。 例如:-T<Enter>? 执行当前指令并显示状态 -T 10 <Enter> 从当前指令始执行10州条 指令 *17.反汇编命令U 格式:U[<地址>/<地址范围>】 上式等价于: ()U<地址> (2)U<地址范围> (3)U 功能:将指定范围内的代码以汇编语句形式显示,同时显示地址及代码。注意,反汇编时 定确认指令的起始地址后再作,否则将得不到正确结果。地址及范围的缺省值是上次 指令后下一地址的值。这样可以连续反汇编
格式: S <地址范围> <表> 功能:在指定范围搜索表中内容,找到后显示表中元素所在地址 例如:-S CS:100 110 41 <Enter> 显示:04BA:0104 04BA:010D 表示在位移 100H 至 110H 间的上述两处有 41H。又如: -S C3:100 L 11 41“AB”E <Enter> 表示在当前代码段位移 100H 至 111H 处寻找连续 4 个字节内容为 41H、41H、42H、0EH 的 起始单元地址。 * 16. 执行并显示系统环境命令 T 格式:T [=<地址>] [<条数>] 功能:执行由指定地址起始的、由<条数>指定的若干条命令。其中<地址>的缺省值是当前 IP 值,<条数>的缺省值是一条。 例如:-T <Enter> 执行当前指令并显示状态 -T 10 <Enter> 从当前指令始执行 10H 条 指令 * 17. 反汇编命令 U 格式:U [<地址>/<地址范围>] 上式等价于: (1) U <地址> (2) U <地址范围> (3) U 功能:将指定范围内的代码以汇编语句形式显示,同时显示地址及代码。注意,反汇编时 一定确认指令的起始地址后再作,否则将得不到正确结果。地址及范围的缺省值是上次 U 指令后下一地址的值。这样可以连续反汇编
*18.写盘命令7 格式:罪<地址>〈盘号>〈起始逻辑扇区><所写逻辑扇区数> 功能:与L命令不同的地方是将内存从<地址>起始的一片单元内容写入指定扇区。只有W 而没有参数时,与N命令配合使用将文件写盘。 注:要求读者对其中打"*”的EBUG命令必须能熟练使用。 第三节在DEBUG环境下执行汇编指令 本节从几个典型例子出发,通过上机实习,引导读者学会使用DBG调试程序运 行汇编语言程序,以便读者在以后的学习中能够有一个熟练的调试和运行手段。 在进入DBUG的提示符-'之后,用户可以通过DEBG的命令输入汇编源程序 并用相应命令将其汇编成机器语言程序:然后调试并运行该程序。 例1在DEBUG下运行如下程序。 MOV DL,33H :字符3的ASCII码送DL MOV AH,2 :使用D0S的2号功能调用 INT 21H :进入功能调用,输出3” INT 20H :BIOS中断服务程序,正常结束。 该程序运行结果是在显示器上输出一个字符‘3”。如果要输出其它字符,请改变 程序中‘33册'为相应字符的ASCI码。 运行步骤: (I)进入DEBG 设DEBUG.EXE位于C盘DOS子目录,进入DOS后键入DEBUG<Enter>,即 C:\DOS>DEBUG <Enter> 屏幕显示: -号是进入DEBG的提示符,在该提示符下可键入任意DEBG命令。现在用A命 令送程序如下
* 18. 写盘命令 W 格式:W <地址> <盘号> <起始逻辑扇区> <所写逻辑扇区数 n> 功能:与 L 命令不同的地方是将内存从<地址>起始的一片单元内容写入指定扇区。只有 W 而没有参数时,与 N 命令配合使用将文件写盘。 注:要求读者对其中打"*"的 DEBUG 命令必须能熟练使用。 第三节 在 DEBUG 环境下执行汇编指令 本节从几个典型例子出发,通过上机实习,引导读者学会使用 DEBUG 调试程序运 行汇编语言程序,以便读者在以后的学习中能够有一个熟练的调试和运行手段。 在进入 DEBUG 的提示符‘-’之后,用户可以通过 DEBUG 的命令输入汇编源程序, 并用相应命令将其汇编成机器语言程序;然后调试并运行该程序。 例 1 在 DEBUG 下运行如下程序。 MOV DL,33H ;字符 3 的 ASCII 码送 DL MOV AH,2 ;使用 DOS 的 2 号功能调用 INT 21H ;进入功能调用,输出‘3’ INT 20H ;BIOS 中断服务程序,正常结束。 该程序运行结果是在显示器上输出一个字符‘3’。如果要输出其它字符,请改变 程序中‘33H’为相应字符的 ASCII 码。 运行步骤: (1)进入 DEBUG 设 DEBUG.EXE 位于 C 盘 DOS 子目录,进入 DOS 后键入 DEBUG <Enter>,即 C:\DOS>DEBUG <Enter> 屏幕显示: - ‘-’号是进入 DEBUG 的提示符,在该提示符下可键入任意 DEBUG 命令。现在用 A 命 令送程序如下:
(②)送程序并汇编 -A 100 <Enter> 169C:0100 MOV DL,33 <Enter> 169C:0102 MOV AH,2 <Enter> 169C:0104 INT 21 <Enter> 169C:0106 INT 20 <Enter> 169C:0108<Enter> -(Enter> 至此程序己送完,汇编成机器指令,顺序存放于CS段100州起始的8个存储单元。 如果在汇编后想看一下机器指令是什么样子的话,方法之一是可以用反汇编命令 作如下操作: (3③)反汇 -U100108<Enter> 169C:0100B233 MOV DL,33 169C:0102B402 MOV AH,02 169C:0104CD21 INT 21 169C:0106CD20 INT 20 169C:0108 右边是汇编指令,中间是该汇编指令的机器码,左边是存放该条指令的内存单元地址 (4)运行程序 -G <Enter> 3
(2)送程序并汇编 -A 100 <Enter> 169C:0100 MOV DL,33 <Enter> 169C:0102 MOV AH,2 <Enter> 169C:0104 INT 21 <Enter> 169C:0106 INT 20 <Enter> 169C:0108 <Enter> - <Enter> 至此程序已送完,汇编成机器指令,顺序存放于 CS 段 100H 起始的 8 个存储单元。 如果在汇编后想看一下机器指令是什么样子的话,方法之一是可以用反汇编命令 U 作如下操作: (3)反汇 编 -U 100 108 <Enter> 169C:0100 B233 MOV DL,33 169C:0102 B402 MOV AH,02 169C:0104 CD21 INT 21 169C:0106 CD20 INT 20 169C:0108 - 右边是汇编指令,中间是该汇编指令的机器码,左边是存放该条指令的内存单元地址。 (4)运行程序 -G <Enter> 3