中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 转贴《DEBUG实用小程序集锦》 上一主题 | 下一主题
ko20010214
版主




积分 7294
发帖 1628
注册 2002-10-16
状态 离线
『楼 主』:  转贴《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






ko20010214
=================================
大功告成,打个Kiss!
ko20010214@MSN.com
神州优雅Q300C
Intel CeleronM 370处理器 | 256MbDDR内存
40G硬盘 | USB2.0 | IEEE 1394
13.3 ' WXGA 宽屏(16:10) | COMBO光驱
10/100M网卡 | 四合一读卡器
2002-10-21 00:00
查看资料  发送邮件  发短消息 网志  OICQ (16959102)  编辑帖子  回复  引用回复
么心么肺
初级用户




积分 107
发帖 2
注册 2002-10-21
状态 离线
『第 2 楼』:  

很久没有见过这些东西了,有一种很熟悉的感觉.
值得收藏

2002-10-22 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bengou
初级用户




积分 116
发帖 3
注册 2003-3-6
状态 离线
『第 3 楼』:  

同感!

2003-3-6 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bgn
中级用户




积分 349
发帖 78
注册 2003-3-12
状态 离线
『第 4 楼』:  

的确是这样:)

2003-3-23 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
pluto_zj
初级用户

网管


积分 162
发帖 19
注册 2003-5-2
状态 离线
『第 5 楼』:  

那个读CMOS的程序里的几个LOOP怎么看起来怪怪的,谁给解释下作用?



在DOS的世界里寻觅属于自己的完美~~~~~~
2003-5-8 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
enjoy
初级用户




积分 146
发帖 14
注册 2003-4-29
状态 离线
『第 6 楼』:  

非常感谢!!!

2003-5-17 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
oyster
初级用户




积分 140
发帖 7
注册 2003-6-3
状态 离线
『第 7 楼』:  

高手!

2003-6-7 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: