
汇编语言调试DEBUG命令详解.pdf
4页汇编语言调试 DEBUG命令详解1、显示命令 D ① D [ 地址 ] ② D [ 范围 ] 如不指定范围,一次显示 8 行× 16 个字节- D ;默认段寄存器为 DS,当前偏移地址- D DS:100 / - D CS:200 - D 200:100 - D 200; 200 为偏移地址,默认段寄存器 DS - D DS:100 110/ - D 100 L 10 2. 修改命令 E ① E 地址 ;从指定地址开始,修改(或连续修改)存储单元内容DEBUG首先显示指定单元内容, 如要修改, 可输入新数据; 空格键显示下一个单元内容并可修改,减号键显示上一个单元内容并可修改;如不修改,可直接按空格键或减号键;回车键结束命令② E 地址 数据表;从指定的地址开始用数据表给定的数据修改存储单元- E DS:100 F3 ‘ AB’ 8D3. 添充命令 F F 范围 数据表;将数据表写入指定范围的存储单元;数据个数多,忽略多出的数据,个数少,则重复使用数据表- F DS:0 L5 01,02,03,04,05 - F DS:0 L5 01 02 03 04 05 (空格分隔)- F DS:0 L5 FF ; 5 个字节重复使用 FF 4. 显示修改寄存器命令 R R ;★显示所有寄存器和标志位状态;★显示当前 CS: IP 指向的指令。
显示标志时使用的符号:标志 标志 =1 标志 =0 OF OV NV DF DN UP IF EI DI SF NG PL ZF ZR NZ AF AC NA PF PE PO CF CY NC 5. 汇编命令 A A [ 地址 ] ;从指定的地址开始输入符号指令;如省略地址,则接着上一个 A 命令的最后一个单元开始; 若第一次使用 A命令省略地址, 则从当前 CS:IP开始(通常是 CS: 100) 。
注释 : ①在 DEBUG下编写简单程序即使用 A命令②每条指令后要按回车③不输入指令按回车,或按 Ctrl+C 结束汇编④支持所有 8086 符号硬指令,伪指令只支持 DB、 DW,不支持各类符号名6. 反汇编命令 U ① U [ 地址 ] ;从指定地址开始反汇编 32 个字节的机器指令;省略地址时 , 则接着上一个 U命令的最后一个单元开始;若第一次使用 U命令省略地址,则从当前 CS:IP 开始(通常是 CS: 100) ② U 范围;对指定范围的单元进行反汇编- U - U100 - U100L10 7. 运行程序命令 G ① G;从 CS:IP 指向的指令开始执行程序,直到程序结束或遇到 INT 3② G=地址;从指定地址开始执行程序,直到程序结束或遇到 INT 3 ③ G 断点 1[ , 断点 2, …断点 10] ; 从 CS:IP 指向的指令开始执行程序,直到遇到断点④ G=地址 断点 1[ ,断点 2,…断点 10] - G ;从 CS:IP 指向的指令开始执行程序- G=100 ;从指定地址开始执行程序- G=100 105 110 120 8. 跟踪命令(单步执行命令) T ① T ;从当前 IP 开始执行一条指令。
② T 数值;从当前 IP 开始执行多条指令② T = 地址;③ T = 地址 数值;- T - T5 / - T=100 5 9. 跟踪执行并跳过子程序命令 P P [= 地址 ] [ 数值 ] ;类似 T 命令,但跳过子程序和中断服务程序10. 退出 DEBUG命令 Q Q ;返回 DOS环境- Q 11. 命名命令 N N 文件标示符;指定文件,以便用 W命令在磁盘上生成该文件,或者用L 命令从磁盘装入该文件- N MY_PRO.COM 写盘:在当前盘当前目录生成指定文件读盘:在当前盘当前目录读取指定文件- N A:\ USER \ MY_PRO.COM 12. 装入命令 L ① L [ 地址 ] ;装入 N命令指定的文件,默认的内存地址为 CS: 100- N MY_PRO.COM - L ② L 地址 驱动器号 扇区号 扇区数; 将某驱动器的若干扇区 (最多 80H个)装入内存;0=A , 1=B, 2=C……;默认的段地址为 CS- L DS:200 2 0 1 13. 写盘命令 W ① W [ 地址 ] ; 将指定地址开始的内存数据写入磁盘, 生成 N 命令指定的文件;默认的内存地址为CS:100;写盘的字节数由 BX(高位字 ) 和 CX(低位字 ) 决定,可执行程序写盘时,文件扩展名应指定 .COM。
- N MY_PRO.COM - W ② W 地址 驱动器号 扇区号 扇区数;将内存数据写入磁盘的若干扇区(最多 80H) ;默认的段地址为 CS- W DS:0 2 0 1 注释:写磁盘扇区要慎用14. 其他命令( 1)比较命令 C C 范围 地址;将指定范围内的内容与以指定地址为起点的内容相比较 2) 16 进制数计算命令 H H 数 1,数 2( H 数 1 数 2) ;同时计算两个数字的和与差 3)查找命令 S S 范围 数据;在指定范围内查找指定数据 4)输入命令 I I 端口地址;输入一个字节并显示 5)输出命令 O O 端口地址 字节数据;输出到指定的端口 6)传送命令 M M 范围 地址;将指定范围的内容传送到以指定地址为起点的存储单元寻址方式 操作数地址 (PA) 指令格式举例立即寻址 操作数由指令给出 MOV DX, 100H ;(DX) ← 100H寄 存 器 寻址 操作数在寄存器中 ADD AX, BX ;(AX) ← (AX)+(BX)直接寻址 操作数的有效地址由指令直接给出 MOV AX, [100] ;(AX) ← (100)MOV AX,V AR ;(AX) ← (VAR)寄 存 器 间接寻址PA=(DS) × 16+(BX) 或 (SI) 或 (DI)PA=(SS) × 16+(BP) MOV AX, [BX] ; (AX) ← ((DS) ×16+(BX)) 寄 存 器 相对寻址PA=(DS) × 16+(BX) 或 (SI) 或 (DI)+ 位 移 量PA=(SS) × 16+(BP)+位移量MOV AL, MESS[SI] ;(AL) ← ((DS) ×16+(SI)+OFFS ET MESS) 基 址 变 址寻址PA=(DS) × 16+(BX)+(SI) 或 (DI) PA=(SS) ×16+(BP) +(SI) 或 (DI) MOV AX, [BX+DI] ;(AX) ← ((DS) ×16+(BX)+(DI)) 相 对 基 址变址寻址PA=(DS) × 16+(BX)+(SI) 或 (DI)+ 位 移 量PA=(SS) × 16+(BP) +(SI) 或 (DI)+ 位移量MOV AX, BUFF(BX+DI) ;(AX) ← ((DS)× 16+(BX)+(DI)+OFFSET BUFF)。
