點開dosboxan安裝資料夾裡的圖中檔案,在檔案末尾加入如下**
mount c c:\dos ; 掛載驅動器
path=%path%; \masm ; 新增路徑
c: ; 轉到e盤
cd \asm ; 進入asm資料夾
執行dosbox,介面如下
總的來說除錯有以下幾類
r命令檢視、改變cpu暫存器的內容;
d命令檢視記憶體中的內容;
e命令改寫記憶體中的內容;
u命令將記憶體中的機器指令翻譯成彙編指令;
t命令執行一條機器指令;
g命令跳轉到偏移位址;
p命令結束迴圈或者是int 21h時是退出程式;
a命令是以彙編指令的格式在記憶體中寫入一條機器指令。
以以下程式為例
例,將記憶體 ffff:0 ~ ffff:b 段元中的資料拷貝到 0:400 ~ 0:40b 單元中
assume cs:code
code segment
mov bx,0
mov cx,12
s: mov ax,0ffffh
mov ds,ax
mov dl,[bx]
mov ax,0040h
mov ds,ax
mov [bx],dl
inc bx
loop s
mov ax,4ch
int 21h
code ends
end
在dosbox裡依次輸入masm test.asm,回車
然後debug test1.exe除錯
1.輸入-d [位址] 或-d [範圍]檢視記憶體單元的內容
如下圖就可以看到ds段暫存器中的值
2.用-e 位址 內容表修改暫存器中的內容
3.用-r顯示cpu內部所有暫存器的內容和標誌位狀態
-t可單步執行指令
4.可用-g [=位址1][位址2[位址3。。。 ]]設定斷點執行程式,其中位址1規定了執行起始位址,後面若干位址為斷點位址
5.-a [位址]
從指定的位址開始允許輸入彙編語句,把它們彙編成機器**相繼存放在從指定位址開始的儲存器中。
如何在DEV C 裡嵌入彙編
呵呵,這方面的資料很多,但是東是東一鱗西一爪的。這篇也算我自己的乙個小總結吧!在dev c 裡使用內聯彙編的格式不同於vc的,這一點需要注意 vc裡採用的是intel的格式,而dev c 採用的是at a的彙編格式。如下例 include int main 這個可以在vc下編譯通過,但用dev c ...
如何在開發專案裡進行自我激勵!
不少程式設計師都說 程式設計工作 軟體開發 專案測試 等等之類的工作很無聊,很苦逼,做著做著就覺得沒勁了。所以有人就針對這樣的現象發問 如何在開發專案裡進行自我激勵?消極的心態和低迷的態度是不可能創造出優秀的軟體產品的。所以文章裡收集了各位出謀劃策的主要內容,希望這些錦囊妙計對正在工作當中苦惱的你有...
如何在django裡上傳csv檔案並進行入庫處理
運維平台匯入資料這一功能實在是太重要了,我敢說在沒有建自己的cmdb平台前,大多數公司管理伺服器資訊肯定是 用 最麻煩的就是有點更新就得每個人發乙份,這樣大家資訊才能統一,很不方便,終於有一天受不了了,搞了乙個伺服器資訊管理平台,那面臨的第乙個問題不是說功能好或不不好,而是怎麼才能把表裡的資料匯入到...