Source:
Number | Name | Use | Preserved across function calls? |
---|---|---|---|
0 | $zero |
constant 0 | — |
1 | $at |
assembler temporary | no |
2, 3 | $v0, $v1 |
function return values | no |
4 - 7 | $a0 - $a3 |
function arguments | no |
8 - 15 | $t0 - $t7 |
temporaries | no |
16 - 23 | $s0 - $s7 |
temporaries | yes |
24, 25 | $t8, $t9 |
temporaries | no |
26, 27 | $k0, $k1 |
reserved for OS kernel | — |
28 | $gp |
global pointer | — |
29 | $sp |
stack pointer | — |
30 | $s8 |
temporaries | yes |
31 | $ra |
return address | — |
If you could revise
the fundmental principles of
computer system design
to improve security...
... what would you change?