Chinaunix首页 | 论坛 | 博客
  • 博客访问: 157668
  • 博文数量: 113
  • 博客积分: 2070
  • 博客等级: 大尉
  • 技术积分: 1377
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-18 09:13
文章分类

全部博文(113)

文章存档

2013年(1)

2012年(3)

2011年(8)

2010年(8)

2009年(31)

2008年(62)

我的朋友

分类: LINUX

2008-07-09 17:44:52

jmp 指令 有绝对跳转和相对跳转之分, 对应的 汇编指令和机器码不同
 
0xff25 是绝对跳转
0xe9 是相对跳转  
 
绝对跳转 就是直接跳转到指令后面的地址 如:
0x ff 25 04 a0 04 08 即跳转到 0x804a004
 
相对跳转就涉及到参照地址的问题,经试验 0xe9 的参照地址为 本指令的下一条指令
本指令包括操作数部分(地址)如:
8048510: ff 35 f8 9f 04 08
……
 
804855b: 0x e9 b0 ff ff ff //要跳转到 8048510 以下面的地址 (8048560)  
                           //   为参照 结果为 8048510-8048560 = 0xffffffb0 (e9后面的数)
8048560:
 
 
2、
汇编指令 jmp *0xA 在地址前有个* 作用是跳转到0xA所指的地址,而不是跳到 0xA  
 
 
阅读(2203) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~