본문으로 바로가기

[Assembly] 5. 조건분기 JUMP문 정리

category 옛날 글들/Assembly 2018. 12. 2. 16:18
반응형
이 밑의 명령어들은 플래그의 여부에 따라 실행되며, 모두 점프문의 형식과 역할을 가지고 있다.

명령어
조건
부호 여부
플래그
JO
Overflow가 발생했다면

OF = 1
JNO
Overflow가 발생하지 않았다면

OF = 0
JS
최상위 비트가 1이면

SF = 1
JNS
최상위 비트가 1이 아니면

SF = 0
JE
JZ
두 수가 같다면
계산 결과가 0이라면

ZF = 1
JNE
JNZ
두 수가 같지 않다면
계산 결과가 0이 아니라면

ZF = 0
JB
JNAE
JC
두번째 인자가 첫번째 인자보다 클 경우
두번째 인자가 첫번째 인자와 작지 않거나 같을 경우
Carry가 발생했을 경우
X
CF = 1
JNB
JAE
JNC
두번재 인자가 첫번째 인자보다 크지 않을 경우
두번째 인자가 첫번째 인자와 같거나 작을 경우
Carry가 발생하지 않는 경우
X
CF = 0
JBE
JNA
두번째 인자가 첫번째 인자보다 크거나 같을 경우
두번째 인자가 첫번째 인자보다 작지 않을 경우
X
CF = 1 or ZF = 1
JA
JNBE
두번째 인자가 첫번째 인자보다 작을 경우
두번째 인자가 첫번재 인자보다 크지 않고 같지도 않을 경우
X
CF = 0 and ZF = 0
JL
JNGE
두번째 인자가 첫번째 인자보다 작을 경우
두번째 인자가 첫번째 인자보다 크지 않거나 같을 경우
O
SF <> OF
JGE
JNL
두번째 인자가 첫번째 인자보다 크거나 같을 경우
두번째 인자가 첫번째 인자보다 작지 않을 경우
O
SF = OF
JLE
JNG
두번째 인자가 첫번째 인자보다 작거나 같을 경우
두번째 인자가 첫번째 인자보다 크지 않을 경우
O
ZF = 1 or SF <> OF
JG
JNLE
두번째 인자가 첫번째 인자보다 클 경우
두번째 인자가 첫번째 인자보다 작지 않거나 같을 경우
O
ZF = 0 and SF = OF
JP
JPE
연산 결과의 1로된 비트의 갯수가 짝수일 경우

PF = 1
JNP
JPO
연산 결과의 1로된 비트의 갯수가 짝수가 아닐 경우

PF = 0
JCXZ
JECXZ
CX 레지스터의 값이 0일 경우
ECX 레지스터의 값이 0일 경우

%CX = 0
%ECX= 0 
잘못 해석한 부분이 있다면 댓글로 남겨주시면 감사하겠습니다.


반응형