Użycie metody Register
x64 Architektura stanowi 16 rejestruje ogólnego przeznaczenia (zwany dalej rejestruje liczbę całkowitą), a także rejestruje XMM/YMM 16 dostępnych do użytku zmiennoprzecinkowych.Rejestruje lotnych są rejestruje zapasowy założyć przez obiekt wywołujący zniszczenie przez połączenie.Rejestruje nonvolatile muszą zachować ich wartości w wywołaniu funkcji i musi być zapisany przez wywoływany, gdy używane.
W poniższej tabeli opisano, jak każdy rejestr jest używany przez wywołania funkcji:
Rejestruj |
Stan |
Zastosowanie |
RAX |
Lotne |
Zwracana wartość rejestru |
RCX |
Lotne |
Pierwszy argument liczba całkowita |
RDX |
Lotne |
Drugi argument liczba całkowita |
R8 |
Lotne |
Trzeci argument liczba całkowita |
R9 |
Lotne |
Czwarty argument liczba całkowita |
R10:R11 |
Lotne |
Musi zostać zachowane zgodnie z potrzebami przez obiekt wywołujący; używane w instrukcji syscall/sysret |
R12:R15 |
Nieulotnej |
Musi być przechowywane w formie wywoływany |
RDI |
Nieulotnej |
Musi być przechowywane w formie wywoływany |
RSI |
Nieulotnej |
Musi być przechowywane w formie wywoływany |
RBX |
Nieulotnej |
Musi być przechowywane w formie wywoływany |
RBP |
Nieulotnej |
Może być używany jako wskaźnik ramki; musi być przechowywane w formie wywoływany |
REAKCJI DLA |
Nieulotnej |
Wskaźnik stosu |
XMM0, YMM0 |
Lotne |
Pierwszy argument FP; pierwszy argument Typ wektora po __vectorcall jest używany |
XMM1, YMM1 |
Lotne |
Drugi argument FP; drugi argument typu wektora po __vectorcall jest używany |
XMM2, YMM2 |
Lotne |
Trzeci argument FP; trzeci argument Typ wektora po __vectorcall jest używany |
XMM3, YMM3 |
Lotne |
Czwarty argument FP; czwarty argument Typ wektora po __vectorcall jest używany |
XMM4, YMM4 |
Lotne |
Musi zostać zachowane zgodnie z potrzebami przez obiekt wywołujący; argument typu wektora piątym po __vectorcall jest używany |
XMM5, YMM5 |
Lotne |
Musi zostać zachowane zgodnie z potrzebami przez obiekt wywołujący; argument typu wektora szóstego po __vectorcall jest używany |
XMM6:XMM15, YMM6:YMM15 |
Nieulotnej (XMM), lotnych (górnej części YMM) |
Musi zostać zachowane zgodnie z potrzebami wywoływany.Rejestruje YMM muszą być chronione zgodnie z potrzebami przez obiekt wywołujący. |