x87648510 发表于 2013-7-27 14:35:33

关于跳转,怎么计算每句汇编代码所占的字节

因为 遇到jmp等之类的跳转指令都涉及到偏移,所以很想知道怎么计算出每句汇编代码所占的字节数

福禄娃娃 发表于 2013-7-27 20:56:34

jmp是根据偏移来计算的,不能使用绝对地址,只能使用相对地址。使用绝对地址不利于代码的移植,换一台机器也许内存地址就不一样了,所以只能使用相对地址。
jmp的机器码为EB,EB后跟的是向上或者向下偏移的地址

x87648510 发表于 2013-7-27 22:28:32

福禄娃娃 发表于 2013-7-27 20:56 static/image/common/back.gif
jmp是根据偏移来计算的,不能使用绝对地址,只能使用相对地址。使用绝对地址不利于代码的移植,换一台机器也 ...

就是说要知道偏移多少 要知道对应代码的机器码才可以知道吗?我还以为可以直接通过代码就可以算出偏移多少呢

福禄娃娃 发表于 2013-7-27 22:57:59

x87648510 发表于 2013-7-27 22:28 static/image/common/back.gif
就是说要知道偏移多少 要知道对应代码的机器码才可以知道吗?我还以为可以直接通过代码就可以算出偏移多 ...

可以直接看机器码计算出偏移,直接看代码无法计算,除非你对每个汇编指令对应的机器码都知道,并且知道占几个字节。

x87648510 发表于 2013-7-27 23:08:48

福禄娃娃 发表于 2013-7-27 22:57 static/image/common/back.gif
可以直接看机器码计算出偏移,直接看代码无法计算,除非你对每个汇编指令对应的机器码都知道,并且知道占 ...

我刚开始以为可以得呢嘿嘿谢谢你啦

福禄娃娃 发表于 2013-7-28 00:16:46

RE: 关于跳转,怎么计算每句汇编代码所占的字节

x87648510 发表于 2013-7-27 23:08 static/image/common/back.gif
我刚开始以为可以得呢嘿嘿谢谢你啦

不客气,鱼c们当共同学习进步,互勉
页: [1]
查看完整版本: 关于跳转,怎么计算每句汇编代码所占的字节