어셈블리

어셈블리 반복문

우대비 2022. 8. 11. 16:16
반응형
; 반복문 (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