[Computer architecture] MIPS 레지스터 사용 관례

준치·2022년 4월 2일
0

[Computer architecture]

목록 보기
18/18

$zero

번호 : 0
용도 : the constant value 0
무슨 짓을 해도 항상 "0"이 읽어진다.

$at

번호 : 1
용도 : reserved for assembler
assembler가 사용하는 레지스터 만약 사용자가 이 레지스터를 사용해도 assembler가 사용하면 값이 바뀌기 때문에 사용 하지말자
의사 명령어(특정 조건 만족시 분기 명령어) 계산 결과를 위해 예약된 레지스터

v0v0-v1

번호 : 2-3
용도 : values for results and expression evaluation
return의 결과를 쓴다.

a0a0-a3

번호 : 4-7
용도 : argument
parameter 값 저장용 레지스터

t0t0-t9

번호 : 8-15, 24-25
용도 : temporaries
값을 임시로 저장할 때 사용하는 레지스터 save되지 않는다.

s0s0-s7

번호 : 16-23
용도 : saved
variable값을 저장할 때 사용하는 레지스터 save된다.

k0k0-k1

번호 : 26-27
용도 : reserved for operating system
kernal용 레지스터
OS커널을 위해 예약된 레지스터

$gp

번호 : 28
용도 : global pointer
전역 포인터의 값을 저장하는 레지스터

$sp

번호 : 29
용도 : stack pointer
스택 포인터의 값을 저장하는 레지스터

$fp

번호 : 30
용도 : frame pointer
프레임 포인터의 값을 저장하는 레지스터

$ra

번호 : 31
용도 : return address
주소 반환값을 저장하는 레지스터

Reference

[1] D. Patterson and J. Hennessy, ⌜Computer Organization and Design, 5th Edition⌟ , chapter 2
[2] D. Patterson and J. Hennessy.(2021) ⌜컴퓨터 구조 및 설계, 6th Edition⌟ (박명순 외 3 옮김). 한티미디어 chapter 2
profile
설계 엔지니어 지망생

0개의 댓글