Sezione![]() |
Indirizzi Base
Registri Interni
|
Schede del Tutorial |
Le PseudoOperazioni di MASM |
SCHEDA n° 02 [ 14 di 26] |
|
![]() |
|
![]() | Ci sono
2 importanti pseudoOperazioni
destinate sia ai dati (variabili)
che alle procedure, che
consentono all'assemblatore di lasciare al
linker
utili indicazioni per la creazione del codice eseguibile:
|
![]() |
|
![]() | La pseudoOperazione LABEL non di uso molto frequente e permette di cambiare il tipo ad una o più variabili elencate subito dopo; i nuovi tipi possono essere BYTE, WORD, DWORD, QWORD, TBYTE, NEAR, FAR. |
|
![]() |
In
uso improprio per la pseudoIstruzione LABEL è utile per
memorizzare in
una etichetta l'indirizzo corrente di un determinato punto del
programma, magari per eseguire dei test; l'esempio mostra come
caricare SI con l'indirizzo dell'istruzione che fa questo:
|
|
![]() | In pratica con questa direttiva si crea un nuovo
simbolo (etichetta)
con il quale si rende possibile indirizzare la
variabile che segue in modo diverso dal suo, per esempio come
byte invece di word; nello schema seguente vediamo come far diventare di
tipo WORD la variabile ATTRIB, definita
come byte (DB), o come ridefinire come BYTE
la parte bassa della variabile RamVideo, definita come word
(DW):
[*]
Possiamo notare che se tentiamo
di accedere alla variabile in modo diverso da quello definito per
essa, senza la LABEL, viene
segnalato errore (warning A4031: Operand types must match). |
|
![]() |
Scheda n° 02 |
![]() |
Pseudo Operazioni di MASM |
![]() |
![]() |
![]() |
||
Scheda n° 02 - 14 |
|
|
|
|
Home
![]() |
|
|||||||
|
Motore Ricerca |
|