mirror of
https://github.com/reactos/reactos.git
synced 2024-08-28 22:28:36 +00:00
51 lines
1.3 KiB
Plaintext
51 lines
1.3 KiB
Plaintext
Register Usage
|
||
rax temporary register; with variable arguments passes information
|
||
about the number of SSE registers used; 1st return register
|
||
|
||
rbx* callee-saved register; optionally used as base pointer
|
||
|
||
rcx used to pass 4th integer argument to functions
|
||
|
||
rdx used to pass 3rd argument to functions 2nd return register
|
||
|
||
rsp* stack pointer
|
||
|
||
rbp* callee-saved register; optionally used as frame pointer
|
||
|
||
rsi used to pass 2nd argument to functions
|
||
|
||
rdi used to pass 1st argument to functions
|
||
|
||
r8 used to pass 5th argument to functions
|
||
|
||
r9 used to pass 6th argument to functions
|
||
|
||
r10 temporary register, used for passing a function's static chain pointer
|
||
|
||
r11 temporary register
|
||
|
||
r12-15* callee-saved registers
|
||
|
||
xmm01 used to pass and return floating point arguments
|
||
|
||
xmm27 used to pass floating point arguments
|
||
|
||
xmm815 temporary registers
|
||
|
||
mmx07 temporary registers
|
||
|
||
st0 temporary register; used to return long double arguments
|
||
|
||
st1 temporary registers; used to return long double arguments
|
||
|
||
st27 temporary registers
|
||
|
||
fs Reserved for system use (as thread specific data register)
|
||
|
||
|
||
|
||
*) must be preserved across function calls
|
||
|
||
Integer arguments from list: rdi,rsi,rdx,rcx,r8,r9,stack
|
||
Floating point arguments from list: xmm0-xmm7
|