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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM