.text
.globl_start
__start:
la $a0, str
li $v0, 4
syscall
li $v0, 10
syscall
.data
str: .asciiz “hello world\n”
hello world를 출력하는 프로그램
- text 세그먼트에서는 실제 수행할 명령어들이 들어간다(코드 부분)
- data 세그먼트에는 코드에서 사용하는 데이터를 기술한다
- la : load address
- li : load immediate
str 안에 hello world라는 문장이 들어간 것을 볼 수 있고,
la $a0, str을 보면 str에 들어간 값을 $a0에 집어넣는 것
li $v0, 4 ==> 4번에 해당하는 서비스 해줘 : 4라는 값을 $v0에 넣으라는 것 이다
여기서 4번이란, print를 의미한다
내가 직접 print하는 건 귀찮으니, 원하는 서비스 번호를 입력하여 사용하는 것
li $v0, 10 ==> 10번에 해당하는 서비스 해줘
- 4번 : Print
- 10번 : Program Exit
syscall로 해당 서비스 실행