Want to create interactive content? It’s easy in Genially!

Get started free

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
è caratterizzato da una significativa astrazione dai dettagli di funzionamento di un calcolatore; ad alto livello sono il C, il C++ e Java, questi linguaggi vengono usati spesso per iniziare a programmare, dato che sono molto comprensibili e molto vicini al pensiero umano

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;
CONTRO:
  • 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.

Fine

Grazie dell'attenzione