首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

call指令对应的机器码好象不对.解决思路

2012-02-03 
call指令对应的机器码好象不对.CALL 00401079对应的机器码是E84CFFFFFF晕怎么不是E800401079呢??E8不是cal

call指令对应的机器码好象不对.
CALL 00401079
对应的机器码是
E8 4CFFFFFF

晕 怎么不是
E8 00401079呢??

E8不是call吗?还是有什么算法?

[解决办法]
这种问题建议自己看书解决吧!参考一下我回答过的帖子:

http://topic.csdn.net/u/20071105/17/54222f46-869c-4331-9e57-68227e86f2a5.html
[解决办法]
对应的机器码是:
 
E8 4CFFFFFF 

这里的4CFFFFFF是位移.因为call 标号,相当于执行jmp near ptr 标号.

位移="标号"处的地址-call指令后的第一个字节的地址,用补码表示.

具体参见王爽汇编语言第10章

初学不对之处请原谅!!!

热点排行