| 
      Sezione | 
      
       
   
    
      Indirizzi Base
    
    
    
      Registri Interni
    
      | 
    
| Capitolo 2 | 
| Gli strumenti di Lavoro | 
      LINKER 5/10 [41 di 87]  | 
 
  | 
| 
    
      
       | 
      Aggiornato 10 luglio 2010 | 
| 
     | 
    
  | 
  
Il sorgente 
	PROVA1.ASM
    definisce e chiama 2 procedure; nella 
	figura che segue viene mostrato il programma  
	PROVA2.ASM, funzionalmente identico al 
	precedente ma sostanzialmente differente, dato che obbliga il 
	Linker a cercare le 2 
	procedure di prima  dentro la libreria 
    Giobe.LIB; notiamo il sorgente (a sinistra, con le 2 
	dichiarazioni 
	EXTRN
    di tipo NEAR) e il listato 
	prodotto dal MASM (a destra, con i 2 
	indirizzi Offset lasciati a  
	0000, e marcati con una 
	E, appunto per esterna):
 
 
  | |||||
| Nelle figure seguenti vediamo ora cosa ci dice il file opzionale MAP (in alto) e come viene visualizzato il codice EXE (in basso, con l'aiuto di Debug); entrambi i files sono generati dal Linker. | 
| 
     
  | 
  
    In particolare il file   MAP 
	anticipa l'indirizzo del primo bytes da eseguire (Program 
	entry point at 0000:0100) e la 
	lunghezza del file (Length 
	00116H) corrispondente 
	all'indirizzo del primo bytes non appartenente all'eseguibile; il 
	disassembly del file   EXE (parte 
	bassa) conferma entrambe le indicazioni e mostra come il 
	Linker
    abbia inserito le 2 procedure assunte dalla libreria subito sotto il Main:
 
 
 
 
  | 
L'analisi del codice macchina disassemblato 
	ci suggerisce queste considerazioni:
  | 
  | 
| 
      
       |  
    Capitolo 2 | 
      
       | 
    LINKER 5/10 | 
    
    ![]()  | 
    
    ![]()  | 
    
    ![]()  | 
 ||
| 41 di 87 | 
      
  | 
    
| 
     
  | 
  
        
  | 
    
| 
      
         
        Home 
     | 
      
  | 
    |||||||
      
  | 
       
          
        Motore Ricerca  | 
      
  |