回首頁

DEBUG實用小程序集錦


DEBUG實用小程序集錦


1. 非物理0磁軌壞軟碟的修復

此種損壞從軟碟盤面上來看並沒有明顯的劃傷和霉變。一般可以恢復其資料,也可是軟碟重新在利用。
處理方法如下:
Ⅰ. 進入debug
Ⅱ. 取一張啟始區沒有損壞的好磁牒,插入軟式磁碟機
-L 100 0 0 1
Ⅲ. 插入損壞的磁牒到軟式磁碟機
-W 100 0 0 1
-Q
注意:好盤與壞碟容量必須相同


2. 物理0磁軌壞軟碟中的資料讀取

  對於0磁軌損壞的磁牒,一般來說是應該拋棄了,當你也不妨試一試已下方法:
磁化處理:用較強的磁鐵在靠近壞磁牒的表面處反覆移動,切不可碰到磁牒介質,以免劃傷表面,然後在試試格式化。
軟碟換面:小心的將磁牒開啟,堅磁片與金屬晶片分開,方面後再按原來的方法粘在一起即可,在重新格式化。
Diskfix:對於diskfix想必大家都用的比較多了,裡面的磁牒修復功能很好用的。能修復大多數磁牒表面錯誤。


3. 硬碟啟動失敗處理

  在正常機上格式化一張軟碟,無其它資料
進入debug
-L 0 2 0 1
-W 0 0 0 1
-Q
用系統碟啟動故障機後
在進入debug
-L 0 0 0 1
-w 0 2 0 1
-Q


4. 軟碟不能正確讀取解決方法

  如果使用軟碟時出現如下提示
General failure error reading drive A
可以用以下方法解決:
將一張好盤插入軟式磁碟機
進入debug
-A 100
****:*100 MOV AL,0
****:**** MOV CX,1
****:**** MOV DX,0
****:**** MOV BX,1000
****:**** INT 25
****:**** INT 20
Enter鍵
-G=0100

插入壞碟並進入Debug
-A 200
****:*100 MOV AL,1
****:**** MOV CX,1
****:**** MOV DX,0
****:**** MOV BX,1000
****:**** INT 26
****:**** INT 20
Enter鍵
-G=200


5. CMOS 資料的儲存,恢復

CMOSRAM的'位址口'的口位址為 70H '資料口'的口位址為 71H
讀取時只需將讀的CMOSRAM的位址送到70H,隨後就可以從71 H中得到所需資料。

(1)讀取CMOS資料 進入Debug
-A 100
****:*100 MOV BX,1000
****:**** MOV CX,0040
****:**** MOV AX,0000
****:0109 MOV DX,CX
****:**** MOV CX,0005
****:010E LOOP 010E
****:**** OUT 70,AL
****:**** MOV CX,0005
****:0115 LOOP 0115
****:**** IN AL,71
****:**** MOV [BX],AL
****:**** CMP AH,0E
****:**** JB 0123
****:**** ADD AH,80
****:0123 INC AH
****:**** INC BX
****:**** MOV CX,DX
****:**** MOV AL,AH
****:**** LOOP 0109
****:**** MOV AH,3C
****:**** MOV DX,0150
****:**** MOV CX,0020
****:**** INT 21
****:**** MOV BX,AX
****:**** MOV DX,1000
****:**** MOV CX,0040
****:**** MOV AH,40
****:**** INT 21
****:**** MOV AH,4C
****:**** INT 21
-A 150
****:0150 DB "CMOS.DAT",0
****:0159
-R CX
CX 0000
:60
-N SAVE CMOS.COM
-W
-Q
-W 100 2 0 1
-Q

(2)恢復CMOS資料 進入Debug
-A 100
****:*100 MOV CX,0150
****:**** MOV AH,3D
****:**** MOV AL,00
****:**** INT 21
****:**** MOV DX,1000
****:**** MOV BX,AX
****:**** MOV CX,0040
****:**** MOV AH,3F
****:**** INT 21
****:**** MOV AX,0000
****:**** MOV BX,DX
****:**** MOV DX,CX
****:**** MOV CX,0005
****:**** LOOP 011F
****:**** MOV AL,AH
****:**** OUT 70,AL
****:**** MOV CX,0005
****:**** LOOP 0128
****:**** MOV AL,[BX]
****:**** OUT 71,AL
****:**** JB 0136
****:**** ADD AH,80
****:**** INC AH
****:**** INC BX
****:**** MOV CX,DX
****:**** LOOP 011A
****:**** MOV AX,0040
****:**** MOV DS,AX
****:**** MOV AX,1234
****:**** MOV [0072],AX
****:**** JMP FFFF:0000
-A 150
****:0150 DB "CMOS.DAT",0
****:0159
-R CX
CX 0000
:60
-N WRITE CMOS.COM
-W
-Q


6. DOS 啟始扇區資料的儲存與恢復 

DOS啟始程序是被讀到記憶體0000:7C00初開始執行的
獲得正常的啟始程序
進入Debug
-L 100 2 0 1
-N AOSBOOT.COM
-R CX
:200
-W
-Q

裝入啟始程序
進入Debug
-N AOSBOOT.COM
-L
-R CX
:200
-W 100 2 0 1
-Q


7. 硬碟主啟始扇區資料的儲存與恢復

硬碟工作正常時讀取主啟始扇區資訊
注意:當分區改變時不能用此資料恢復
儲存主啟始扇區資料進入Debug
-A 100
MOV AX,0201
MOV BX,0110
MOV CX,0001
MOV DX,0080
INT 13
INT 3
-G=100
-E 102 3
-E 10E C3
-R BX
BX 0110
:0
-R CX
CX 0001
:210
-N A:RBOOT.COM
-W
-Q

恢復主啟始扇區資料:只需執行A盤的RBOOT.COM


8. 硬碟非分配表制作備份與恢復

電腦執行正常時分配表制作備份
進入Debug
-L 100 2 0 1
-N ABRUP.DAT
-R CX
:200
-W

恢復
進入Debug
-N ABRUP.DAT
-L
-W 100 2 0 1
-Q


9. 硬碟保護卡內幕


對於經常在外邊上機的人來說,電腦維護人員一旦設定硬碟保護卡,自己作一些事來特別麻煩,想不想遮閉掉硬碟保護卡,用以下方法或許可以借鑒:
進入Debug
-A 100
MOV AH,0
MOV DL,0
INT 13
-T
一直按T知道找到 CS=F000 記下此時 DS 的值 如:1234
-E E0:4C
34 12 00 F0
-Q


10. 用Debuf作硬碟低階格式化

硬碟低階格式化一般用DM,但Debug也可以低階格式化硬碟
進入Debug
-A 100
MOV AX,500
MOV BX,180
MOV CX,0
MOV DX,80
INT 13
INT 3
-E 180 0 0 0 2
-Q


11. 冷啟動與熱啟動

用Debug實現系統冷啟動與熱啟動程序

冷啟動:
-A 100
JMP FFFF:0
INT 20
-N A:RESET.COM
-R CX
:0007
-w
-Q

熱啟動:
-A 100
MOV AX,0040
MOV DS,AX
MOV AX,1234
MOV SI,0072
MOV (SI),AX
JMP FFFF:0
-N A:RSET.COM
-R CX
:0014
-W
-Q


12. DOS內部指令加密

如加密 dir
用pctools或diskedit找 C:下的COMMAND.COM文件
編輯該檔案
PCTOOLS中:F-----F1 然後找所有03 44 49 52 找到後按F5修改成你所要的值 如: foo
以後只有輸入foo 才能列出文件或文件目錄。
diskfix 有良好的界面,操作起來和pctools差不多。
注意:如果不能修改,則解開文件的鎖定 luck
其它指令程式碼
type 04 54 59 50 45
cd 02 43 44
del 03 44 45 44
copy 04 43 49 50 59



除CMOS密碼,對2000年以前的AWARD BIOS有效(以後的沒測試過,因為大多數都提供清除跳線)

進入Debug
-O 70 11
-O 71 ff
-Q
 

回首頁