8086汇编 Debug 使用

8086汇编 Debug 使用

Debug是DOS系统中的著名的调试程序,也可以运行在windows系统实模式下。

使用Debug程序,可以查看CPU各种寄存器中的内容、内存的情况,并且在机器指令级跟踪程序的运行。

常用指令:

  • 用R命令查看、改变CPU寄存器的内容
  • 用D命令查看内存中的内容
  • 用E命令改变内存中的内容
  • 用U命令将内存中的机器指令翻译成汇编指令
  • 用A命令以汇编指令的格式在内存中写入机器指令
  • 用T命令执行机器指令
  • 用P命令逐条执行指令、显示结果。但遇子程序、中断等时,直接执行,然后显示结果。
  • 用G命令从指定地址处开始运行程序,直到遇到断点或者程序正常结束。

使用

一、启动Debug

1、在DOS提示符下输入命令:> debug

二、使用Debug

使用方式一、通过debug执行程序:> debug 程序名称.exe

使用方式二、通过debug直接操作当前内存:> debug

1、用R命令查看、改变CPU寄存器的内容

a、R - 查看寄存器内容

1) -r

b、R 寄存器名 - 改变指定寄存器内容

// 指定要修改的寄存器名、也可写为-r寄存器名
// 格式:-r 寄存器名
1) -r ax
// 修改寄存器值、16进制存储
2) :1234

2、用D命令查看内存中的内容

a、D - 列出预设地址内存处的128个字节的内容

1) -d
// 073F(段地址):0100(偏移地址)    00(值)    ....(ASCLL码)
073F:0100 00 00 00 00 00 00..

b、D 段地址:偏移地址 - 列出内存中指定地址处的内容

// 指定查看内存地址的值
// 格式:-d 段地址:偏移地址
1) -d 2000:0000

c、D 段地址:偏移地址 结尾偏移地址 - 列出内存中指定地址范围内的内容

// 指定查看内存地址、根据偏移量查看范围
// 格式:-d 段地址:偏移地址 偏移量地址
1) -d 2000:0 2f

3、用E命令改变内存中的内容

a、E 段地址:偏移地址 数据1 数据2 ...

// 修改内存地址对应值
// -e 段地址:偏移地址 值 值 值 值 值 、值为16进制
1) -e 2000:0000 12 34 56 AB 3F F3

b、E 段地址:偏移地址

复制代码
; 逐个询问式修改
; 空格 - 接受,继续
; 回车 - 结束
// 修改内存地址对应值 // -e 段地址:偏移地址 1) -e 2000:0000 // 段地址:偏移地址 源值.修改值 源值.修改值 源值.修改值 2) 2000:0000 12.61 34 41 56.62
复制代码

4、用U命令将内存中的机器指令翻译成汇编指令

a、u 地址 - 查看代码

// 查看内存对应机器码转换为汇编
// 格式:-u 段地址:偏移地址
1) -u 2000:0

b、案例使用

对应的机器码为:

B8 23 01
BB 03 00
89 D8
01 D8

汇编指令:

mov ax, 0123H
mov bx, 0003H
mov ax, bx
add ax, bx

1)通过E命令添加内存机器码

 2)查看内存数据

 3)通过U查看机器码转换汇编代码

5、用A命令以汇编指令的格式在内存中写入机器指令

a、a 地址 - 写入汇编指令

// 指定内存地址写入汇编指令、073F为CS代码段的寄存器
// 格式:-u 段地址:偏移地址
1)-u 073F:100
// 格式:段地址:偏移地址 汇编指令
2)073F:0100 mov ax, 0123

b、案例使用

有汇编指令:

mov ax, 0123H
mov bx, 0003H
mov ax, bx
add ax, bx

对应的机器码为:

B8 23 01
BB 03 00
89 D8
01 D8

1)A写入汇编语言

2)D查看内存值 对应机器码

3)U查看输入的汇编指令

6、用T命令执行机器指令

注:P、G 与 T 指令类似 根据场景进行操作。

a、t - 执行CS:IP处的指令

// 执行CS:IP 代码
1)-t

b、案例使用

1)r查看当前寄存器情况、当前存储指令为 073F:0100 B82301 MOV AX,0123

2)t执行指令、MOV AX,0123

3)t执行指令 MOV BX,0003

4)t执行指令 MOV AX,BX、验证AX发生变化

7、用Q命令退出Debug

a、q - 退出Debug

// 对出Debug
1)-q
posted @ 2020-03-14 20:38  星火撩原  阅读(407)  评论(0编辑  收藏  举报