Guida alla programmazione in Assembly
Introduzione
Il linguaggio assembly è il linguaggio di programmazione più vicino alla realtà fisico-elettronica di una macchina. L'assembly permette di ignorare la forma binaria del programma finale e sostituire i codici in linguaggio macchina con una sequenza di caratteri equivalente (JMP, MOV) ma più comprensibile all'uomo. Prima di essere eseguito il programma deve essere tradotto da un compilatore specifico in linguaggio macchina, la forma binaria compresa dalla macchina in questione. Proprio per questa stretta connessione con l'hardware non si può parlare di un linguaggio Assembly generale; ogni famiglia di CPU ha il suo linguaggio specifico, somigliante agli altri ma con istruzioni caratteristiche. Questa guida ha lo scopo di spiegare come approcciarsi a questo argomento a chi vi si avvicina per la prima volta.
Elementi necessari
Per imparare l'assembly sono necessarie:
- nozioni di programmazione di base: l'assembly è un linguaggio di programmazione di basso livello, meno indicato come primo apprendimento rispetto a linguaggi come Pascal, C, Basic
- nozioni di algebra booleana e rappresentazione binaria dei numeri il linguaggio agisce in modo diretto su informazioni di tipo binario, è quindi fondamentale conoscere come si lavora a livello pratico e matematico con la codificazione in bit
- documentazione sulla macchina di interesse (sorgenti, guide, datasheets) per ogni famiglia di processore esiste una documentazione esaustiva reperibile online e in forma gratuita che riguarda il proprio assembler. Ogni costruttore ha interesse che si programmi con i propri prodotti e fornisce tutte le informazioni necessarie agli sviluppatori.
Scegliere una famiglia di CPU
Il passo successivo è scegliere una famiglia di CPU e acquistare una guida sul suo assembly; da questa capiremo passo per passo la struttura hardware, le istruzioni, i costrutti e gli esempi di codice caratteristici della macchina in questione. Una volta acquisita padronanza con l'assembly di una famiglia, non ci saranno difficoltà a programmare su qualsiasi altro tipo di processore.
Imparare i comandi mnemonici
Una volta acquisite le conoscenze di base basterà di volta in volta procurarsi la documentazione della macchina e imparare i comandi mnemonici necessari. Una volta scritto il programma è fondamentale, prima di caricarlo in memoria ed eseguirlo, utilizzare il compiler opportuno per tradurre il linguaggio assembly in linguaggio macchina.
Le istruzioni da seguire
Quindi facendo una sintesi generica di tutti i passaggi ecco qui le istruzioni fondamentali di ogni passo:1. È necessario possedere delle conoscenze base di programmazione, algebra booleana, rappresentazione binaria e sulla macchina di interesse.2. Scegliere una famiglia di Cpu con l'acquisizione di una guida sul proprio assembley 3. Scrivere il programma che si vuole4. Utilizzare il compiler per tradurre il linguaggio5. Ecco a voi il vostro programma.