Stack in assembly

Materie:Appunti
Categoria:Sistemi
Download:97
Data:20.06.2007
Numero di pagine:1
Formato di file:.doc (Microsoft Word)
Download   Anteprima
stack-assembly_1.zip (Dimensione: 2.69 Kb)
trucheck.it_stack-in-assembly.doc     24 Kb
readme.txt     59 Bytes



Testo

Cos'è lo stack?

Lo stack (tradotto in italiano la pila) è una parte della memoria molto utilizzata
nella programmazione con assembly (o assembler).
Questa porzione di memoria utilizza una gestione di dati del tipo LIFO (Last in First out).
Normalmente viene utilizzato per il salvataggio temporaneo di dati.

Lo stack inizialmente è vuoto e vi si agisce con 2 operazioni:

PUSH OPERANDO

che inserisce un dato (operando) nello stack.

POP OPERANDO

che estrae l'ultimo dato inserito nello stack e lo sposta in "operando".

Funzionamento

Vi sono 2 registri che gestiscono lo stack, SP (che punta sempre la prima “cella vuota” dello stack) ed SS (che punta alla fine dello stack).
Ogni volta che viene inserito un dato il registro SP viene decrementato di 2byte, mentre ogni volta che viene eseguita l’istruzione pop (quindi si estrae un dato dallo stack) il registro SP viene incrementato di 2 byte.

Esempio