Stos
- LIFO, rośnie w dół, skwantowany i wyrównany do 32/64 bajtów.
Jeżeli odkładamy cokolwiek to zawsze w paczkach po 32/64 bity.
- RBP/EBP - przechowuje adres spodu stosu
- RSP/ESP - przechowuje adres szczytu stosu
Odkładanie na stos
push eax
push rdx
pushf ; odkłada flagi
pusha ; odkłada wszystkie ogolne rejestry
(tylko 32bit)
Przykład
jest równoważne
sub rsp, 8
mov [rsp], rdx
Zdejmowanie ze stosu
pop ebx
pop rcx
popf ; zdejmuje flagi
popa ; zdejmuje wszystkie ogólne rejestry
; (tylko 32bit)
Przykład
jest równoważne
mov rbx, [rsp]
add rsp, 8
Przykład operacji na stosie