匯編語言debug的使用方法
進入Windows操作係統,輸入cmd回車輸入debug 回車,這樣就進入了 debug模式
1: 輸入 -r 查看或者修改寄存器,可以修改CS IP來指向要執行匯編的內存地址
-r 回車 查看
-r ax 回車 修改 ax的值
-r cs 回車 修改 cs的值
-r ip 回車 修改 ip的值
2: 輸入-D 查看內存中的信息
-d 1000:0000 查看段地址為1000H ,偏移地址為0開始的內存信息
-d 1000:0000 00ff 就是查看 1000:0000 到1000:00ff的內存信息
查看主板生產日期
-d fff0:0000 00ff 可以看到右下角的 08/14/08 格式月/日/年, 08年8月14號生產的主板
這裏的生產日期是隻讀的,無法修改,通過-e修改表麵上看是改過了,下次打開後又恢複之前數據了
如果直接用 -d 0100 則會顯示 DS:0100處的內存信息,也就是顯示段地址為ds,便宜地址為0100的內存信息。
-d ds:0100 也可以這麼使用
3:輸入-E修改內存中位置的信息
-e 1000:0000 1a 00 09 10 a1 61 這樣就可以修改對應段地址為1000H ,偏移地址為0開始的內存信息
-e 1000:0000 'a+b' 這樣就會在內存1000:0000處寫入61H(a的ASICC碼) 1000:0001處+ 1000:0002 62
4:輸入-u查看指定位置對應的匯編指令
-u 1000:0000 查看該處的匯編指令
-u cs:0000 查看段地址為cs處的匯編指令
5: 輸入-t 執行指令
-t 執行CS:IP所指向的第一個指令,如果要執行自己寫入內存的指令,應該先通過-r來改變CS IP的值,然後再執行 -t 執行
-t 指令默認執行第一條指令後停止。但是當遇到修改SS的指令時,會把緊接的下一條指令也執行了。
6:輸入-a 輸入匯編指令
-a 1000:0000 回車
這樣就可以直接在1000:0000處輸入匯編指令了,注意再輸入完之後,輸入一個空格,表示輸入完畢,輸入完畢後,通過-r修改CS ip來指向對應的內存地址,然後就可以通過-t逐行執行了,每執行一次通過-r來看對應的寄存器的變化。
-a 回車 直接輸入匯編指令,默認會在cs:ip處輸入,所以直接用-a 回車輸入匯編指令,然後用-t執行那麼執行的就是剛剛輸入的匯編指令,這樣可以用來調試匯編指令
7:輸入-g 直接跳轉到哪步執行
用-t是需要一步一步執行,但是往往遇到loop循環時候,次數很多,必須要用-g跳到指定行執行
-g 0019 直接跳到便宜地址為0019h處執行
最後用DEBUG加載.exe文件
用RadASM編寫好asm文件(新建選擇masm編譯器,dos)編寫好後用編譯、鏈接、運行,此時生成了對應的exe文件。比如在:D:\RadASM\Masm\Projects\test\test.exe
再用命令 debug D:\RadASM\Masm\Projects\test\test.exe 回車
-u 查看對應test.exe裏的匯編指令 -t執行 -g 跳轉到哪個偏移地址執行
最後更新:2017-04-03 05:39:37