  |  
|   北京总部: 4006-505-646 |  
|   天 津 部: 4006-505-646 |  
|   上 海 部: 4006-505-646 |  
|   深 圳 部: 4006-505-646 |  
|   广 州 部: 4006-505-646 |  
|   重 庆 部: 4006-505-646 |  
|   南 京 部: 4006-505-646 |  
|   其它地区: 4006-505-646 |    |    |   
 | 
  |  
  |  
MBR的详细分析
 0000:063E 4E         DEC    SI            ;SI-1→SI 0000:063F AC         LODSB                ;SI+1→SI 0000:0640 3C00       CMP    AL,00         ; 0000:0642 74FA       JZ     063E          ;AL=0则表明一条错误信息显示完毕,系统陷入一个死循环 0000:0644 BB0700     MOV    BX,0007       ;字符方式显示 0000:0647 B40E       MOV    AH,0E         ; 0000:0649 CD10       INT    10            ;以写电传方式显示信息(只显示一个字符) 0000:064B EBF2       JMP    063F          ;显示下一个字符,直到遇到提示信息结束为止 ;  ; 0000:064D~0000:0662:判断可引导分区的分区类型,然后转相应处理程序。 0000:064D 894625     MOV    [BP+25],AX    ;BP=指向第一个可引导分区表项的指针,这时AX=0000h                                          ;使用长度最短的指令将[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分区 |    |  
  |  
| 上一篇:扩展int13h调用详解(修正) |  
| 下一篇:NBU 的tune |    |  
  |    |    |