*특정 조건에 따라서 코드 흐름을 제어하는 것
ex)
스킬 버튼을 눌렀는가 ??
제한 시간 내에 던전 입장 수락 버튼을 눌렀는가 ??
*CMP dst, src ( dst 기준 )
비교를 한 결과물은 'Flag Register' 저장
JMP [ label ]
JMP : 무조건 Jump
JE : JumpEquals 같으면 Jump
JNE : JumpNotEquals 다르면 Jump
JG : JumpGreater 크면 Jump
JGE : JumpGreaterEquals 크거나 같으면 Jump
...
*어셈블리 cmp 명령
*eflag Register
*두 숫자가같으면 1, 아니면 0을 출력하는 프로그램.
section .text
global CMAIN
CMAIN:
mov rbp, rsp; for correct debugging
mov rax, 10
mov rbx, 10
cmp rax, rbx
je LABLE\_EQUAL
; je 에 의해 점프를 안했다면, 같지 않다는 의미
mov rcx, 0
jmp LABLE\_EQUAL\_END
LABLE\_EQUAL:
mov rcx, 1
LABLE\_EQUAL\_END:
PRINT\_HEX 1, rcx
NEWLINE
본 내용은 인프런의 루키스님 강의를 듣고 정리한 내용입니다.
'프로그래밍 > C++' 카테고리의 다른 글
#10. 배열과 주소 (0) | 2022.07.15 |
---|---|
#9. 어셈블리 반복문 (0) | 2022.07.15 |
#7. 시프트, 논리 연산 (0) | 2022.07.15 |
#6. 사칙연산 (0) | 2022.07.15 |
#5. 문자와 엔디안 (0) | 2022.07.15 |