无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 32057|回复: 61
打印 上一主题 下一主题

【原创 无忧首发】硬盘版 fbinst +1JF11 等多类型双重mbr系列

  [复制链接]
1#
发表于 2010-8-3 12:48:08 | 显示全部楼层
试试吧:
  1. 0B3B:0100 FA                 CLI
  2. 0B3B:0101 31C0              XOR     AX,AX
  3. 0B3B:0103 8ED0              MOV     SS,AX
  4. 0B3B:0105 8EC0              MOV     ES,AX
  5. 0B3B:0107 8ED8              MOV     DS,AX
  6. 0B3B:0109 BC007C           MOV     SP,7C00
  7. 0B3B:010C 89E3              MOV     BX,SP
  8. 0B3B:010E 89E6              MOV     SI,SP
  9. 0B3B:0110 BF0006           MOV     DI,0600
  10. 0B3B:0113 B90001           MOV     CX,0100
  11. 0B3B:0116 FB                  STI
  12. 0B3B:0117 FC                  CLD
  13. 0B3B:0118 F3                  REPZ
  14. 0B3B:0119 A5                  MOVSW
  15. 0B3B:011A EA1F060000    JMP     0000:061F
  16. 0B3B:011F 41                  INC     CX
  17. 0B3B:0120 41                  INC     CX
  18. 0B3B:0121 30F6               XOR     DH,DH
  19. 0B3B:0123 BD0500           MOV     BP,0005
  20. 0B3B:0126 B80102           MOV     AX,0201
  21. 0B3B:0129 CD13              INT     13
  22. 0B3B:012B 7313              JNB     0140
  23. 0B3B:012D 4D                 DEC     BP
  24. 0B3B:012E 75F6              JNZ     0126
  25. 0B3B:0130 BE6006           MOV     SI,0660
  26. 0B3B:0133 BF607C           MOV     DI,7C60
  27. 0B3B:0136 B9D000          MOV     CX,00D0
  28. 0B3B:0139 F3                  REPZ
  29. 0B3B:013A A5                 MOVSW
  30. 0B3B:013B EA607C0000   JMP     0000:7C60
  31. 0B3B:0140 A1FE7D          MOV     AX,[7DFE]
  32. 0B3B:0143 3D55AA          CMP     AX,AA55
  33. 0B3B:0146 75E8              JNZ     0130
  34. 0B3B:0148 0E                  PUSH    CS
  35. 0B3B:0149 53                  PUSH    BX
  36. 0B3B:014A CB                  RETF
复制代码
用前,请先详细检查一下代码。
12点给出的代码有误,现在已修改了。

[ 本帖最后由 canmao 于 2010-8-3 15:53 编辑 ]
回复

使用道具 举报

2#
发表于 2010-8-3 15:11:18 | 显示全部楼层
你把从 0B3B:0148 处改为 JMP 0:7c00 试试。
回复

使用道具 举报

3#
发表于 2010-8-3 15:54:00 | 显示全部楼层
#32 & #33:

原代码犯了一个低级错误:应该是 push BX ,而不是 push BP。

29楼代码已更正。你可以再试一下。

[ 本帖最后由 canmao 于 2010-8-3 16:02 编辑 ]
回复

使用道具 举报

4#
发表于 2010-8-3 17:01:56 | 显示全部楼层
再贴一段代码:
  1. :0100 FA           CLI
  2. :0101 0E           PUSH CS
  3. :0102 1F           POP DS
  4. :0103 0E           PUSH CS
  5. :0104 07           POP ES
  6. :0105 0E           PUSH CS
  7. :0106 17           POP SS
  8. :0107 BC007C    MOV SP, 7C00
  9. :010A 89E3       MOV BX, SP
  10. :010C 89E6       MOV SI, SP
  11. :010E BF0006    MOV DI, 0600
  12. :0111 B90001    MOV CX, 0100
  13. :0114 FB           STI
  14. :0115 FC           CLD
  15. :0116 F3           REPZ
  16. :0117 A5           MOVSW
  17. :0118 0E           PUSH CS
  18. :0119 681D06    PUSH 061D           ;在dos的debug下不能正常显示
  19. :011C CB           RETF
  20. :011D 41           INC CX
  21. :011E 41           INC CX
  22. :011F 30F6        XOR DH, DH
  23. :0121 BD0500    MOV BP, 0005
  24. :0124 B80102    MOV AX, 0201
  25. :0127 CD13       INT 13
  26. :0129 7314       JNB 003F
  27. :012B 4D          DEC BP
  28. :012C 75F6       JNE 0024
  29. :012E BE6006    MOV SI, 0660
  30. :0131 BF607C    MOV DI, 7C60
  31. :0134 B9D000    MOV CX, 00D0
  32. :0137 FC           CLD
  33. :0138 F3           REPZ
  34. :0139 A5          MOVSW
  35. :013A 0E          PUSH CS
  36. :013B 68607C   PUSH 7C60           ;在dos的debug下不能正常显示
  37. :013E CB          RETF
  38. :013F A1FE7D   MOV AX, WORD PTR [7DFE]
  39. :0142 3D55AA  CMP AX, AA55
  40. :0145 75E7      JNE 002E
  41. :0147 0E          PUSH CS
  42. :0148 53          PUSH BX
  43. :0149 CB          RETF
复制代码
这段代码最大的好处,就是可在debug下进行仿真调试。

[ 本帖最后由 canmao 于 2010-8-3 17:10 编辑 ]
回复

使用道具 举报

5#
发表于 2010-8-3 20:05:42 | 显示全部楼层

回复 #37 天涯海角1216 的帖子

看你的回帖,我总觉得自己的代码写错了。我的代码的逻辑是:

默认从2扇启动,如果 2扇读错误 或 2扇不以55、AA结尾,则从1扇区偏移0x60开始执行。

另外:36楼的代码是有风险的。比如:bios 自举后转交控制给 MBR 的指令为:

JMP 7C0:0

36楼代码就注定挂掉,而29楼代码安然无恙。
回复

使用道具 举报

6#
发表于 2010-8-3 20:46:52 | 显示全部楼层
能得到您的欣赏,俺很荣幸。

[ 本帖最后由 canmao 于 2010-8-3 20:48 编辑 ]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-5-19 04:19

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表