참고 : http://blog.naver.com/saint_05

리버싱을 하다보면 조건 점프 명령이 많이 나와서 한번 올려봅니다.

외울 필요는 없구요 그냥 필요할 때 보는 정도로 사용하시면 될 것 같습니다.

어셈명령어

의미

점프 조건

(레지스터상태)

JA

결과가 1보다 클 경우 점프

CF=0 and ZF=0

JAE

결과가 1보다 크거나 같을 경우 점프

CF=0

JB

결과가 1보다 작을 경우 점프

CF=1

JBE

결과가 1보다 작거나 같을 경우 점프

CF=1 or ZF=1

JC

캐리 플래그가 1일 경우 점프

CF=1

JCXZ

CX가 0일 경우 점프

CX=0

JE

결과가 같을 경우 점프

ZF=1

JECXZ

ECX가 0일 경우 점프

ECX=0

JG

결과가 클 경우 점프(signed)

ZF=0 and SF=OF

JGE

결과가 크거나 같을 경우 점프 (signed)

SF=OF

JL

결과가 작을 경우 점프(signed)

SF != OF

JLE

결과가 작거나 같을 경우 점프 (signed)

ZF=1 or SF != OF

JMP

점프

없음

JNA

결과가 작을 경우 점프

CF=1 or ZF=1

JNAE

결과가 작거나 같을 경우 점프

CF=1

JNB

결과가 클 경우 점프

CF=0

JNBE

결과가 크거나 같을 경우 점프

CF=0 and ZF=0

JNC

캐리 플래그가 0일 경우 점프

CF=0

JNE

결과가 클 경우 점프

ZF=0

JNG

결과가 작을 경우 점프(signed)

ZF=1 or SF != OF

JNGE

결과가 작거나 같을 경우 점프(signed)

SF != OF

JNL

결과가 클 경우 점프(signed)

SF=OF

JNLE

결과가 크거나 같을 경우 점프(signed)

ZF=0 and SF=OF

JNO

오버 플로우 하지 않으면 점프(signed)

OF=0

JNP

패리티 플래그가 0일 때 점프

 

PF=0

JNS

결과가 Signed 가 아닐 때 점프(signed)

SF=0

JNZ

결과가 0 이 아닐 때 점프

ZF=0

JO

오버 플로우 일 경우 점프(signed)

OF=1

JP

패리티 플래그가 1일 때 점프

PF=1

JPE

패리티가 같을 때 점프

PF=1

JPO

패리티가 홀수 이면 점프

PF=0

JS

Sign플래그가 1일 때 점프

SF=1

JZ

0이면 점프

ZF=1

좀 더 자세히 알고 싶으시면 http://asmlove.co.kr 에서 확인 해 보시길 바랍니다.

'Programming > 이것저것' 카테고리의 다른 글

세그먼트 레지스터  (0) 2010.05.01
x86 Register  (0) 2010.04.30
Symbol  (0) 2010.04.24
IL Code에 심볼 정보가 포함되는 이유  (0) 2010.04.24
초기화 하지 않은 메모리  (0) 2010.04.16

+ Recent posts