继续学习,继续疑惑,指令前缀思考

Windows内核调试

继续学习,继续疑惑,指令前缀思考


阿龙 2010-10-22, 14:43 下午

看了下Intel手册,有些东西大概明白了,但是又碰到一个新的问题。

问题的来源是:我们在实模式下,要使用jmp指令跳转到保护模式下,一般的书上说的都是16位的偏移,也就是说跳过去的不管是32位还是16位的代码段,偏移不能超过0xffff,如果我希望超过0x10000呢?我自然就想到了段前缀 66h和67h,

疑问1:这2个段前缀可以使用在jmp指令上吗?

不能就不说了,如果能,那么我应该使用66h在jmp之前,用来逆转操作数大小为32位,但是新的问题是,66h,0ea,offset,segment这条指令中,offset会被这条前缀所影响而读入一个32位的偏移吗?segment呢?

谢谢!

Re: 继续学习,继续疑惑,指令前缀思考


xiilin 2010-11-01, 16:01 下午
我也是新手,我说一下我的看法吧。
66h和67h应该不可以加在jmp指令之前吧,没见过这种写法。
如果超过0xffff那可以修改cs啊,没必要一定要改偏移地址嘛。

Powered by Community Server Powered by CnForums.Net