Next: Special Purpose Registers, Up: Registers [Contents][Index]
| Name | Alt-name | Use and Linkage |
|---|---|---|
| r0 | zero | Always zero (hardwired) |
| r1 - r8 | a0 - a7 | Used to pass the first 7 words arguments. Their values are not preserved across procedure call. |
| r9 - r10 | v0 - v1 | Used for expression evaluations and to hold function results. |
| r11 - r17 | s0 - s6 | Saved registers; Their values must be preserved across procedure calls. |
| r18 - r24 | t0 - t6 | Temporary registers; Their values aren’t preserved across procedure calls. |
| r25 - r26 | k0 - k1 | Reserved for the OS kernel |
| r27 | at | Reserved for the assembler |
| r28 | sp | Contains the stack pointer |
| r29 | gp | Contains the global pointer |
| r30 | fp | Contains the frame pointer (if needed); itherwise it’s a saved registers (like s0-s6) |
| r31 | ra | Contains the return address |