收藏 分享(赏)

DEBUG命令 汇编.doc

上传人:hyngb9260 文档编号:6784110 上传时间:2019-04-22 格式:DOC 页数:9 大小:49KB
下载 相关 举报
DEBUG命令 汇编.doc_第1页
第1页 / 共9页
DEBUG命令 汇编.doc_第2页
第2页 / 共9页
DEBUG命令 汇编.doc_第3页
第3页 / 共9页
DEBUG命令 汇编.doc_第4页
第4页 / 共9页
DEBUG命令 汇编.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、DEBUG 命令1进入 DEBUGDEBUG 是要调试的可执行文件,*.EXE 或 *.COMDEBUG mypgrm.exe进入时也可以不给出文件名,由 N 命令和 L 命令来装入。2DEBUG 命令格式每个命令都是单个字母,后面跟一个或多个参数。几点说明: 不区分字母的大小写。 使用 16 进制数,且不带后缀 H。 以空格或逗号作为命令各项之间的分隔符。 可以用 Ctrl+C 或 Ctrl+Break 来终止命令的执行。 若输入的命令有语法错误,则用“Error”提示,并用“”指出位置。3DEBUG 命令的参数关于: : 段寄存器或数值, 数值。与数据有关的命令 D、E 、C、和 F 等,

2、缺省的段地址为 DS 的值,与代码有关的命令 A、U、T、和 P 等,缺省的段地址为 CS 的值。1000:2000 ;段地址为 1000H,偏移地址为 2000HDS:100 ;段地址为 DS 的值,偏移地址为 100H100 ;段地址为所在命令的缺省值(CS、DS) ,偏移地址为100H关于:用来表示内存的一个区域。 L 1000:2000 2010 ;1000:2000 L 11 ;从 2000H 到 2010 的区间。4DEBUG 命令在 DEBUG 提示符“ ”下,使用帮助命令“?” ,可以显示命令列表。常用的命令有 U、D、E、R、F 、G、T、P 、Q 。 内存显示命令 D(Du

3、mp)格式: D D D 1000:2000D 200D CS:200功能:显示内存里的内容 (举例) 内存修改命令 E(Enter)格式: E 功能:键入命令后,显示指定地址及相应内存单元的值,等待修改。可以采取以下操作: 输入一个新的数值 键入空格,跳到下一个地址单元。 键入,返回到上一个地址单元。 输入回车键,结束 E 命令。E 100 (举例) E 是以空格或逗号分隔的 16 进制字节或字符串,将其写入命令中指定的连续内存单元里。E 100 01,05,ABCE 200 9876543210 寄存器命令 R(Register)用来显示和修改寄存器的值,有二种格式: R显示所有寄存器和标

4、志位的值,并反汇编 CS:IP 所指的指令。 R 功能:显示指定寄存器的值,并等待用户输入新的值,按回车结束 R 命令。只能是 8086 的寄存器:AX、BX、CX 、DX、SP、BP、SI、DI 、DS、ES、SS 、CS 、IP 、F (标志寄存器) ,8 个标志位(教材 P10)的值以符号显示,见下表:标志位 取值(0/1)OF (overflow flag) NV/OVDF (direction flag) UP/DNIF (interrupt enable flag) DI/EISF (sign flag) PL/NGZF (zero flag) NZ/ZRAF (auxiliary

5、 carry flag) NA/ACPF (parity flag) PO/PECF (carry flag) NC/CY 汇编命令 A (Assemble)格式:A 功能:从指定的地址开始输入汇编格式的程序。注意: 不能使用符号地址。 数值地址必须放在方括号 里。MOV AX, 6 ;立即数送 AXMOV AX, 6 ;内存单元的值送 AX(举例) 反汇编命令 U (Unassemble)有二种格式: U U 显示内容为: 内存地址、机器代码、汇编指令功能:把二进制代码反汇编为符号指令,便于阅读。 (举例) 运行命令 G (Go)格式:G = 功能:=给出程序执行的起始地址,断点不超过 10

6、 个,也可以不指定,从指定地址开始执行程序,直到程序结束,显示“Program terminated normally”,或遇到断点时停止执行,显示所有寄存器和标志位的当前值,以及下一条要执行的指令。 断点的次序是任意的,多个断点的设置,可以知道程序执行的情况。 DEBUG 用 INT 3 取代断点处的指令操作码。当程序执行到某断点地址时,立即停止,然后恢复所有断点处的指令,并取消全部断点,返回 DEBUG。要想再次执行断点方式,再次输入 G 命令。 跟踪命令 T (Trace)格式:T = 功能:=给出程序执行的起始地址,从指定的地址开始单步执行程序,执行的指令数由 决定。每执行一条指令后,

7、都要显示所有寄存器和标志位的值以及下一条指令。 若未指定地址,缺省为 CS:IP。若只给出偏移地址,则以 CS 的当前值为段地址。 若未给出,则缺省为 1,每次执行一条指令。 遇到 CALL 或 INT n,则会跟踪进入相应过程和中断服务程序的内部,对于带重复前缀(REP)的指令,每执行一次算一步。 继续命令 P (Proceed) 格式:P = 功能:类似于 T 命令,但把 CALL、INT n 或 REP 当作一步,不会进入相应过程或中断程序内部。 退出命令 Q (Quit)格式:Q功能:退出 DEBUG。 内存比较命令 C (Compare)格式:C 功能:比较两个内存块的每个字节,如相

8、同,则不显示;不同,则显示它们的地址和值。 给出第一个内存块, 表示第二个内存块的起始地址。 内存填充命令 F (Fill)格式:F 功能:把字节表的内容写入到指定的地址范围。F 100 120 ABCF 100 L 40 0 内存传送命令 M (Move)格式:M 功能:把指定的内容传送到以 开始的内存区 搜索命令 S (Search)格式:S 功能:在指定的区间搜索 指定的字符串。 16 进制数计算命令 H (Hex)格式:H 功能:计算两个 16 进制与 的和与差。 文件命名命令 N (Name)格式:N 功能:给当前的程序起名,以便后面用 L 命令装入或 W 命令存盘。 装入命令 L

9、(Load)格式:L功能:把 N 命令指定的文件,装入内存。 写盘命令 W (Write)格式:W 功能:把指定开始的,由 BX:CX 确定的字节,写入到已由 N 命令命名的文件中。缺省 为 CS:0100H。注意:写入前,要正确设置 BX:CX 的值。 端口输入命令 I (Input)格式:I 功能:从指定的端口地址读入一个字节并显示。 端口输出命令 O (Output)格式:O 功能:把一个字节输出到指定的端口。DEBUG 命令摘要命 令 格 式 说 明A 从指定地址开始汇编C 比较两个内存块的值D 显示内存里的内容E 修改内存里的内容F 把字节表的内容写入到指定的地址范围G = 从指定地址开始执行程序,直到程序结束或遇到断点时停止执行H 计算两个 16 进制与 的和与差I 从指定的端口地址读入一个字节并显示L 把 N 命令指定的文件,装入内存M 把一个内存块的内容传送到另一个内存区N 给当前的程序起名,以便进行读写O 把一个字节输出到指定的端口P = 从指定的地址开始执行一条或多条指令,但不会进入相应过程或中断程序内部。Q 退出 DEBUGR 用来显示和修改寄存器的值S 在指定的区间搜索 指定的字符串T = 从指定的地址开始单步执行程序,执行的指令数由决定U 把二进制代码反汇编为符号指令,便于阅读W 把指定开始的,由 BX:CX 确定的字节,写入到已由 N 命令命名的文件中

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报