当前位置:  技术问答>linux和unix

DEBUG小程序之二 (备份贴)

    来源: 互联网  发布时间:2014-12-02

    本文导语:  4. 软盘不能正确读取解决方法    如果使用软盘时出现如下提示     General failure error reading drive A     可以用以下方法解决:     将一张好盘插入软驱       进入debug       -A 100          ****:...

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 A:DOSBOOT.COM 
     -R CX 
     :200 
     -W 
     -Q 

   装入引导程序 
   进入Debug 
     -N A:DOSBOOT.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 A:DBRUP.DAT 
     -R CX 
      :200 
     -W 

   恢复 
     进入Debug 
     -N A:DBRUP.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 

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • syslog(LOG_DEBUG, "Debug message appears"); 产生的调试信息在哪里看啊?
  • warning: Missing the separate debug info file: /usr/lib/debug/.build-id/ac/2eeb2
  • 怎样用debug对硬盘进行低级格式化?
  • driver debug問題?
  • 有个debug问题
  • PHP_Debug
  • PHP调试工具 PHP debug tools
  • 用debug如何格式化1.44M的软盘?
  • linux怎么发布release和debug版本?
  • 有关make all; make clobber; make depend; make debug 的区别?
  • g++有debug和release版本吗?
  • insight可以 debug shared library吗?
  • JS中的log对象获取以及debug的写法介绍
  • Wp-Debug
  • PHP 调试工具 PHP Debug Bar
  • 请问debug如何用l命令把硬盘的目录表调入内存?
  • 求助:在模块编程下,如何进行debug??
  • Linux下面有什么内核级debug工具
  • 编译一个debug版本的参数
  • 为什么我的JBuilder7在debug时不能显示所有的数组元素?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3