Sezione

Indirizzi Base Registri Interni
Area Comunicazione BIOS Funzioni BIOS Funzioni DOS
Prefazione Capitolo 1 Capitolo 2 Schede
Libreria ASM Libreria MAC Palestra Progetti ASM
Info Download INDICE

Capitolo 2

Home » Programma il Computer » Tutorial Assembly

Capitolo 2 - Gli strumenti di lavoro

  Gli strumenti di Lavoro

CATENA DI MONTAGGIO 5/7 [6 di 87] 

    

    Fase3: Trasformazione dell'Oggetto in Eseguibile
     
bulletCome già accennato l'oggetto (.Obj) prodotto dall'assemblatore non è eseguibile dal processore sia perchè nel codice macchina del programma i bytes che esprimono gli indirizzi delle procedure non sono ancora definiti, sia perchè intorno al codice sono presenti i bytes di supporto che aiutano il gestore della terza fase a risolvere questo problema.
bulletLa trasformazione del codice oggetto (.Obj) in quello eseguibile (.Exe) è il primo compito del linker (letteralmente collegatore); nel file oggetto sono presenti le informazioni necessarie e sufficienti per portare a termine con successo l'operazione.
bulletIl programma eseguibile (.Exe) è ancora rilocabile come l'oggetto da cui è stato generato: questa caratteristica viene addirittura esaltata, dato che il linker provvede a creare, in testa al codice macchina del programma vero e proprio, una Tabella di Rilocazione (header) contenente tutte le informazioni necessarie al Dos per caricarlo in memoria nel punto desiderato.
bulletLa dimensione dell'header rende voluminosa la dimensione di questo file (almeno mezzo kBytes più dello stretto necessario) e rallenta il suo caricamento in memoria (obbliga il sistema operativo a compiti correzione di ogni riferimento ad indirizzi, al fine di rilocarli nella posizione desiderata).

      

bulletIl secondo compito del linker è quello intrinseco nel suo nome: collegare tra loro oggetti (.Obj) di provenienza diversa per dar origine ad un unico file eseguibile (.Exe).
bulletQuesto è un fatto molto frequente perchè un buon programmatore evita di inserire nel proprio codice sorgente le procedure di uso più frequente, per non appesantirne la dimensione a scapito della sua fluida lettura.
bulletLa soluzione è quella di raccogliere le proprie procedure, trasformate a loro volta in oggetti, in una Libreria e di "linkarla" all'oggetto prodotto dal compilatore (l'analisi del Gestore di Librerie sarà sviluppata in un successivo paragrafo).
bulletNaturalmente questa tecnica può tornar utile anche in presenza di file sorgente (.Asm) di notevoli dimensioni; basta infatti spezzarlo in 2 o più parti, assemblare ciascuna di esse separatamente e, infine, collegare tra loro gli Obj ottenuti.
Ricorda... Il trattamento riservato dal Linker al file di tipo Obj è dunque indispensabile anche se esso è l'unico oggetto coinvolto nell'operazione (cioè anche se il sorgente non utilizza dichiarazioni Extrn, relative a procedure e/o variabili esterne).
bulletAl termine il file eseguibile sarà salvato sul disco con estensione .EXE.

    

Pagina Precedente Capitolo 2 Pagina Successiva CATENA DI MONTAGGIO 5/7   Torna alla Home  del Capitolo1 del "Tutorial" Lezioni - Vai al DownLoad dei files DOC Torna al Menu del "Tutorial"
6 di 87
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87

    

CAP 2 » 1. Catena di Compilazione 2. Editor 3. Assemblatore 4. Linker 5. Exe2Bin
6.
Ambiente di Lavoro 7. Gestore d'Ambiente Macro 8. Gestore d'Archivi OG
9. Matrici per i Programmi Sorgente 10. Gestore di Librerie Lib 
TUTORIAL » Indirizzi Base | Registri Interni | Area Comunicaz. BIOS | Funzioni BIOS | Funzioni DOS
Prefazione | CAP 1 | CAP 2 | Schede | Palestra
Libreria ASM | Libreria MAC | Progetti ASM | Download | Info | Indice
Home 
Pascal|Manuali|Tabelle|Schede
Tutorial Assembly|Palestra Assembler
Aggiungi Giobe®2000 ai preferiti  
Motore
Ricerca
  Rendi Giobe®2000 pagina di Default
© 2001-2010  -  Studio Tecnico ing. Giorgio OBER
Tutti i diritti sono riservati