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 |
|