Board logo

标题: 转贴《DEBUG实用小程序集锦》 [打印本页]

作者: ko20010214     时间: 2002-10-21 00:00    标题: 转贴《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
        回车
     -G=0100

    插入坏盘并进入Debug
     -A  200
        ****:*100 MOV AL,1
        ****:**** MOV CX,1
        ****:**** MOV DX,0
        ****:**** MOV BX,1000
        ****:**** INT 26
        ****:**** INT 20
        回车
     -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



作者: 么心么肺     时间: 2002-10-22 00:00
很久没有见过这些东西了,有一种很熟悉的感觉.
值得收藏
作者: bengou     时间: 2003-3-6 00:00
同感!
作者: bgn     时间: 2003-3-23 00:00
的确是这样:)
作者: pluto_zj     时间: 2003-5-8 00:00
那个读CMOS的程序里的几个LOOP怎么看起来怪怪的,谁给解释下作用?
作者: enjoy     时间: 2003-5-17 00:00
非常感谢!!!
作者: oyster     时间: 2003-6-7 00:00
高手!