caller에서 서브루틴 호출해도 $s0 - $s7 값은 변하지 않음


caller에서 서브루틴 호출하면 $t0 - $t7 값은 보장하지 못함.


만약 필요하다면 caller에서 서브루틴 호출하기 전에 $t0 - $t7을 스택에 저장해놓아야함


callee에서는 $s0 - $s7 값을 사용하고 싶으면 무조건 먼저 $s0 - $s7값을 스택에 저장해놓아야함


즉,


$s0 - $s7은 callee saved registers 임. (표준상 그렇다는 말)


$t0 - $t7은 caller saved registers 임. (표준상 그렇다는 말)






'Assembly > 공개글' 카테고리의 다른 글

ARM assembly 관련 메모  (0) 2016.08.12
ida 단축키  (0) 2015.08.09
MIPS 어셈블리 <-> 기계어 mapping table  (0) 2015.08.03
MIPS pseudo instruction  (0) 2015.08.03
MIPS jal nop branch delay slot  (0) 2015.07.11
Posted by huammmm1
,