中国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
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: