  | L'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).  
   | 
    | L'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.  |