Sezione |
Indirizzi Base
Registri Interni
|
Schede del Tutorial |
Le PseudoOperazioni di MASM |
SCHEDA n° 02 [ 09 di 26] |
|
|
Tra le più importanti pseudoOperazioni, indispensabili nella normale programmazione, ci sono quelle che aiutano a definire i dati di un programma; in quelli di grande dimensione (tipo Exe) viene definito per essi un apposito segmento (Data Segment), mentre in quelli intrasegmentali (tipo Com) i dati sono inseriti tra le istruzioni del codice eseguibile. |
|
Un acuto osservatore potrebbe subito sottolineare che la presenza di dati tra il codice eseguibile potrebbe indurre il processore ad eseguire anche i bytes dei primi, non certo differenti da quelli del secondo; di fatto il rischio è reale per cui di solito si adotta la seguente tecnica indiscutibile. |
|
L'etica del programmatore suggerisce di inserire i dati (bytes non eseguibili) tra un JMP Main e l'etichetta Main:, a partire dalla quale si snocciola tutta la sequenza dei bytes eseguibili, associati alle effettive istruzioni (naturalmente l'etichetta Main è solo un esempio). |
|
Ogni sorgente per programma di tipo Com usa questa
tecnica; eccone un
esempio:
| ||||
Entriamo ora nel merito: i dati
di un programma si possono catalogare per dimensione e per tipo; spesso
(ma non sempre) ad essi è associata una etichetta,
con lo scopo di associare un nome
al dato stesso.
|
L'etichetta di un dato rappresenta l'indirizzo della locazione (variabile) che lo contiene (se il dato è a 8bit) o della locazione che contiene il meno significativo dei suoi bytes (se il dato è più grande) |
|
Non dimenticare che la memoria viene gestita un byte alla volta, per cui un dato a sedici bit viene memorizzato sempre con la tecnica Lo-Hi, cioè prima il byte meno significativo (Low) e poi quello più significativo (High). |
|
La dimensione dei dati è prefissata proprio
dalle possibili pseudoOperazioni;
nell'ambito di ciascuna di esse è poi possibile distinguere diversi tipi di
dato. Gli esempi che seguono sono certamente più chiari di ogni parola.
|
Se puoi segui con attenzione gli esempi proposti: sono molto utili per imparare a programmare in scioltezza; l'ideale è provare a scrivere e compilare dei finti programmi per vedere (con Debug) cosa viene caricato in memoria. |
|
Scheda n° 02 | Pseudo Operazioni di MASM | |||||||
Scheda n° 02 - 09 |
|
|
|
|
Home |
|
|||||||
|
Motore Ricerca |
|