Sezione

Indirizzi Base Registri Interni
Area Comunicazione BIOS Funzioni BIOS Funzioni DOS
Prefazione Capitolo 1 Capitolo 2 Schede
Libreria ASM Libreria MAC Palestra Progetti ASM
Info Download INDICE

Schede del Tutorial

Home » Programma il Computer » Tutorial Assembly

Le Schede del Tutorial

  Le PseudoOperazioni di MASM

SCHEDA n° 02 [ 15  di 26] 

    

    Gestione dei Dati - THIS
     
bulletLa pseudoOperazione THIS è simile alla precedente LABEL se usata insieme alle EQU o =; permette di creare un simbolo (etichetta) di valore uguale all'indirizzo della locazione corrente, cioè quella in cui viene scritta la pseudoistruzione ; il tipo della nuova etichetta è ancora BYTE, WORD, DWORD, QWORD, TBYTE, NEAR, FAR. Nell'esempio si vede come caricare in un registro l'indirizzo corrente della locazione Main: 

      

 8 0103                 MAIN:
 9 = 0103               sonoQui  EQU   THIS WORD
10 0103   8D 36 0103 R           LEA   SI,sonoQui
     
    Gestione dei Dati - PTR
     
bulletL'Operatore PTR svolge una funzione simile alla pseudoOperazione LABEL non di uso, in quanto permette di accedere ad una variabile in modo diverso da quello con cui è stata definita; la variabile alla quale si riferisce l'istruzione che la utilizza cambia dunque temporaneamente tipo; i nuovi tipi possono essere BYTE, WORD, DWORD, QWORD, TBYTE, (ma anche NEAR, FAR, se riferiti a etichette di procedura).
bulletL'esempio mostra come sia possibile accedere in modo BYTE alla parte bassa o alla parte alta della variabile RamVideo, definita come word (DW), o in modo WORD (caricando anche il byte successivo) alla variabile ATTRIB, definita come byte (DB):

      

RamVideo DW     0B800H



ATTRIB   DB     0FH
         DB     55H 
MOV AL,byte PTR CS:[RamVideo]   ;AL=00H
MOV AH,byte PTR CS:[RamVideo+1] ;AH=B8H
MOV AX,CS:[RamVideo]            ;AX=B800H

MOV AX,word PTR CS:[ATTRIB]     ;AX=550FH
MOV AL,CS:[ATTRIB]              ;AL=0FH
MOV AH,CS:[ATTRIB+1]            ;AH=55H

Possiamo notare che se tentiamo di  accedere alla variabile in modo diverso da quello definito per essa, cioè senza premettere la byte PTR, viene segnalato errore (warning A4031: Operand types must match).
In realtà l'errore è warning perchè le istruzioni in nero senza byte PTR fanno comunque quello che ci si aspetta, cioè le prime 2 caricano un byte ciascuna e la rimanente carica i 2 bytes contenuti in ATTRIB e ATTRIB+1.

    

Pagina Precedente Scheda n° 02 Pagina Successiva Pseudo Operazioni di MASM Torna al Menu delle Schede del "Tutorial" Lezioni - Vai al DownLoad dei files DOC Torna al Menu del "Tutorial"
Scheda n° 02 -  15
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

    

SCHEDE » 1.Header EXE 2.PseudoOp MASM 3.Differenza tra Macro e Procedure
4.
Tabella Vettori 5.PSP 6.Stack 7.Istruzioni 80x86
8.La misura dell'Informazione 9.Numeri e Logica Binaria
TUTORIAL » Indirizzi Base | Registri Interni | Area Comunicaz. BIOS | Funzioni BIOS | Funzioni DOS
Prefazione | CAP 1 | CAP 2 | Schede | Palestra
Libreria ASM | Libreria MAC | Progetti ASM | Download | Info | Indice
Home 
Pascal|Manuali|Tabelle|Schede
Tutorial Assembly|Palestra Assembler
Aggiungi Giobe®2000 ai preferiti  
Motore
Ricerca
  Rendi Giobe®2000 pagina di Default
© 2001-2010  -  Studio Tecnico ing. Giorgio OBER
Tutti i diritti sono riservati