No img


Assembly -4. for문 구현

Posted by bonggang | 2020. 5. 26. 16:58

목표: 간단한 반복문을 구현

 

소스 코드


section .data
        msg db "A"

section .text
        global _start

_start:
        mov rax, 1
        mov rdi, 1
        mov rsi, msg
        mov rdx, 1
        mov r10, 1

again:
        cmp r10, 100
        je done
        syscall
        mov rax, 1
        inc r10
        jmp again

done:
        mov rax, 60
        mov rdi, 0
        syscall

 

section .data

msg db "A": 반복 시키기 위한 데이터를 지정(본 코드에서는 msg db "A"로 A라는 글자를 할당해줬다)

 

_start

msg 함수 출력하기 위한 레지스터 설정

 

again

cmp r10, 100: r10 레지스터의 값과 100을 비교

je done: r10이 100이 될 경우 done으로 이동

mov rax, 1: 함수 실행 후 결과가 rax에 들어가기에 다시 1로 초기화해준다.

inc r10: r10의 값을 1증가

jmp again: 다시 again으로 돌아간다

 

done

시스템 종료

 

실행결과


 

 

 

참고 자료


youtu.be/aUCzNzBO6Hg

 

'CS > Assembly' 카테고리의 다른 글

Assembly -3. 간단한 에코 프로그램  (1) 2020.05.25
Assembly -2. 기본 문법, 명령  (0) 2019.07.07
Assembly -1. HelloWorld!  (0) 2019.07.06