JMP段的跳转short、near、far
来源:互联网 发布:nosql数据库 编辑:程序博客网 时间:2024/06/05 14:54
无条件转移指令jmp:
这种跳转指令有三种方式:短(short),近(near)和远(far)。短是指要跳至的目标地址与当前地址前后相差不超过128字节。近是指跳转的目标地址与当前地址在用一个段内,即CS的值不变,只改变EIP的值。远指跳到另一个代码段去执行,CS/EIP都要改变。短和近在编码上有所不同,在汇编指令中一般很少显式指定,只要写 jmp 目标地址,几乎任何汇编器都会根据目标地址的距离采用适当的编码。远转移在32位系统中很少见到,原因前面已经讲过,由于有足够的线性空间,一个程序很少需要两个代码段,就连用到的系统模块也被映射到同一个地址空间。
jmp的操作数自然是目标地址,这个指令支持直接寻址和间接寻址。间接寻址又可分为寄存器间接寻址和内存间接寻址。举例如下(32位系统):
jmp 8E347D60 ;直接寻址段内跳转
jmp EBX ;寄存器间接寻址:只能段内跳转
jmp dword ptr [EBX] ;内存间接寻址,段内跳转
jmp dword ptr [00903DEC] ;同上
jmp fward ptr [00903DF0] ;内存间接寻址,段间跳转
0 0
- JMP段的跳转short、near、far
- JMP段的跳转short、near、far
- JMP段的跳转short、near、far
- jmp short ,near ,far
- 汇编JMP寻址时short,near,far区别
- far与near的用法
- jmp short
- 【汇编】JMP跳转指令的指令长度、直接转移与间接转移、段内跳转与段间跳转
- 不同特权级间代码段的跳转{ 门 + 跳转(jmp + call) + 返回(ret) }
- STM8S103F @tiny @near @far 的作用
- huge、far、near指针的说明
- near、far、huge三个指针的区别
- 指针near与far的区别
- C++中near与far的区别
- proc far and near. 的简单解释
- jmp near ptr 标号
- jmp far ptr 标号
- JMP SHORT $+2
- Scala开发入门教程【整理来自引路蜂Blog】
- ping命令 仿源码实现 以及几个 命令的 使用
- 【c++程序】复杂抽象结构
- java 中String类中replace()方法与js中replace()区别
- Android View的onTouchEvent和OnTouch区别
- JMP段的跳转short、near、far
- 远程MYSQL 1103错误 ERROR 1130: Host *.*.*.* is not allowed to connect to
- -273.15摄氏度问题
- 【微机原理】-MCS-51单片机的结构与原理
- Factorial Trailing Zeroes
- PL/SQL 游标表达式
- Android网络类型判断
- 打印出从1到最大的n位十进制数,如输入3 打印 1到 999
- C# 属性和索引