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

;
;
0000:06A6 7229       JB     06D1          ;不成功转
0000:06A8 BE2D07     MOV    SI,072D       ;错误信息字符串偏移→SI
0000:06AB 813EFE7D55AA CMP    WORD PTR [7DFE],AA55 ;分区引导记录合法吗?
0000:06B1 745A       JZ     070D          ;合法则转(这是主引导记录唯一的正常出口)
0000:06B3 83EF05     SUB    DI,+05        ;不合法则为换读其他扇区做准备
0000:06B6 7FDA       JG     0692          ;只有一次换读扇区的机会!
;
; 0000:06B8~0000:06BF:错误预处理
0000:06B8 85F6       TEST   SI,SI         ;测试SI值是否为0,其意义在于确定该显示哪条信息
0000:06BA 7583       JNZ    063F          ;不为0则转错误处理,显示“Missing operating system”
0000:06BC BE1A07     MOV    SI,071A       ;错误信息字符串偏移→SI
0000:06BF EB8A       JMP    064B          ;转错误处理,显示“加载操作系统时出错”
;
; 0000:06C1~0000:06CF:整理扩展读所需入口参数,然后调用扩展读子程序
; 这段代码只有在以扩展读方式读取分区引导记录时才有机会获得执行
0000:06C1 98         CBW                  ;转换字节AL为字AX,执行后,AX中是一次要读的扇区数
0000:06C2 91         XCHG   CX,AX         ;AX→CX,CX→AX,执行后,CX中是一次要读的扇区数
0000:06C3 52         PUSH   DX            ;
0000:06C4 99         CWD                  ;将字AX转换为双字→DX,AX
0000:06C5 034608     ADD    AX,[BP+08]    ;
0000:06C8 13560A     ADC    DX,[BP+0A]    ;执行后,DX:AX=LBA绝对物理扇区号
0000:06CB E81200     CALL   06E0          ;调用扩展读子程序
0000:06CE 5A         POP    DX            ;
0000:06CF EBD5       JMP    06A6          ;
;
; 0000:06D1~0000:06D8分区引导记录装入失败时的处理
0000:06D1 4F         DEC    DI            ;计数器减1
0000:06D2 74E4       JZ     06B8          ;五次读盘均未成功则转错误处理(注意这时SI=0)
0000:06D4 33C0       XOR    AX,AX         ;置功能号
0000:06D6 CD13       INT    13            ;复位磁盘系统
0000:06D8 EBB8       JMP    0692          ;再读
;
;
0000:06DA 00 00 80 49 12 00 ...I..
;
; 0000:06E0~0000:070C:使用扩展INT 13h功能读取分区引导记录的子程序

本新闻共9页,当前在第6页  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室