中国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引导代码的机器码。

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
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: