Estratto del documento

Assemblatore e compilatore

La difficoltà di gestire programmi, dove per i non esperti risulta già difficile individuare le singole istruzioni, portò allo sviluppo di linguaggi di tipo simbolico, dove le istruzioni assembly sono ben identificate e caratterizzate da formati mnemonici più espliciti rispetto allo scopo della loro esecuzione.

Formato in linguaggio assembly

Il programma dell’esempio precedente assume in linguaggio assembly il seguente formato:

L’immagine precedente è stata ottenuta utilizzando uno strumento «disassemblatore» che ricostruisce i codici simbolici mnemonici a partire dai codici binari delle istruzioni che costituiscono il programma. Il disassemblatore non distingue i dati dalle istruzioni e opera anche sui dati, visualizzandoli come se fossero istruzioni:

Uno speciale programma denominato assemblatore veniva impiegato per tradurre le istruzioni dal formato simbolico al formato numerico della macchina.

Evoluzione dei linguaggi di programmazione

L’idea alla base dell’evoluzione dei linguaggi di programmazione è stata quella di dotarli di istruzioni più «potenti» rispetto a quelle della macchina esecutrice – il computer – e allo stesso tempo più «semplici» da usare per il programmatore. A supporto di questa semplificazione sono stati sviluppati traduttori sempre più sofisticati che hanno notevolmente aumentato il livello di astrazione e di indipendenza della pratica della programmazione dai dettagli della piattaforma di esecuzione: i compilatori.

Dal punto di vista teorico è stato dimostrato che – per quanto riguarda la capacità computazionale, cioè la capacità di implementare algoritmi – tutti i linguaggi non banali sono di fatto equivalenti: di conseguenza un programma codificato in un certo linguaggio di programmazione può essere tradotto in un qualsiasi altro linguaggio, a meno che esso non utilizzi caratteristiche peculiari che per alcuni linguaggi sono spesso strettamente dipendenti dall’hardware del computer (come, per esempio, la gestione dell’interfaccia grafica).

Formato in linguaggio C++

Un programma con lo stesso scopo dei programmi degli esempi precedenti codificato nel linguaggio C++ avrebbe il seguente formato:

In ogni caso l’effetto è sempre quello di visualizzare il solito messaggio.

Anteprima
Vedrai una selezione di 1 pagina su 4
Assemblatore compilatore Pag. 1
1 su 4
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher f3874de6c1206fe40aa32376201566557615d103 di informazioni apprese con la frequenza delle lezioni di Informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università del Salento o del prof Scienze matematiche Prof.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community