Programmazione e Laboratorio di Programmazione

Slides:



Advertisements
Presentazioni simili
Classe III A A.s – 2011 Sistemi di Elaborazione e Trasmissione dell’Informazione 4 ore settimanali (2 laboratorio) Docenti Prof. Alberto Ferrari.
Advertisements

Dalla scrittura all’esecuzione
Organizzazione della memoria
Prova di completamento: selezione di domande
La macchina di von Neumann
Introduzione al linguaggio assembly del microprocessore a parte
Architettura del calcolatore
G. Amodeo, C. Gaibisso Programmazione di Calcolatori Lezione VII Il compilatore e le sue opzioni Programmazione di Calcolatori: il compilatore e le sue.
Informatica Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
Prova intermedia Si rappresentino i seguenti numeri, espressi in decimale, in valore assoluto (con 8 bit), in complemento a 2 (con 8 bit), in complemento.
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Corso di Laurea in Informatica Architettura degli elaboratori a.a La macchina programmata Instruction Set Architecture (2) Istruzioni I-type Indirizzamento.
L’esecuzione dei programmi
1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore , Dipartimento di Informatica, stanza 306-PS o per posta.
Informatica Lezione 4 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Come esegue le istruzioni il microprocessore Un’istruzione è sempre composta da più operazioni elementari.
Il Processore Il processore è la componente dell’unità centrale che elabora le informazioni contenute nella memoria principale L’elaborazione avviene eseguedo.
Presentazione di sistemi Ambrosio Federica Anna Esposito 3C inf.
LA MEMORIA CENTRALE. La memoria nella struttura generale del calcolatore MEMORIA CONTROLLO INGRESSO E USCITA ARITMETICA E LOGICA CPU Dispositivi esterni.
IL PROCESSORE I MICROPROCESSORI INTEL Il microprocessore è un circuito integrato dotato di una struttura circuitale in grado di effettuare un determinato.
Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia
Gestione dei Software in GNU/Linux HackLab Catanzaro Installazione software da sorgente 8° Lezione GNU/Linux Base
Elementi fondamentali dell’ Architettura di di un elaboratore elettronico.
I linguaggi di programmazione Gruppo iOS 47: Colombini Christian Flora Jonathan Rossi Francesco.
Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica PROBLEMI E ALGORITMI LINGUAGGIO MACCHINA.
6. Codifica degli algoritmi in un linguaggio di alto livello
Prova d’Esame: selezione di domande
Architettura e funzionalità
Introduzione al linguaggio C
Comandi assembly Il termine assembly deriva dal programma traduttore in linguaggio macchina assembler, l’assemblatore non fa altro che assemblare il.
Dal problema al processo risolutivo
Pic16f84 Assembly I/O.
LE ARCHITETTURE NON VON NEUMANN
I microprocessori Il microprocessore è un circuito integrato costituito da silicio. Il microprocessore svolge fondamentalmente due funzioni: sovraintende.
Dal problema al processo risolutivo
Cammino dei Dati (Datapath)
Introduzione I microcontrollori.
Lezione 8 – A.A. 2016/2017 Prof. Giovanni Acampora
Architettura dei calcolatori
Architettura del calcolatore
IL MODELLO DI VON NEUMANN
Programmazione e Laboratorio di Programmazione
Classe III A A.s – 2012 Programma di Informatica
Programmare.
M.U.T. Modulo Unico Telematico
Azione delle istruzioni
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
© 2007 SEI-Società Editrice Internazionale, Apogeo
Sviluppo di un programma
Programmazione e Laboratorio di Programmazione
Definizione di linguaggio di programmazione
LOGICA DI FUNZIONAMENTO
APPUNTI SUL LINGUAGGIO C
Azione delle istruzioni
Programmazione e Laboratorio di Programmazione
Algoritmi e strutture dati APPUNTI SUL LINGUAGGIO C
La struttura dei primi programma in C
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Corso di Fondamenti di Informatica
Relazioni tra CPU e Memoria e Dispositivi I/O
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Transcript della presentazione:

Programmazione e Laboratorio di Programmazione Integrazione I Il compilatore e le sue opzioni Programmazione e Laboratorio di Programmazione – Il compilatore e le sue opzioni

Generazione dell’eseguibile Preprocessing 1.1 rimozione dei commenti 1.2 interpretazione delle direttive per il preprocessore Compilazione 2.1 generazione del codice assembler 2.2 generazione dei moduli oggetto Linking 3.1 combinazione dei diversi moduli oggetto in un unico eseguibile Programmazione e Laboratorio di Programmazione – Il compilatore e le sue opzioni

Il preprocessing rimozione dei commenti interpretazione delle direttive per il preprocessore Programmazione e Laboratorio di Programmazione – Il compilatore e le sue opzioni

Compilazione Generazione del codice assembler: traduzione del codice sorgente ricevuto dal preprocessore in linguaggio assembler Programmazione e Laboratorio di Programmazione – Il compilatore e le sue opzioni

Compilazione Linguaggio assembler: Esempio: linguaggio di basso livello che fornisce un minimo livello di astrazione (es., utilizzo di codici mnemonici in luogo di codici numerici) rispetto alle istruzioni eseguibili dal microprocessore Esempio: MOV AL, #61h memorizza il valore esadecimale 61 nel registro di nome AL Programmazione e Laboratorio di Programmazione – Il compilatore e le sue opzioni

Compilazione Generazione dei moduli oggetto : Esempio: traduzione del codice assembler in una sequenza di istruzioni macchina non ancora eseguibili a causa, tra l’altro, di riferimenti esterni Esempio: MOV AL, #61h MOV AL #61h 10110000 01100001 Programmazione e Laboratorio di Programmazione – Il compilatore e le sue opzioni

Compilazione Riferimenti esterni: riferimento esterno al modulo MOV AL, minnie MOV AL minnie 10110000 ???????? Programmazione e Laboratorio di Programmazione – Il compilatore e le sue opzioni

Registro Istruzione (8 bit) CPU: l’architettura Memoria Registro contenente l’indirizzo della locazione interessata dalla prossima operazione di lettura/scrittura Program Counter (16 bit) +1 Indirizzi Buffer (16 bit) (8 bit) Dati W Z Circuiti di Controllo Registro Istruzione (8 bit) CU Contiene l’indirizzo in memoria dell’istruzione in esecuzione Memorizzano dati o indirizzi durante le operazioni interne Memorizza: Il risultato di una elaborazione da parte della ALU Il risultato di un’operazione di lettura Un dato da memorizzare Contiene il codice operativo dell’istruzione in esecuzione Registro Aritmetico A Registro Aritmetico B ALU Sommatore Programmazione e Laboratorio di Programmazione – Il compilatore e le sue opzioni

Linking Problema: Linker: esistenza all’interno dei moduli oggetto di riferimenti ad altri moduli (chiamate di funzioni, salti, variabili, …) Linker: programma che combina uno o più moduli oggetto generati durante la fase di compilazione in un unico file eseguibile Programmazione e Laboratorio di Programmazione – Il compilatore e le sue opzioni

Riconoscere i file Estensione Descrizione .c file sorgente .h file generalmente “copiato” dal preprocessore all’interno di un file sorgente .o modulo oggetto Programmazione e Laboratorio di Programmazione – Il compilatore e le sue opzioni

Opzioni del compilatore Determinare la versione del compilatore : gcc -v Programmazione e Laboratorio di Programmazione – Il compilatore e le sue opzioni

Opzioni del compilatore Assegnare un nome al file eseguibile: gcc nome_sorgente –o nome_eseguibile Programmazione e Laboratorio di Programmazione – Il compilatore e le sue opzioni

Opzioni del compilatore Generazione modulo oggetto: gcc –c nome_sorgente Programmazione e Laboratorio di Programmazione – Il compilatore e le sue opzioni

Opzioni del compilatore Chiamare il preprocessore gcc –E nome_sorgente –o nome_destinazione Programmazione e Laboratorio di Programmazione – Il compilatore e le sue opzioni

Opzioni del compilatore Contenuto di stdio.h Programmazione e Laboratorio di Programmazione – Il compilatore e le sue opzioni

Messaggi del compilatore Messaggi di errore: indicativi di errori che impediscono la generazione dell’eseguibile  interrompono la compilazione Warning: indicativi di condizioni che potrebbero, tra l’altro, inficiare la portabilità del codice  non interrompono la compilazione Programmazione e Laboratorio di Programmazione – Il compilatore e le sue opzioni

Messaggi di errore Programmazione e Laboratorio di Programmazione – Il compilatore e le sue opzioni

Warning Utilizzare il massimo livello di warning: gcc –Wall nome_sorgente Programmazione e Laboratorio di Programmazione – Il compilatore e le sue opzioni

Warning Utilizzare il massimo livello di warning: gcc –Wall nome_sorgente Programmazione e Laboratorio di Programmazione – Il compilatore e le sue opzioni

Warning Programmazione e Laboratorio di Programmazione – Il compilatore e le sue opzioni

Warning Programmazione e Laboratorio di Programmazione – Il compilatore e le sue opzioni