Want to create interactive content? It’s easy in Genially!
Introduzione Assembly
GIULIO MARIA RUSSO
Created on November 26, 2024
Start designing with a free template
Discover more than 1500 professional designs like these:
Transcript
Introduzione Assembly
Riassunto
INDICE
Linguaggi di programmazione a bassoe ad alto livello
Il processo di compilazione
Il Linguaggio Assembly & Macchina
Linguaggio Assembly e di Alto Livello: Pro & Contro
- I linguaggi a basso livello, invece, non avvicinandosi molto al ragionamento umano, per essere utilizzati richiedono una conoscenza elevata della struttura hardware del computer, il suo funzionamento e l'architettura del processore.
Linguaggi di programmazione a basso e ad alto livello
- lo sviluppatore costruisce un programma che possa eseguire alcuni particolari calcoli.
- Per strutturare il codice, inizia partendo da una specifica in linguaggio naturale e inizia a scrivere: variabili, funzioni e molto altro.
- Un linguaggio ad alto livello è un linguaggio che si avvicina molto al ragionamento umano ed
Il processo di compilazione
Gli elementi del processo di compilazione sono:
- PREPROCESSORE: processa le direttive # (include gli header) e produce il file intermedio.
- COMPILATORE: traduce il file intermedio (linguaggio di alto livello) in assembly (linguaggio di basso livello) se non ci sono errori di sintassi.
- ASSEMBLER - prende in ingresso il file assembly e lo traduce in codice macchina, generando il file oggetto, con estensione .o
- LINKER: partendo dal file oggetto generato dall'assembler e utilizzando le librerie standard che contengono le definizioni e realizzazioni dei sottoprogrammi di libreria (ad esempio scanf e printf) compone e crea il file eseguibile.
Il linguaggio macchina è un linguaggio di programmazione di livello più basso rispetto all'assembly, comprende istruzioni binarie eseguibili direttamente dal processore di un computer scritte in codice binario, costituito da una sequenza di 0 e 1, che il processore è in grado di eseguire direttamente. Ogni processore ha il suo set specifico di istruzioni nel linguaggio macchina (ISA). es:
Il Linguaggio Assembly & Macchina
Il linguaggio assembly è un tipo di linguaggio a basso livello, tramite l'assemblatore, il codice assembly viene tradotto in linguaggio macchina.Inoltre invece di usare sequenze binarie, l'Assembly utilizza abbreviazioni chiamate codici mnemonici dove viene associato a ciascun comando in linguaggio macchina un breve codice formato generalmente da tre lettere. es:
Linguaggio Assembly e di Alto Livello: Pro & Contro
PRO:
- Propedeuticità: aiuta a far capire come funziona veramente un elaboratore;
- Aiuta a scrivere meglio nel linguaggio di più alto livello (ad esempio, C), perché si capisce come poi viene eseguito;
- È il linguaggio di programmazione a basso livello per eccellenza perché consente il più vasto accesso a tutte le risorse del computer;
- Consente di eseguire ottimizzazioni delle prestazioni;
- La stesura di un programma Assembly è molto complessa e richiede conoscenze non banali;
- Ogni architettura ha uno specifico set di istruzioni, quindi il codice in assembly non è portabile su diverse piattaforme;
- Maggiore lunghezza e minor leggibilità del codice.