본문 바로가기
악성코드 분석/ASSEMBLY

조건부 점프 명령어

by ITPro 2010. 11. 27.

플래그 값에 따른 점프

명령어

예시

설명

jz

jz L1

ZF 값이 1이면 해당 레이블로 이동한다.

jnz

jnz L1

ZF 값이 0이면 해당 레이블로 이동한다.

jc

jc L1

CF 값이 1이면 해당 레이블로 이동한다.

jnc

jnc L1

CF 값이 0이면 해당 레이블로 이동한다.

jo

jo L1

OF 값이 1이면 해당 레이블로 이동한다.

jno

jno L1

OF 값이 0이면 해당 레이블로 이동한다.

js

js L1

SF 값이 1이면 해당 레이블로 이동한다.

jns

jns L1

SF 값이 0이면 해당 레이블로 이동한다.

jp

jp L1

PF 값이 1이면 해당 레이블로 이동한다.

jnp

jnp L1

PF 값이 0이면 해당 레이블로 이동한다.

jcxz

jcxz L1

CX 값이 0이면 해당 레이블로 이동한다.

jecxz

jecxz L1

ECX 값이 0이면 해당 레이블로 이동한다.


피연산자의 비교에 따른 점프

cmp 명령의 결과 값에 따라 점프가 이루어진다.

-동등-

명령어

예시

설명 (j=jump n=not e=equal)

je

je L1

두 피연산자의 값이 같으면 해당 레이블로 이동한다.

jne

jne L1

두 피연산자의 값이 같지 않으면 해당 레이블로 이동한다.

-부호 없는 정수-

명령어

예시

설명 (j=jump n=not e=equal a=above b=below)

ja

ja L1

좌측 피연산자가 크면 해당 레이블로 이동한다.

jna

jna L1

좌측 피연산자가 크지 않으면 이동한다.

jb

jb L1

좌측 피연산자가 작으면 해당 레이블로 이동한다.

jnb

jnb L1

좌측 피연산자가 작지 않으면 해당 레이블로 이동한다.

jae

jae L1

좌측 피연산자가 크거나 같으면 해당 레이블로 이동한다.

jnae

jnae L1

좌측 피연산자가 크거나 같지 않으면 해당 레이블로 이동한다.

jbe

jbe L1

좌측 피연산자가 작거나 같으면 해당 레이블로 이동한다.

jnbe

jnbe L1

좌측 피연산자가 작거나 같지 않으면 해당 레이블로 이동한다.

-부호 있는 정수-

명령어

예시

설명 (j=jump n=not e=equal g=greater l=less)

jg

jg L1

좌측 피연산자가 크면 해당 레이블로 이동한다.

jng

jng L1

좌측 피연산자가 크지 않으면 이동한다.

jl

jl L1

좌측 피연산자가 작으면 해당 레이블로 이동한다.

jnl

jnl L1

좌측 피연산자가 작지 않으면 해당 레이블로 이동한다.

jge

jge L1

좌측 피연산자가 크거나 같으면 해당 레이블로 이동한다.

jnge

jnge L1

좌측 피연산자가 크거나 같지 않으면 해당 레이블로 이동한다.

jle

jle L1

좌측 피연산자가 작거나 같으면 해당 레이블로 이동한다.

jnle

jnle L1

좌측 피연산자가 작거나 같지 않으면 해당 레이블로 이동한다.

반응형

'악성코드 분석 > ASSEMBLY' 카테고리의 다른 글

LEA 명령과 MOV 명령의 차이점  (3) 2010.12.20
플래그 설정 명령어  (0) 2010.12.09
부울 명령어  (0) 2010.11.27
연산자  (0) 2010.11.27
기본 명령어  (0) 2010.11.27