| 
      Sezione | 
      
       
   
    
      Indirizzi Base
    
    
    
      Registri Interni
    
      | 
    
| Schede del Tutorial | 
| Le PseudoOperazioni di MASM | 
      SCHEDA n° 02 [ 18 di 26]  | 
   
  | 
| 
     | 
    
  | 
  
| Nell'indirizzamento immediato delle variabili (come in MOV AL,[ATTRIB]) o in quello di locazioni di memoria (per esempio tramite registro, MOV AL,[SI]) è possibile forzare il compilatore a creare codice macchina con registro di segmento diverso da quello imposto dalle assegnazioni di ASSUME; l'effetto si ottiene anteponendo alla parentesi quadra [ la stringa ottenuta con il nome del registro desiderato seguito da : (per esempio CS:). | 
| 
     
  | 
      
| Questa tecnica si chiama override (letteralmente: annullamento, ma tecnicamente sovrapposizione di segmento) e, in genere costa un byte di codice macchina in più (come possiamo facilmente vedere osservando il codice prodotto in ambiente Debug). | 
| 
     
  | 
      
| L'uso dell'override è molto interessante e torna utile quando è necessario puntare locazioni presenti in aree particolari della nostra memoria; l'esempio classico è quello che coinvolge la Ram Video. | 
| 
     
  | 
      
A
    tutti è noto che, nei  modi
    testo, usa le locazioni a partire dall'indirizzo fisico
  B8000H;
    per questo conviene dedicare un registro di segmento (di solito ES)
    per coprire quest'area, ricorrendo poi
    all'override per leggere o
    scrivere in essa: il codice mostra come leggere in AL il suo primo bytes; se
    non si usasse l'override la
    lettura avverrebbe dal segmento di default DS, uguale nei nostri programmi
    intrasegmentali a CS.
 
  | 
  | 
| 
      
       |     
    Scheda n° 02 | 
      
       | 
    Pseudo Operazioni di MASM | 
     | 
    
    
     | 
    
     | 
 ||
| Scheda n° 02 - 18 | 
      
  | 
    
| 
     
  | 
  
        
  | 
    
        
  | 
    
| 
      
         
        Home 
     | 
      
  | 
    |||||||
      
  | 
       
          
        Motore Ricerca  | 
      
  |