中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-01 03:23
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » 关于vista引导代码的机器码。 查看 1,096 回复 0
楼 主 关于vista引导代码的机器码。 发表于 2009-06-08 23:39 ·  中国 北京 昌平区 联通
高级用户
★★
积分 506
发帖 187
注册 2005-12-04 22:41
20年会员
UID 46500
性别 男
状态 离线
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赋值呢啊。

谢谢高手指点啊。
论坛跳转: