În acest articol ne vom familiariza cu conceptele de bază care sunt asociate cu stack-ul în Assembler, vom scrie un mic program, vom afla câteva comenzi noi.
Informații generale
Principiul muncii poate fi exprimat în cuvinte simple: a venit primul - ultimul a ieșit și viceversa: ultimul a venit - primul a plecat. Aceasta descrie pe deplin funcționarea stivei în Assembler.
Adesea, acest principiu este comparat cu clema din pistol, când încărcați clema, apoi cartușul care a fost primul va împușca ultimul.
Stivă în asamblare
Pentru elementele de bază, trebuie să știm două comenzi noi:
- împingeți-l pe teanc
- scoateți din stack
Avem de asemenea nevoie de această construcție:
[esp] - acesta este un indicator la partea de sus a stiva, doar cu el vom lucra.
Să mergem la cod, iar cei care nu știu unde să scrie și cum să-l compilați - bine ați venit la articolul precedent.
Linii deja cunoscute care trebuie prescrise.
Hai să mergem la secțiunea de cod:
Mai întâi, în registrele ax și ecx le punem valorile (h înseamnă sistemul hexazecimal al calculului și, de fapt, nu aparține numărului). Rețineți că puteți introduce doar 4 cifre în registrul axelor care conține maxim 2 octeți și doar 8 în registrul ecx care conține 4 octeți.
Apoi, folosind comanda push, punem valorile axului și ecx-ului în teanc, respectiv, adică, mai întâi punem 2 octeți și apoi 4 octeți. Deci acum vârful stiva este numărul de 8 caractere.
Pentru a înțelege mai bine acest material, vă sfătuiesc să utilizați depanatorul. și să vedem cum se vor schimba valorile registrelor și valoarea stocată în partea superioară a stivei (se află în fereastra din dreapta jos și se evidențiază în gri).