鱼C论坛

 找回密码
 立即注册
查看: 2020|回复: 5

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

[复制链接]
发表于 2013-7-27 14:35:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
因为 遇到jmp  等之类的跳转指令都涉及到偏移,所以很想知道怎么计算出每句汇编代码所占的字节数  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-7-27 20:56:34 | 显示全部楼层
jmp是根据偏移来计算的,不能使用绝对地址,只能使用相对地址。使用绝对地址不利于代码的移植,换一台机器也许内存地址就不一样了,所以只能使用相对地址。
jmp的机器码为EB,EB后跟的是向上或者向下偏移的地址
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-7-27 22:28:32 | 显示全部楼层

就是说要知道偏移多少 要知道对应代码的机器码才可以知道吗?  我还以为可以直接通过代码就可以算出偏移多少呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-27 22:57:59 | 显示全部楼层
x87648510 发表于 2013-7-27 22:28
就是说要知道偏移多少 要知道对应代码的机器码才可以知道吗?  我还以为可以直接通过代码就可以算出偏移多 ...

可以直接看机器码计算出偏移,直接看代码无法计算,除非你对每个汇编指令对应的机器码都知道,并且知道占几个字节。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-7-27 23:08:48 | 显示全部楼层
福禄娃娃 发表于 2013-7-27 22:57
可以直接看机器码计算出偏移,直接看代码无法计算,除非你对每个汇编指令对应的机器码都知道,并且知道占 ...

我刚开始以为可以得呢  嘿嘿  谢谢你啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-28 00:16:46 | 显示全部楼层

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

x87648510 发表于 2013-7-27 23:08
我刚开始以为可以得呢  嘿嘿  谢谢你啦

不客气,鱼c们当共同学习进步,互勉
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-29 07:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表