|
 |
Gli strumenti di Lavoro |
CATENA DI MONTAGGIO 4/7
[5 di 87] |
 |
|
Fase2: Compilazione del Codice Sorgente |
|
 | La fase successiva è quella della
compilazione del Codice Sorgente; l'assemblatore
ha il compito di tradurre il testo Ascii
(in parte costituito da direttive e in
parte da codice mnemonico) in codice
macchina (cioè in una fredda sequenza
di bytes). |
 | Con metodo e determinazione il traduttore
(detto anche compilatore, sebbene questa
definizione sia più propria per i traduttori dei linguaggi ad alto livello)
analizza le
singole parole del codice sorgente, ne controlla la forma e la sostanza (sintassi)
e, se si ritiene soddisfatto, genera il Codice
Oggetto, salvandolo sul disco con
estensione .OBJ. |
 | Se il testo non è stato scritto con il
rispetto delle regole l'assemblatore segnala puntigliosamente il tipo di
errore commesso e la riga nella quale si è manifestato.
|
 | L'oggetto
(.Obj) prodotto dall'assemblatore
non è ancora eseguibile dal processore;
esso contiene la traduzione in
codice macchina
del sorgente, ma l'insieme dei bytes che lo costituiscono è incompleto: può
succedere infatti che alcune istruzioni del programma si riferiscano a oggetti
(procedure o variabili) non presenti (esterne)
nel programma stesso. |
 | Gli indirizzi di questi oggetti non
possono essere noti a priori al compilatore, che si dovrà
rassegnare a lasciare, nel codice macchina, lo spazio vuoto (in bytes) in
cui qualcun altro provvederà a scrivere gli effettivi loro valori. |
 | Questa situazione obbliga
all'esecuzione della successiva terza fase, per consentire la quale il file
Obj deve garantire (oltre al codice macchina grezzo,
corrispondente
alle effettive istruzioni del programma) una struttura
di bytes con le indicazioni da passare al
linker
(prossima pagina) per risolvere i problemi
dei riferimenti agli indirizzi e fissarne l'effettivo valore. |
 | Va notato che il codice macchina così
prodotto è rilocabile
cioè, quando sarà il momento di trasferirlo in memoria, può essere
allocato dal Sistema Operativo a partire da qualunque indirizzo, in pratica
nella prima zona ram disponibile.
|
©
2001-2010 - Studio Tecnico
ing. Giorgio OBER
Tutti i diritti sono riservati
|