11. 조건 분기문
Assembly
2017. 5. 18. 22:37
조건문은 동일하게 J로 시작
JMP [주소] - 무 조건 점프
조건 점프
JZ [주소] - JUMP ZERO, 이전의 명령어의 연산값이 0이라면 점프해라,
ZF FLAG가 1일 때 실행됨.
상태 레지스터에 따른 명령어의 분기가 됨.
JE [주소] - JUMP IF EQUAL, 이전의 명령에서 비교한 조건이 같으면(ZF= 1 이면) 점프해라
결과적으로는 JZ = JE 이다.
CMP [인자1],[인자2] - MOV의 인자와 같게 들어올 수 있다.
Compare, 비교하다의 약자이다.
CMP는 내부적으로 빼기를 하여 비교한다.
CMP 2,2 이라고 한다면 2 - 2 를 한 후 이 결과값이 0이 나오기 때문에
Zero Flag가 참이 된다.
정리
JZ = JE, 이전의 연산 값이 0, 즉 같으면 점프해라, zero flag의 값이 1이면 점프해라
CMP, 주어진 두 값을 비교하는 연산자, 비교방식은 뺄셈을 해서 0이되면 zero flag를 1로 세팅
'Assembly' 카테고리의 다른 글
13. JG, JL 상태레지스터 SF OF (0) | 2017.05.22 |
---|---|
12. JNE, JA, JB (0) | 2017.05.19 |
10. 메모리 주소 지정방식 (0) | 2017.05.18 |
9. 주소값 간접 지정 (0) | 2017.05.18 |
8. ADD, SUB (0) | 2017.05.18 |