반응형
; 반복문 (while, for)
; 특정 조건을 만족할때까지 반복해서 실행
; ex) Hello World를 10번 출력해야 한다면?
mov ecx, 10
LABEL_LOOP:
PRINT_STRING msg
NEWLINE
dec ecx ; sub ecx,1 과 동일
cmp ecx, 0
Jne LABEL_LOOP ; JumpNotEquals 값이 다르면 점프
; 연습 문제) 1에서 100까지의 합을 구하는 프로그램 1 + 2 + 3 ... +100 = ?
mov eax, 0
mov ebx, 0
LABEL_SUM:
inc eax ; add eax,1 과 동일
add ebx,eax
cmp eax, 100
jne LABEL_SUM
PRINT_DEC 4, ebx
NEWLINE
mov ecx, 100
xor ebx, ebx
LABEL_LOOP_SUM:
add ebx, ecx
loop LABEL_LOOP_SUM ;loop라는걸 사용하면 자동으로 ecx를 1씩 감소시켜줌
PRINT_DEC 4, ebx
반응형
LIST
'어셈블리' 카테고리의 다른 글
어셈블리 함수 기초 (0) | 2022.08.11 |
---|---|
어셈블리 배열과 주소 (0) | 2022.08.11 |
어셈블리 분기문 (0) | 2022.08.11 |
어셈블리 논리연산 (0) | 2022.08.10 |
어셈블리 시프트연산 (0) | 2022.08.10 |