- , LIFO. ( , ) , x86 x86-64 . . Wikibooks x86 ( , - 32- x86- Intel, - 64 - x86-64 AT & T).
, ( Intel):
push %rbp
rbp , 8 rsp ( rbp 8 ), rbp [ss:rsp].
, Intel push rbp :
sub rsp, 8
mov [ss:rsp], rbp
:
mov %rsp, %rbp
. rsp rbp.
subl $8, %esp
8 esp esp. , . 32- (eax, ebx, ecx, edx, ebp, esp, esi edi)) x86-64 32 64- (rax, rbx, rcx, rdx, rbp, rsp, rsi rdi) , - 4 , ( Intel):
sub rsp,8
and rsp,0x00000000ffffffff
: sub esp,8 .
4 . 4 . leave sane rsp. x86-64 esp (, , ). :
subq $8, %rsp
( $8 ). Wikibooks x86 ( , 32- x86 Intel, 64- x86-64 AT & T).
:
movl $0, %eax
. 0 eax. .
leave
mov rsp, rbp, pop rbp.
ret
, , rip , [ss:rsp], , , 8 rsp.