JMP指令 即可以更改EIP的值 使用方法 jmp,0x42878828
CALL指令 可以更改EIP的值 注意:更改后执行后堆栈会压入一个当前地址加当前地址储存字节数的地址也就是下一个地址编号(这个和内存不同他不是一次加四个类)再次执行后会返回原地址的下一个地址。
CMP指令 与SUB指令差不多不过CMP指令用后结果不保存只改变0标志位ZF位
TEST指令这个与 与运算差不多不过也是不保留运算结果只是改变标志寄存器
JE,JZ ZF=1时跳转 结果为零或相等时跳转 | JNE,JNZ ZF=0时跳转 结果不为零或不相等时跳转 |
JS SF=1时跳转 结果为负时跳转 | JNS SF=0 结果非负时跳转 |
JP,JPE PF=1时跳转 结果中1的个数为偶数跳 (后两位) | JNP,JPO PF=0时跳转 结果中1的个数为奇数跳 (后两位) |
JO OF=1时跳转 结果溢出时跳转 | JNO OF=0时跳转 结果不溢出时跳转 |
JB,JNAE CF=1时跳转 小于则跳转(无符号) | JNB,JAE CF=0时跳转 大于等于是跳转(无符号) |
JBE,JNA CF=1 || ZF=1时跳转 小于等于时跳转(无符号) | JNBA,JA CF=0&ZF=0 大于时跳转(无符号) |
JL,JNGE SF != OF 小于则跳转(有符号) | JNL,JGE SF = OF 大于等于则跳转(有符号) |
JLE,JNG ZF=1 || SF!=OF 小于等于则跳转(有符号) | JNLE,JG ZF=0 & SF=OF 大于则跳转(有符号) |