CS/Assembly
Assembly -4. for문 구현
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
시스템 종료
실행결과
참고 자료