debug 的基本用法


debug 的基本用法


接下來,來講述一下 debug 的基本用法

debug 基本指令 指令全稱 用法 用途
---------- ? 顯示debug的命令列表
A assemble A [ address ] 將輸入源程序的指令匯編成目標代碼並從指定的地址單元開始存放。若省缺起始地址,則從當前CS:100地址開始存放。A命令按行匯編,主要用於小段程序的匯編或對目標程序的修改
C compare C range address 比較內存的兩個部分
D dump D [ range ] 顯示部分內存的內容
E enter E address [ list ] 從指定地址開始,將數據輸入
F fill F range list 使用指定值填充一段內存
G go G [ = address ] [ addresses ] 運行在內存中的可執行文件
H hex H value1 value2 執行十六進制運算
I input I port 顯示來自特定端口的 1 字節值
L load L [ address ] [driver ] [ firstsector ] [ number ] 將文件或磁盤扇區內容加載到內存
M move M range address 復制內存塊中的內容
N name N [ pathname ] [ arglist ] 指定 Debug l(加載)或 w(寫入)命令的可執行文件的名稱,或者指定正在調試的可執行文件的參數
O output O port byte 向輸出端口發送 1 個字節的值
P proceed P [ =address ] [ number ] 執行循環、重復的字符串指令、軟件中斷或子例程;或通過任何其他指令跟蹤
Q quit Q 退出 debug會話,不保存當前測試文件
R register R [ register ] 若給出寄存器名,則顯示該寄存器的內存並可進行修改。缺省寄存器名,則顯示所有寄存器的內容及當前值( 不能修改 )
S search S range list 在部分內存中搜索一個或多個字節值的模式
T trace T [ =address] [ value ] 執行一條指令,然后顯示所有寄存器的內容、所有標志的狀態和Debug下一步要執行的指令的解碼形式
U unassemble U [ range ] 反匯編字節並顯示相應的原語句
W write W [address ] [ drive ] [ firstsector ] [ number ] 將測試文件寫入磁盤
XA allocate expanded memory XA [ # pages ] 分配擴展內存
XD deallocate expanded memory XD [ handle ] 釋放擴展內存
XM map expanded memory pages XM [ Lpage ] [ Ppage ] [ handle ] 映射擴展內存頁
XS display expanded memory status XS 顯示擴展內存的狀態

以上便是debug的簡介。


學習匯編語言並且調用debug調試的時候,主要使用到 -L -U -D -G -T -P 指令

-L 裝入 -G 運行 -U 反匯編 -T 單步(可以進入子程序) -P 單步(不進入子程序)-D 查詢內存

匯編語言程序建立步驟:

  • edit 建立源文件 格式:edit xxx.asm ( 必須以 asm 為擴展文件名,否則不能使用 masm 調用 ),生成 obj 文件。
  • masm 生成鏈接文件 格式:masm xxx.asm 然后生成 obj 文件,obj 文件是可連接文件,接下來需要使用link鏈接文件生成exe
  • link 生成 exe 文件 格式:link xxx.obj 生成 exe 可執行文件


免責聲明!

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



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