中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-10-31 07:46
共 47,815 主题排行 / 349,930 发帖 / 今日 0 篇 / 48,290 会员排行
DOS开发编程 & 发展交流 (开发室) » 关于vista引导代码的机器码。
可打印版本  1,251 / 0
第1楼 zhgwbzhd 发表于 2009-06-08 23:39
高级用户 发帖 187 积分 506
关于vista引导代码的机器码。
vista的引导扇区的代码。

0000:EB 52

0054:FA //CLI
0055:33C0 //XOR AX,AX
0057:8ED0 //MOV SS,AX [SS=0]
0059:BC007C //MOV SP,7C00 [SP=7C00]
005C:FB //STI
005D:68C007 //PUSH 07C0 这个应该是这个意思吧
0060:1F //POP DS DS=07C0
0061:1E //PUSH DS 下面要跳的段基址
0062:686600 //PUSH 0066 下面要跳的偏移
0065:CB //RETF 跳到07C0:0066 也就是 0000:7C66 处执行

由于MBR代码会读该扇区到 0000:7C00,也就是接着执行这里
可是下面的代码如何解释呢??
0066:88 16 0E 00 66 81 3E 03 00 4E 54 46 53

如果解释为
0066:88 16 0E 00 //MOV BYTE [000E],DL 可是上面还没有给DL赋值呢啊。

谢谢高手指点啊。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023