0-9. 반복문(Loop)

Crat3 ㅣ 2023. 4. 28. 16:16

1. if를 이용한 반복문

main: mov rbp, rsp ; for correct debugging
mov ecx, 10

LABEL_LOOP:
PRINT_STRING msg
NEWLINE
dec ecx ; ecx를 1씩 줄임
cmp ecx, 0
jne LABLE_LOOP ; ecx가 0이 아니라면 LABLE_LOOP로 이동

ex) 1에서 100까지의 합을 구하는 프로그램

main: mov rbp, rsp ; for correct debugging

mov rcx, 0 ; xor rcx, rcx
mov rbx, rcx

LABEL_LOOP:
inc rcx ; ecx를 1씩 증가
add rbx, rcx
cmp rcx, 100
jne LABEL_LOOP ; ecx가 100이 아니라면 LABLE_LOOP로 이동

PRINT_DEC 1, rbx
xor rax, rax
ret

 

'어셈블리' 카테고리의 다른 글

0-11. 함수(Function, 프로시저)  (0) 2023.04.28
0-10. 배열과 주소(Array, Address)  (0) 2023.04.28
0-8. 분기문(If)  (0) 2023.04.28
0-7. 시프트 연산과 논리 연산  (0) 2023.04.28
0-6. 사칙연산  (0) 2023.04.27