Instruction | Description | signed-ness | Flags |
---|---|---|---|
JO | Jump if overflow | OF = 1 | |
JNO | Jump if not overflow | OF = 0 | |
JS | Jump if sign | SF = 1 | |
JNS | Jump if not sign | SF = 0 | |
JE JZ | Jump if equal Jump if zero | ZF = 1 | |
JNE JNZ | Jump if not equal Jump if not zero | ZF = 0 | |
JB JNAE JC | Jump if below Jump if not above or equal Jump if carry | unsigned | CF = 1 |
JNB JAE JNC | Jump if not below Jump if above or equal Jump if not carry | unsigned | CF = 0 |
JBE JNA | Jump if below or equal Jump if not above | unsigned | CF = 1 or ZF = 1 |
JA JNBE | Jump if above Jump if not below or equal | unsigned | CF = 0 and ZF = 0 (not cf and not zf) |
JL JNGE | Jump if less Jump if not greater or equal | signed | SF <> OF (sf xor of) |
JGE JNL | Jump if greater or equal Jump if not less | signed | SF = OF |
JLE JNG | Jump if less or equal Jump if not greater | signed | ZF = 1 or SF <> OF ((sf xor of) or zf) |
JG JNLE | Jump if greater Jump if not less or equal | signed | ZF = 0 and SF = OF (not ((sf xor of) or zf)) |
JP JPE | Jump if parity Jump if parity even | PF = 1 | |
JNP JPO | Jump if not parity Jump if parity odd | PF = 0 | |
JCXZ JECXZ | Jump if %CX register is 0 Jump if %ECX register is 0 | %CX = 0 %ECX = 0 |
출처 : http://unixwiz.net/techtips/x86-jumps.html
어셈블리 설명은 https://en.wikibooks.org/wiki/X86_Assembly/Control_Flow 이곳에.
SMT 용으로 짜기 편한 플래그 표현은 여기서
http://www.osdata.com/topic/language/asm/progcont.htm
'Research > Windows' 카테고리의 다른 글
프로그램 시작 시 디버거에 바로 붙이는 방법 (0) | 2016.01.21 |
---|---|
DEBUG_EVENT code (0) | 2015.12.01 |
PEB, PEB_LDR_DATA, LDR_MODULE (0) | 2014.12.17 |
windbg 심볼 / 치트 시트 (0) | 2014.12.17 |
C++ constructor 생성자 호출 방식 (0) | 2014.10.10 |