53 lines
2.3 KiB
Plaintext
53 lines
2.3 KiB
Plaintext
|
EABI Name Description Saver
|
||
|
x0 zero Hard-wired zero value -
|
||
|
x1 ra Return address Caller
|
||
|
x2 sp Stack pointer Callee
|
||
|
x3 gp Global pointer -
|
||
|
x4 tp Thread pointer -
|
||
|
x5 t0 Temporary/link register Caller
|
||
|
x6 s3 Saved register Callee
|
||
|
x7 s4 Saved register Callee
|
||
|
x8 s0/fp Saved register/frame pointer Callee
|
||
|
x9 s1 Saved register Callee
|
||
|
x10 a0 Argument/return value Caller
|
||
|
x11 a1 Argument/return value Caller
|
||
|
x12 a2 Argument Caller
|
||
|
x13 a3 Argument Caller
|
||
|
x14 s2 Saved register Callee
|
||
|
x15 t1 Temporary Caller
|
||
|
x16-x31 s5-s20 Saved registers Callee
|
||
|
|
||
|
reg ABI Use by convention Preserved?
|
||
|
x0 zero hardwired to 0, ignores writes n/a
|
||
|
x1 ra return address for jumps no
|
||
|
x2 sp stack pointer yes
|
||
|
x3 gp global pointer n/a
|
||
|
x4 tp thread pointer n/a
|
||
|
x5 t0 temporary register 0 no
|
||
|
x6 t1 temporary register 1 no
|
||
|
x7 t2 temporary register 2 no
|
||
|
x8 s0/fp saved register 0 or frame pointer yes
|
||
|
x9 s1 saved register 1 yes
|
||
|
x10 a0 argument/return value 0 no
|
||
|
x11 a1 argument/return value 1 no
|
||
|
x12 a2 argument 2 no
|
||
|
x13 a3 argument 3 no
|
||
|
x14 a4 argument 4 no
|
||
|
x15 a5 argument 5 no
|
||
|
x16 a6 argument 6 no
|
||
|
x17 a7 argument 7 no
|
||
|
x18 s2 saved register 2 yes
|
||
|
x19 s3 saved register 3 yes
|
||
|
x20 s4 saved register 4 yes
|
||
|
x21 s5 saved register 5 yes
|
||
|
x22 s6 saved register 6 yes
|
||
|
x23 s7 saved register 7 yes
|
||
|
x24 s8 saved register 8 yes
|
||
|
x25 s9 saved register 9 yes
|
||
|
x26 s10 saved register 10 yes
|
||
|
x27 s11 saved register 11 yes
|
||
|
x28 t3 temporary register 3 no
|
||
|
x29 t4 temporary register 4 no
|
||
|
x30 t5 temporary register 5 no
|
||
|
x31 t6 temporary register 6 no
|