条件跳转
速记方法:
- j(jmp)
- z(zero)
- n(not)
- e(equal)
- g(greater)
- l(less)
- a(above,无符号)
b(below,无符号)
汇编指令x86下 指令+目的操作数+原操作数 比较是用目的操作数去和原操作数比较 jz loc 当cmp的两个值相等的时候跳转,否则继续执行下一条 jnz loc 当cmp的两个值不相等的时候跳转,否则继续执行下一条 je loc 当cmp的两个值相等的时候跳转,否则继续执行下一条 jne loc 当cmp的两个值不相等的时候跳转,否则继续执行下一条 jg loc (cmp eax,ebx)当eax大于ebx时执行跳转,否则继续执行下一条 jge loc (cmp eax,ebx)当eax大于或等于(不小于)ebx时执行跳转,否则继续执行下一条 ja loc ja=jg 不过是无符号数比较 jae loc jae = jge 不过是无符号数比较 jl loc (cmp eax,ebx)当eax小于ebx时执行跳转,否则继续执行下一条 jle loc (cmp eax,ebx)当目的操作数小于或等于原操作数时,跳转,否则执行下一条 jb loc 和 jl 一样,不过是无符号的比较 jbe loc 和jle一样,不过是无符号数的比较 后面两个不怎么常用,但是记录一下吧: jo loc 如果上一条指令执行后(of=1),则跳转(溢出跳转) js loc 如果符号位被置位(sf=1),则跳转 jecxz loc (jmp if ecx = 0)
重复指令
这里说的重复指令是对字符串