匯編語言開發除錯的步驟如下
1.EDIT,撰寫匯編程式代碼,生成.asm檔案
2.MASM,匯編程式,將.asm檔案編譯成二進制代碼,生成.obj檔案
3.LINK,鏈接程式,將.obj鏈接成為可執行檔案,生成.exe檔案
4.DEBUG,除錯程式
學習前我們先準備環境,工具下載地址如下:
https://download.csdn.net/download/shanghaichongmin/67356237
使用工具,先解壓,不用位數的計算機開啟方法不一樣
32位:dos路徑切換到DOSBox\masm,然后就可以使用里面的工具
64位:因為工具是32位的,所以會提示不兼容,不能直接使用,雙擊運行DOSBox.exe,會出現一個模擬32位的命令提示符對話框,然后將MASM.EXE的絕對路徑掛載到C:
mount C: [MASM.EXE的絕對路徑]
例如:mount C: D:/masm,然后進入C:

如果覺得每次掛載太麻煩,雙擊DOSBox 0.74 Options.bat
在自動打開的txt檔案最后面添加上面的陳述句,如下:

我們寫一個簡單的程式,計算2^10
//1.asm
assume cs:code
code segment
mov ax,2
mov cx,10
s: add ax,ax
loop s
mov ax,4c00h
int 21h
code ends
end
代碼匯編

代碼鏈接

代碼除錯

在除錯代碼頁面,支持如下引數
查看暫存器值:r
修改暫存器值:r [暫存器名]
查看記憶體值:d [記憶體位置] ,如果不填記憶體位置,會顯示前一次顯示的后一塊
修改記憶體值:e [記憶體位置]
查看匯編指令:u [記憶體位置] ,如果不填記憶體位置,會顯示前一次顯示的后一塊
寫入匯編指令:a [記憶體位置]
執行一條指令:t
下面就是具體使用的例子
mov ax,2
mov cx,11
上面指令執行后,AX、CX的值賦值成功

s: add ax,ax
loop s
上面的指令執行后,我們可以見到
1.AX在翻倍,說明計算正常
2.CX在遞減1,說明回圈計數生效
3.IP在0008的時候會重新變為0006,說明回圈正常

可以看到記憶體中指令

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/387858.html
標籤:其他
下一篇:微信小程式day01
