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 |