| 
      Sezione | 
      
       
   
    
      Indirizzi Base
    
    
    
      Registri Interni
    
      | 
    
| Schede del Tutorial | 
| Le PseudoOperazioni di MASM | 
      SCHEDA n° 02 [ 09 di 26]  | 
   
  | 
| 
     | 
    
  | 
  
| Tra le più importanti pseudoOperazioni, indispensabili nella normale programmazione, ci sono quelle che aiutano a definire i dati di un programma; in quelli di grande dimensione (tipo Exe) viene definito per essi un apposito segmento (Data Segment), mentre in quelli intrasegmentali (tipo Com) i dati sono inseriti tra le istruzioni del codice eseguibile. | 
| 
     
  | 
      
| Un acuto osservatore potrebbe subito sottolineare che la presenza di dati tra il codice eseguibile potrebbe indurre il processore ad eseguire anche i bytes dei primi, non certo differenti da quelli del secondo; di fatto il rischio è reale per cui di solito si adotta la seguente tecnica indiscutibile. | 
| 
     
  | 
      
| L'etica del programmatore suggerisce di inserire i dati (bytes non eseguibili) tra un JMP Main e l'etichetta Main:, a partire dalla quale si snocciola tutta la sequenza dei bytes eseguibili, associati alle effettive istruzioni (naturalmente l'etichetta Main è solo un esempio). | 
| 
     
  | 
      
Ogni sorgente per programma di tipo  Com usa questa
    tecnica; eccone un
    esempio:
 
 
  | ||||
Entriamo ora nel merito: i dati
    di un programma si possono catalogare per dimensione e per tipo; spesso
    (ma non sempre) ad essi è associata una etichetta,
    con lo scopo di associare un nome
    al dato stesso.
    
  | 
| 
           | 
          L'etichetta di un dato rappresenta l'indirizzo della locazione (variabile) che lo contiene (se il dato è a 8bit) o della locazione che contiene il meno significativo dei suoi bytes (se il dato è più grande) | 
| 
     
  | 
      
| 
           | 
          Non dimenticare che la memoria viene gestita un byte alla volta, per cui un dato a sedici bit viene memorizzato sempre con la tecnica Lo-Hi, cioè prima il byte meno significativo (Low) e poi quello più significativo (High). | 
| 
     
  | 
      
La dimensione dei dati è prefissata proprio
    dalle possibili pseudoOperazioni;
    nell'ambito di ciascuna di esse è poi possibile distinguere diversi tipi di
    dato. Gli esempi che seguono sono certamente più chiari di ogni parola.
  | 
| 
           | 
          Se puoi segui con attenzione gli esempi proposti: sono molto utili per imparare a programmare in scioltezza; l'ideale è provare a scrivere e compilare dei finti programmi per vedere (con Debug) cosa viene caricato in memoria. | 
  | 
| 
      
       |     
    Scheda n° 02 | 
      
       | 
    Pseudo Operazioni di MASM | 
     | 
    
    
     | 
    
     | 
 ||
| Scheda n° 02 - 09 | 
      
  | 
    
| 
     
  | 
  
        
  | 
    
        
  | 
    
| 
      
         
        Home 
     | 
      
  | 
    |||||||
      
  | 
       
          
        Motore Ricerca  | 
      
  |