EIP寄存器
EIP是指令寄存器,存放当前指令的下一条指令的地址。
跳转指令的实质的修改EIP的值
跳转指令
指令 | 含义 | 跳转条件 |
---|---|---|
jmp | 直接跳转 | 无 |
call | 直接跳转,ret返回 | 无 |
je , jz | 相等/结果为0 时跳转 | ZF=1 |
jne , jnz | 不相等/结果不为0 时跳转 | ZF=0 |
js | 结果为负时跳转 | SF=1 |
jns | 结果为正时跳转 | SF=0 |
jp, jpe | 最低字节中1的个数为偶时跳转 | PF=1 |
jnp, jpo | 最低字节中1的个数为奇数时跳转 | PF=0 |
jo | 结果溢出则跳转(有符号数) | OF=1 |
jno | 结果没有溢出则跳转(有符号数) | OF=0 |
jb, jnae | 小于则跳转(无符号数) | CF=1 |
jnb, jae | 大于等于则跳转(无符号数) | CF=0 |
jbe, jna | 小于等于则跳转(无符号数) | CF=1 or ZF=1 |
jnbe, ja | 大于则跳转(无符号数) | CF=0 and ZF=0 |