四、无条件转移指令(fisheep译 fisheep@sohu.com)
| 操作码 |
伪码指令 |
含义 |
|
EB cb
|
JMP rel8 |
相对短跳转(8位),使rel8处的代码位下一条指令 |
|
E9 cw
|
JMP rel16 |
相对跳转(16位),使rel16处的代码位下一条指令 |
|
FF /4
|
JMP r/m16 |
绝对跳转(16位),下一指令地址在r/m16中给出 |
|
FF /4
|
JMP r/m32 |
绝对跳转(32位),下一指令地址在r/m32中给出 |
|
EA cb
|
JMP ptr16:16 |
远距离绝对跳转, 下一指令地址在操作数中 |
|
EA cb
|
JMP ptr16:32 |
远距离绝对跳转, 下一指令地址在操作数中 |
|
FF /5
|
JMP m16:16 |
远距离绝对跳转, 下一指令地址在内存m16:16中 |
|
FF /5
|
JMP m16:32 |
远距离绝对跳转, 下一指令地址在内存m16:32中 |
五、16位/32位寻址方式(fisheep译 fisheep@sohu.com)
|
操作码
|
伪码指令
|
跳转含义
|
跳转类型
|
跳转的条件(标志位)
|
|
0F 87 cw/cd
|
JA rel16/32
|
大于
|
near
|
(CF=0 and ZF=0)
|
|
0F 83 cw/cd
|
JAE rel16/32
|
大于等于
|
near
|
(CF=0)
|
|
0F 82 cw/cd
|
JB rel16/32
|
小于
|
near
|
(CF=1)
|
|
0F 86 cw/cd
|
JBE rel16/32
|
小于等于
|
near
|
(CF=1 or ZF=1)
|
|
0F 82 cw/cd
|
JC rel16/32
|
进位
|
near
|
(CF=1)
|
|
0F 84 cw/cd
|
JE rel16/32
|
等于
|
near
|
(ZF=1)
|
|
0F 84 cw/cd
|
JZ rel16/32
|
为0
|
near
|
(ZF=1)
|
|
0F 8F cw/cd
|
JG rel16/32
|
大于
|
near
|
(ZF=0 and SF=OF)
|
|
0F 8D cw/cd
|
JGE rel16/32
|
大于等于
|
near
|
(SF=OF)
|
|
0F 8C cw/cd
|
JL rel16/32
|
小于
|
near
|
(SF<>OF)
|
|
0F 8E cw/cd
|
JLE rel16/32
|
小于等于
|
near
|
(ZF=1 or SF<>OF)
|
|
0F 86 cw/cd
|
JNA rel16/32
|
不大于
|
near
|
(CF=1 or ZF=1)
|
|
0F 82 cw/cd
|
JNAE rel16/32
|
不大于等于
|
near
|
(CF=1)
|
|
0F 83 cw/cd
|
JNB rel16/32
|
不小于
|
near
|
(CF=0)
|
|
0F 87 cw/cd
|
JNBE rel16/32
|
不小于等于
|
near
|
(CF=0 and ZF=0)
|
|
0F 83 cw/cd
|
JNC rel16/32
|
不进位
|
near
|
(CF=0)
|
|
0F 85 cw/cd
|
JNE rel16/32
|
不等于
|
near
|
(ZF=0)
|
|
0F 8E cw/cd
|
JNG rel16/32
|
不大于
|
near
|
(ZF=1 or SF<>OF)
|
|
0F 8C cw/cd
|
JNGE rel16/32
|
不大于等于
|
near
|
(SF<>OF)
|
|
0F 8D cw/cd
|
JNL rel16/32
|
不小于
|
near
|
(SF=OF)
|
|
0F 8F cw/cd
|
JNLE rel16/32
|
不小于等于
|
near
|
(ZF=0 and SF=OF)
|
|
0F 81 cw/cd
|
JNO rel16/32
|
未溢出
|
near
|
(OF=0)
|
|
0F 8B cw/cd
|
JNP rel16/32
|
不是偶数
|
near
|
(PF=0)
|
|
0F 89 cw/cd
|
JNS rel16/32
|
非负数
|
near
|
(SF=0)
|
|
0F 85 cw/cd
|
JNZ rel16/32
|
非零(不等于)
|
near
|
(ZF=0)
|
|
0F 80 cw/cd
|
JO rel16/32
|
溢出
|
near
|
(OF=1)
|
|
0F 8A cw/cd
|
JP rel16/32
|
偶数
|
near
|
(PF=1)
|
|
0F 8A cw/cd
|
JPE rel16/32
|
偶数
|
near
|
(PF=1)
|
|
0F 8B cw/cd
|
JPO rel16/32
|
奇数
|
near
|
(PF=0)
|
|
0F 88 cw/cd
|
JS rel16/32
|
负数
|
near
|
(SF=1)
|
|
0F 84 cw/cd
|
JZ rel16/32
|
为零(等于)
|
near
|
(ZF=1)
|
注:一些指令操作数的含义说明:
rel8 表示 8 位相对地址
rel16 表示 16 位相对地址
rel16/32 表示 16或32 位相对地址
r/m16 表示16位寄存器
r/m32 表示32位寄存器
|