首先如入一下門,debug都是從這些東東來的
1。 主要的命令及格式,這些命令是debug最基本的命令,如何靈活使用就看你自己的硬體知識了,不過我會舉一些具體粒子的
A(Assemble): 彙編語句 A[address]
C(Compare): 比較記憶體 C range address
D(Dump): 顯示記憶體 D[address]或D[range]
E(Enter): 改變記憶體 E address[list]
F(Fill): 填充記憶體 F range list
G(Go): 執行程式 G[=address[address[address...]]
H(Hexarithmetic): 十六進位運算命令 H[address[drive|sector|sector]]
I(Input): 輸入 I portaddress
L(Load): 裝入記憶體 L[address[drive|sector|sector]]
M(Move): 傳送記憶體 M range address
N(Name): 定義檔案和參數 N[d:][path]filename[.ext]
O(Output): 輸出位元組 O portaddress byte
P(Proceed): 在下條指令前停止 P[=address][value]
Q(Quit): 結束DEBUG程式 Q
R(Hexarithmetic): 顯示寄存器/標誌位 R[registername]
S(Search): 撿索字元 S range list
T(Trace): 執行並顯示(跟蹤) T[=address][value]
U(Unassemble): 反組譯碼指令 U[address]或U[range]
W(Write): 把檔案或資料寫盤 W[address[drive|sector|sector]]
開始介紹一些具體應用,有些不光給出debug命令,還會列舉其他方法
2。 上次我寫T40評測用的D命令,用來察看主板的生產日期或者版本與生產廠
D ffff:05 察看日起
D fe00:0e 察看版本
3。 不知道bios密碼怎麼辦?
a debug法,清除bios密碼
o 70 10
o 71 10
g
g
重啟
不過這一招太狠讀了,還有
b debug法二,前提是進入系統
o70 21
o70 20
p
c 萬能密碼法,適用於較老的機型。對Award BIOS,試試下面的密碼:AWARD--SR,j62,HLT,SER,
SKY_FOX,BIOSTAR,ALFAROME,lkwpeter,j256,AWARD?SW,LKWPETER,Syxz,aLLy,589589 ,589721,awkward,
COMCAT等。對AMI BIOS,試試下面的密碼:AMI,BIOS,PASWORD,HEWITTRAND,AMI?SW,AMI--SW,
LKWPETER,A.M.I.等。
4。儲存硬碟的開機磁區和檔案配置表
這是儲存C盤的引導程式,其餘的類推!
L 100 2 0 1 ;0代表A,1代表B,2代表C盤, 0就是0扇區。
N c:Boot.com ;儲存到
R CX ;CX寄存器用來表示寫檔案的大小。
:200
W
Q
5。恢複硬碟的開機磁區和檔案配置表
恢複C盤的開機磁區程式
n c:boot.com
l 100
r cx
:200
w 100 2 0 1 ;其中0為A盤,1為B盤,2為C盤。依此類推!
q
6。LCD亮點或暗點檢查
用F填充命令
f b800:00 f9f 20 40 (40代表紅)
f b800:00 f9f 20 10 (10代表蘭)
依此類推,還有20代表綠,30代表紫紅,70代表灰白等
7。方便的偵錯工具。
例如,將一段小寫字元改為大寫
s ... 用DEBUG的“-S”功能檢索到那個字元
e ... E改變記憶體命令修改字元的ASCII碼(小寫改大寫是-20(16進位),大寫改小寫反之)
在例如,
如果是批量修改一個段地址下相臨位移地址的字串,就用“-F”填充命令。
海例如,其實A指令就是一條編譯指令