Gestiunea Stivei Hardware: Instrucțiunile PUSH, POP și Registrul RSP în Assembly (x86_64)

Ghid complet pentru stiva x86_64: structura LIFO, alinierea la 16 octeți cerută de ABI, instrucțiunile push/pop și salvarea registrelor înainte de apeluri.

Sintaxă
push rax | pop rbx | sub rsp, 32

Stiva (Call Stack) este o structură de memorie de tip LIFO (Last-In, First-Out) gestionată hardware de microprocesor. O particularitate vitală a arhitecturii x86 este că stiva crește în jos, de la adrese mari de memorie către adrese mici.

Mecanismul instrucțiunilor PUSH și POP
; 1. PUSH scade automat pointerul RSP cu 8 octeți și scrie valoarea:
push rax
; Echivalent cu:
; sub rsp, 8
; mov [rsp], rax

; 2. POP citește valoarea de la vârful stivei și crește RSP cu 8 octeți:
pop rbx
; Echivalent cu:
; mov rbx, [rsp]
; add rsp, 8

; 3. Alocarea rapidă a memoriei pentru variabile locale pe stivă:
sub rsp, 32            ; Alocă 32 de octeți de spațiu local
; ... utilizare variabile la [rsp], [rsp+8], etc. ...
add rsp, 32            ; Eliberează memoria la ieșirea din funcție
Regula de Aliniere la 16 Octeți: Standardul System V ABI cere ca registrul RSP să fie aliniat la un multiplu de 16 octeți (RSP % 16 == 0) înainte de invocarea oricărei instrucțiuni call. Încălcarea alinierii provoacă oprirea forțată a aplicației (Crash prin General Protection Fault) la executarea instrucțiunilor SIMD sau funcțiilor din biblioteca standard C (precum printf).
Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Gestiunea Stivei Hardware: Instrucțiunile PUSH, POP și Registrul RSP

Ai o nelămurire despre utilizarea comenzii Gestiunea Stivei Hardware: Instrucțiunile PUSH, POP și Registrul RSP sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.