| 
      Sezione | 
      
       
   
    
      Indirizzi Base
    
    
    
      Registri Interni
    
      | 
    
| Schede del Tutorial | 
| Struttura dell'Header dei Files EXE | 
      SCHEDA n° 01 [ 4 di 4]  | 
   
  | 
| 
     | 
    
  | 
  
| Dall'offset 001C inizia la seconda parte dell'Header, un'area di dimensioni variabili utilizzata per gestire gli eventuali overlay; subito dopo vengono scritte le voci della Tabella di Rilocazione. | 
| 
     
  | 
      
Nei nostri esempi, avendo dedotto che la
    Tabella di locazione comincia all'offset 001E 
    (valore contenuto nella locazione 0018)
    le locazioni dell'Area Riservata sono 2:
 
  | 
| 
     | 
    
  | 
  
| Lo scopo della Tabella di Rilocazione è stato ribadito in più occasioni: fino al momento dell'effettivo caricamento non è possibile conoscere il valore del segmento in cui verrà allocato il programma EXE. | 
| 
     
  | 
      
| Per questa ragione il linker è costretto a lasciare a 0000H tutti i riferimenti a segmento, come se il programma dovesse essere caricato all'inizio della memoria, nelle prime locazioni RAM. | 
| 
     
  | 
      
| La raccolta di Informazioni di Controllo, descritta nella pagina precedente, contiene sempre sia la locazione d'inizio della Tabella (all'offset 0018, StartOfRelocationTable) che il numero delle sue voci (all'offset 0006, RelocationRecords). | 
| 
     
  | 
      
Il modo migliore per rappresentare ciascuna
    voce (record) della 
   Tabella
    di Rilocazione (4 bytes) è quello di creare una struttura:
 
 dove SegmentVoce indica il paragrafo (16 bytes) del modulo caricabile e OffsetVoce lo spiazzamento relativo a quel paragrafo.  | ||||
| Ogni voce rappresenta il puntatore (SegmentVoce:OffsetVoce) a un oggetto (indirizzo entry-point o variabile) del programma (modulo caricabile) che contiene riferimento ad un segmento da rilocare. | 
| 
     
  | 
      
| Il loader del Dos provvederà alla rilocazione sommando a SegmentVoce il valore del segmento nel quale si accinge a caricare il programma, lasciando inalterato OffsetVoce. | 
  | 
| 
      
       |     
    Scheda n° 01 | 
      
       | 
    Struttura dell'Header dei Files EXE | 
     | 
    
    
     | 
    
     | 
 ||
| Scheda n° 01 - 4 | 
      
  | 
    
| 
     
  | 
  
        
  | 
    
        
  | 
    
| 
      
         
        Home 
     | 
      
  | 
    |||||||
      
  | 
       
          
        Motore Ricerca  | 
      
  |