[Assembly] 조건문

JongHyeon_Seo·2022년 5월 14일
0

어셈블리에서 조건문은 점프를 이용한 분기로 이루어진다
이때 두 피연산자를 비교해주는 CMP 명령어를 주로 사용한다

CMP

CMP 명령어는 두개의 피연산자를 비교해준다
한 피연산자에서 다른 피연산자를 빼주면서 둘을 비교한다
이때 두 피연산자의 값에는 영향을 주지 않는다

형식

CMP	OP1, OP2

JMP

JMP 명령어는 실행할 명령어의 주소로 점프시켜주는 역할을 한다
이 명령어는 조건에 상관없이 무조건 점프시켜주는 역할을 한다

형식

JMP	address

조건 점프

조건 점프는 조건에 맞을 때만 점프시켜주는 명령어이다
CMP 명령어로 비교한 결과를 조건으로 사용한다

예제

CMP	AX, 0		; AX와 0을 비교한다
JE	Label1		; 두 수가 같으면 Label1로 점프
A statements	
Label1:			
B statements

위 예제를 C언어로 표현하면 다음과 같다

if(A == 0){
	A statement;
}
B statements;
profile
코딩 코딩

0개의 댓글