中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
作者:
标题: 关于vista引导代码的机器码。 上一主题 | 下一主题
zhgwbzhd
高级用户





积分 506
发帖 187
注册 2005-12-4
状态 离线
『楼 主』:  关于vista引导代码的机器码。 使用 LLM 解释/回答一下

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赋值呢啊。

谢谢高手指点啊。


2009-6-8 23:39
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: