Number | Name | Preserved by | Description |
---|---|---|---|
0 | $zero | -------- | Hardwired to zero |
1 | $at | caller | Assembler temporary (used for pseudo-ops) |
2, 3 | $v0, $v1 | caller | Function return values |
4-7 | $a0-$a3 | caller | Function arguments |
8-15 | $t0-$t7 | caller | Temporaries |
16-23 | $s0-$s7 | callee | Saved temporaries |
24, 25 | $t8, $t9 | caller | Temporaries |
26, 27 | $k0, $k1 | -------- | Reserved for kernel |
28 | $gp | callee | Global pointer |
29 | $sp | callee | Stack pointer |
30 | $fp or $s8 | callee | Frame pointer or saved temporary |
31 | $ra | callee | Return address |