Assembly language è un linguaggio di programmazione a bassissimo livello, molto vicino al linguaggio macchina del processore. Ogni istruzione assembly corrisponde quasi sempre a una singola istruzione eseguita dalla CPU.
In pratica, invece di usare comandi “umani” come in Python o Java, in assembly si scrivono istruzioni molto elementari, come:
- spostare dati tra registri della CPU
- fare somme o sottrazioni
- confrontare valori
- saltare a un’altra istruzione (salti condizionali o incondizionati)
Come funziona
La CPU non capisce direttamente l’assembly: lo si scrive per essere poi tradotto da un assembler in linguaggio macchina (sequenze di 0 e 1).
Esempio:
MOV AX, 5
ADD AX, 3
Qui si mette il valore 5 in un registro e poi si aggiunge 3.
Caratteristiche
- È molto veloce ed efficiente: permette controllo diretto dell’hardware
- È poco portabile: cambia da architettura a architettura (x86, ARM, ecc.)
- È difficile da scrivere e leggere rispetto ai linguaggi ad alto livello
- È usato in contesti specifici: sistemi operativi, driver, embedded, reverse engineering, ottimizzazioni critiche