Stivuitor și asamblare adresare indirectă

Î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

Stivuitor și asamblare adresare indirectă

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).

Distribuiți acest link:







Trimiteți-le prietenilor: