Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
4358 | Serge | 1 | Register Usage |
2 | rax temporary register; with variable arguments passes information |
||
3 | about the number of SSE registers used; 1st return register |
||
4 | |||
5 | rbx* callee-saved register; optionally used as base pointer |
||
6 | |||
7 | rcx used to pass 4th integer argument to functions |
||
8 | |||
9 | rdx used to pass 3rd argument to functions 2nd return register |
||
10 | |||
11 | rsp* stack pointer |
||
12 | |||
13 | rbp* callee-saved register; optionally used as frame pointer |
||
14 | |||
15 | rsi used to pass 2nd argument to functions |
||
16 | |||
17 | rdi used to pass 1st argument to functions |
||
18 | |||
19 | r8 used to pass 5th argument to functions |
||
20 | |||
21 | r9 used to pass 6th argument to functions |
||
22 | |||
23 | r10 temporary register, used for passing a function's static chain pointer |
||
24 | |||
25 | r11 temporary register |
||
26 | |||
27 | r12-15* callee-saved registers |
||
28 | |||
29 | xmm01 used to pass and return floating point arguments |
||
30 | |||
31 | xmm27 used to pass floating point arguments |
||
32 | |||
33 | xmm815 temporary registers |
||
34 | |||
35 | mmx07 temporary registers |
||
36 | |||
37 | st0 temporary register; used to return long double arguments |
||
38 | |||
39 | st1 temporary registers; used to return long double arguments |
||
40 | |||
41 | st27 temporary registers |
||
42 | |||
43 | fs Reserved for system use (as thread specific data register) |
||
44 | |||
45 | |||
46 | |||
47 | *) must be preserved across function calls |
||
48 | |||
49 | Integer arguments from list: rdi,rsi,rdx,rcx,r8,r9,stack |
||
50 | Floating point arguments from list: xmm0-xmm7 |