La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Dalla scrittura allesecuzione di un programma Assembler.

Presentazioni simili


Presentazione sul tema: "Dalla scrittura allesecuzione di un programma Assembler."— Transcript della presentazione:

1 Dalla scrittura allesecuzione di un programma Assembler

2 Lassemblatore

3 Definizione Un assembler (assemblatore in italiano) è un software che trasforma le istruzioni mnemoniche dell'assembly in linguaggio macchina. Si tratta dunque di un compilatore per un particolare linguaggio assembly. Il termine assembler deriva dal fatto che le istruzioni vengono convertite e montate una accanto all'altra come se fossero in fila. Ci sono molti tipi di linguaggi assembly e di conseguenza diversi assemblatori: esistono gli assembler per programmare i microchip, per creare programmi sul Personal Computer, per telefoni cellulari, ecc. Questo perché un assemblatore produce codice assembly per una specifica famiglia di processori (intel 8086, 80386, Motorola 68000, ecc.).

4 Le fasi dellassemblatore Determinazione degli indirizzi dei simboli Generazione codice

5 Prima passata Il programma viene analizzato e il Location Counter viene aggiornato di volta in volta in base alla lunghezza di ogni singola istruzione (utilizzando una tabella con i codici delle istruzioni e la loro lunghezza). Viene generata la Tabella dei simboli e delle costanti. (ad ogni simbolo o costante viene associato il relativo indirizzo)

6 Seconda passata Utilizzando le tabelle costruite al passo precedente viene generato il programma oggetto

7 Linker

8 Caricatore (linker) Il linking (letteralmente "collegamento) è il procedimento di integrazione dei vari moduli a cui un programma fa riferimento (i quali possono essere sottoprogrammi o librerie), per creare una singola unità eseguibile. Il linker (o link editor) è un programma che effettua il collegamento tra il programma oggetto, cioè la traduzione del codice sorgente in linguaggio macchina, e le librerie del linguaggio necessarie per l'esecuzione del programma.

9 Loader

10 Caricatore (loader) Viene individuata una zona di memoria in cui caricare il programma. Il programma viene caricato in questa zona di memoria e vengono risolti gli indirizzamenti A questo punto il programma può essere esguito

11 Le fasi di esecuzione di un programma fetchdecodeexecutestore

12 Le fasi in dettaglio Fetch o l Unità di Controllo pone sull Bus degli Indirizzi il valore del Program Counter, e legge dalla Memoria e il codice operativo dellistruzione Decode o L Unità di Controllo, in base al codice di controllo, determina la lunghezza dellistruzione, legge dalla memoria gli operandi (Operand Fetch) che si trovano agli indirizzi adiacenti a quello dellOp.Code. e li carica nei registri. Execute o viene avviato il microprogramma relativo allOp.Code attuale, che usa i propri parametri correttamente memorizzati nei registri. La frequenza in base alla quale vengono eseguiti i microprogrammi è regolata dal clock di CPU (frequenza del Microprocessore). Store o al termine della fase di Execute gli eventuali risultati, posti nei Registri, vengono scritti sul Bus dallUC, o verso la Memoria, o verso lI/O.


Scaricare ppt "Dalla scrittura allesecuzione di un programma Assembler."

Presentazioni simili


Annunci Google