| 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):
AttribW
LABEL WORD
ATTRIB DB 0FH
RamVid_B LABEL BYTE
RamVideo DW 0B800H |
MOV
AL,CS:[ATTRIB]
MOV AX,CS:[ATTRIB] [*]
MOV AX,CS:[AttribW]
MOV AX,CS:[RamVIDEO]
MOV AL,CS:[RamVIDEO][*]
MOV AL,CS:[RamVid_B] |
[*]
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).
In realtà l'errore è warning perchè sia l'istruzione rossa che quella
verde fanno comunque la stessa cosa, solo che la prima segnala errore e la
seconda no; la definizione LABEL
serve dunque per evitare la segnalazione d'errore. |