当前位置: 代码迷 >> 汇编语言 >> call指令对应的机器码好象不对.解决思路
  详细解决方案

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

热度:1151   发布时间:2013-02-26 00:00:00.0
call指令对应的机器码好象不对.
CALL 00401079
对应的机器码是
E8 4CFFFFFF

晕 怎么不是
E8 00401079呢??

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

------解决方案--------------------------------------------------------
这种问题建议自己看书解决吧!参考一下我回答过的帖子:

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

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

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

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

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

  相关解决方案