add smaller register sizes
This commit is contained in:
parent
6eef3e56eb
commit
69d31f9974
50
README.md
50
README.md
@ -14,31 +14,31 @@
|
||||
|
||||
## Registers
|
||||
|
||||
| Register | Usage | Preserved Across Function Calls |
|
||||
|------------------|-------------------------------------------------------------------------------------------|-------------------------------|
|
||||
| %rax | Temporary register; with variable arguments passes information about the number of vector registers used; 1st return register | No |
|
||||
| %rbx | Callee-saved register; optionally used as base pointer | Yes |
|
||||
| %rcx | Used to pass 4th integer argument to functions | No |
|
||||
| %rdx | Used to pass 3rd argument to functions; 2nd return register | No |
|
||||
| %rsp | Stack pointer | Yes |
|
||||
| %rbp | Callee-saved register; optionally used as frame pointer | Yes |
|
||||
| %rsi | Used to pass 2nd argument to functions | No |
|
||||
| %rdi | Used to pass 1st argument to functions | No |
|
||||
| %r8 | Used to pass 5th argument to functions | No |
|
||||
| %r9 | Used to pass 6th argument to functions | No |
|
||||
| %r10 | Temporary register, used for passing a function’s static chain pointer | No |
|
||||
| %r11 | Temporary register | No |
|
||||
| %r12–%r15 | Callee-saved registers | Yes |
|
||||
| %xmm0–%xmm1 | Used to pass and return floating point arguments | No |
|
||||
| %xmm2–%xmm7 | Used to pass floating point arguments | No |
|
||||
| %xmm8–%xmm15 | Temporary registers | No |
|
||||
| %mmx0–%mmx7 | Temporary registers | No |
|
||||
| %st0, %st1 | Temporary registers; used to return long double arguments | No |
|
||||
| %st2–%st7 | Temporary registers | No |
|
||||
| %fs | Reserved for system (as thread specific data register) | No |
|
||||
| mxcsr | SSE2 control and status word | Partial |
|
||||
| x87 SW | x87 status word | No |
|
||||
| x87 CW | x87 control word | Yes |
|
||||
| Register (32, 16, 8H, 8L)-Bit | Usage | Preserved Across Function Calls |
|
||||
|--------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------|---------------------------------|
|
||||
| %rax (eax, ax, ah, al) | Temporary register; with variable arguments passes information about the number of vector registers used; 1st return register | No |
|
||||
| %rbx (ebx, ax, ah, al) | Callee-saved register; optionally used as base pointer | Yes |
|
||||
| %rcx (ecx, cx, ch, cl) | Used to pass 4th integer argument to functions | No |
|
||||
| %rdx (edx, dx, dh, dl) | Used to pass 3rd argument to functions; 2nd return register | No |
|
||||
| %rsp (esp, sp, N/A, spl) | Stack pointer | Yes |
|
||||
| %rbp (ebp, bp, N/A, bpl) | Callee-saved register; optionally used as frame pointer | Yes |
|
||||
| %rsi (esi, si, N/A, sil) | Used to pass 2nd argument to functions | No |
|
||||
| %rdi (edi, di, N/A, dil) | Used to pass 1st argument to functions | No |
|
||||
| %r8 (r8d, r8w, N/A, r8b) | Used to pass 5th argument to functions | No |
|
||||
| %r9 (r9d, r9w, N/A, r9b) | Used to pass 6th argument to functions | No |
|
||||
| %r10 (r10d, r10w, N/A, r10b) | Temporary register, used for passing a function’s static chain pointer | No |
|
||||
| %r11 (r11d, r11w, N/A, r11b) | Temporary register | No |
|
||||
| %r12–%r15 (r12-15d, r12-15w, N/A, r12-15b) | Callee-saved registers | Yes |
|
||||
| %xmm0–%xmm1 | Used to pass and return floating point arguments | No |
|
||||
| %xmm2–%xmm7 | Used to pass floating point arguments | No |
|
||||
| %xmm8–%xmm15 | Temporary registers | No |
|
||||
| %mmx0–%mmx7 | Temporary registers | No |
|
||||
| %st0, %st1 | Temporary registers; used to return long double arguments | No |
|
||||
| %st2–%st7 | Temporary registers | No |
|
||||
| %fs | Reserved for system (as thread specific data register) | No |
|
||||
| mxcsr | SSE2 control and status word | Partial |
|
||||
| x87 SW | x87 status word | No |
|
||||
| x87 CW | x87 control word | Yes |
|
||||
|
||||
|
||||
## Instructions
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user