您当前的位置:首页>>编程相关>>正文
 
比较详细的MBR的分析
作者: 来源: 日期:2007-5-17 11:17:11  点击次数:

                                         ;使用长度最短的指令将[BP+25]起始的两个单元清零
                                         ;这两个单元将被用来存放中间变量
0000:0650 96         XCHG   SI,AX         ;此时SI清零的最佳指令选择(仅1字节),将服务于0000:06B8
0000:0651 8A4604     MOV    AL,[BP+04]    ;取分区类型(本例是“06”喽——FAT16主DOS分区)
0000:0654 B406       MOV    AH,06         ;为扩展INT 13h无法使用做好更改分区类型的准备
0000:0656 3C0E       CMP    AL,0E         ;0Eh:需要用扩展INT 13h访问的FAT16主DOS分区
0000:0658 7411       JZ     066B          ;0Eh类型的分区转066Bh
0000:065A B40B       MOV    AH,0B         ;
0000:065C 3C0C       CMP    AL,0C         ;0Ch:需要用扩展INT 13h访问的FAT32分区
0000:065E 7405       JZ     0665          ;0Ch类型的分区转0665h先行预处理
0000:0660 3AC4       CMP    AL,AH         ;0Bh:用传统INT 13h就可以访问的FAT32分区
0000:0662 752B       JNZ    068F          ;其他类型的分区转068Fh
;
; 0000:0664~0000:06A1:根据分区类型和分区表表项内容进行读取分区引导记录前的处理工作
0000:0664 40         INC    AX            ;★★★0Bh类型的分区由此开始处理,此条指令用意是清ZF位
0000:0665 C6462506   MOV    BYTE PTR [BP+25],06 ;★★★0Ch类型的分区由此开始处理
                                         ;为什么取值06,一时没有自圆我说的解释,请耐心几天吧。
0000:0669 7524       JNZ    068F          ;请注意上面指令对ZF位的影响:0Bh类型分区转,0Ch则不转
; 0000:066B~0000:068C这段代码仅当分区类型是0Ch、0Eh才有获得执行的机会
0000:066B BBAA55     MOV    BX,55AA       ;★★★0Eh类型的分区由此开始处理
0000:066E 50         PUSH   AX            ;
0000:066F B441       MOV    AH,41         ;扩展INT 13h功能,检测BIOS是否已经支持扩展INT13h
0000:0671 CD13       INT    13            ;入口参数:BX=55AAh,DL=驱动器号,AH=41h
0000:0673 58         POP    AX            ;执行完恢复AX为060Eh
0000:0674 7216       JB     068C          ;不支持则转

本新闻共9页,当前在第4页  1  2  3  4  5  6  7  8  9  


上一篇:扩展int13h调用详解(修正)
下一篇:自己编程实现多引导

  北京总部: 4006-505-808
  上 海 部: 021-58358765
  深 圳 部: 0755-83692929
  浙 江 部: 13666673722
  广 州 部: 020-83821091
  重 庆 部: 023-86870422
  昆 明 部: 15987117834
  哈尔滨部: 13946167430
  其它地区: 4006-505-808

经典案例
中国石油管理局-Oracle数据库恢
中国网通-IBM EXP300磁盘阵列数
大连鸿德经贸有限责任公司-SQL
中国地质环境监测院-HP LH3000
藁城市东街百货-EFS文件解密成
工商银行山东分行-AIX删除LV数
中央电视台新闻评论部-苹果分
promise乔鼎硬盘阵列数据恢复成
麒麟童文化-苹果分区无法打开,
NAS 8100服务器数据恢复成功 
解决方案
raid磁盘阵列OFFLINE后的应急方
磁盘未被格式化,是否格式化数据
误GHOST、误一键恢复灾难应急方
误删除、误格式化数据灾难应急
LINUX FSCK数据出错灾难应急方
北亚数据恢复 - 联系我们 - 关于北亚 - 友情链接 - 网站地图 - RSS聚合 
版权所有 北京北亚数据恢复中心
24小时免费咨询电话:4006-505-808 或 800-810-580
中关村部:北京市海淀区中关村大街11号E世界A座8层832B室
皂君庙部:北京市海淀区学院南路68号吉安大厦C座(汇智楼)528室