其实不少跳转,本质是修改eip mov eip,寄存器/立即数 简写为 jmp 寄存器/立即数
push 地址B mov eip,地址A/寄存器
简写为:CALL 地址A/寄存器
LEA ESP,[ESP+4] MOV EIP,[ESP-4] 或 pop eip
简写为:RET
CMP r/m,rm/imm 两数进行相减,结果不保留,只是根据结果修改标志位
TEST r/m,r/m/imm 该指令在一定程序上和CMP指令时类似的,两个数值进行与操作,结果不保存,但是会改变相应标志位. 实质是两个数进行与操作,结果不保留,只根据结果修改标志位 TEST eax,eax ;判断eax是否为0
1JE, JZ结果为零则跳转(相等时跳转)ZF=12JNE, JNZ结果不为零则跳转(不相等时跳转)ZF=03JS结果为负则跳转SF=14JNS结果为非负则跳转SF=05JP, JPE结果中1的个数为偶数则跳转PF=16JNP, JPO结果中1的个数为偶数则跳转PF=07JO结果溢出了则跳转OF=18JNO结果没有溢出则跳转OF=09JB, JNAE小于则跳转 (无符号数)CF=110JNB, JAE大于等于则跳转 (无符号数)CF=011JBE, JNA小于等于则跳转 (无符号数)CF=1 or ZF=112JNBE, JA大于则跳转(无符号数)CF=0 and ZF=013JL, JNGE小于则跳转 (有符号数)SF≠ OF14JNL, JGE大于等于则跳转 (有符号数)SF=OF15JLE, JNG小于等于则跳转 (有符号数)ZF=1 or SF≠ OF16JNLE, JG大于则跳转(有符号数)ZF=0 and S