鱼C论坛

 找回密码
 立即注册
查看: 3138|回复: 1

关于转移地址在寄存器中的jmp指令的问题

[复制链接]
发表于 2011-4-1 23:12:43 | 显示全部楼层 |阅读模式

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

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

x
我们都知道Jmp指令分为段内短转移,段内近转移和段间转移。
      段内转移只修改IP。段间转移修改CS与IP。
      段内短转移的IP修改范围为-128~127
         段内近转移的修改范围为-32768~32767
     分析:
         从范围上看。段内转移最大的修改范围为-32768~32767。而转移地址在寄存器中,jmp指令会把寄存器
     中的值当做无符号的。范围为0~35565。显然,它不属于段内转移。
         而段间转移的既可以修改CS,有可以修改IP,显然要比它的范围大。
    问题出来了:
         转移地址在寄存器中的话,Jmp指令是段内转移呢?还是段间转移?
    求大哥大姐们帮忙解释下啦。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-4-2 00:12:46 | 显示全部楼层
jmp short  标号    段内短转
jmp near ptr 标号  段内近转
jmp far ptr 标号    段间转移

具体可以看看附注3中  汇编编译器(masm.exe)对jmp的相关处理。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-4-23 23:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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