L’assembler
L’assembler
Creato il computer programmabile occorreva dunque programmarlo e per farlo occorreva inserire nella sua memoria centrale delle istruzioni; esse venivano eseguite dalla CPU (Central Processing Unit) in maniera sequenziale; è per questo che gli elaboratori si chiamavano “...a programma sequenziale memorizzato”.
Le istruzioni fondamentalmente erano e sono ancora oggi costituite da codici operativi e uno o più indirizzi di memoria su cui operare. Il programmatore realizzava i programmi scrivendo sequenze di istruzioni, ma per farlo doveva conoscere tutti i codici operativi e ricordare gli indirizzi di memoria in cui erano i dati su cui operare (questa era la programmazione in “assoluto”); ma presto nacquero programmi (in genere forniti dalle case che producevano i computer) capaci di agevolare la programmazione; questi programma si chiamavano assemblatori e consentivano ai programmatori di scrivere le istruzioni con dei codici non più assoluti ma mnemonici e di far riferimento alle memorie su cui operare con nomi mnemonici più significativi; comunque per ogni istruzione da eseguire il programmatore scriveva la corrispondente istruzione mnemonica e poi l’assemblatore (che nel 7070 IBM si chiamava autocoder) provvedeva a tradurle nelle corrispondenti istruzioni assolute.
Poco più tardi nacquero i macro-assemblatori che consentivano ai programmatori di scrivere istruzioni più complesse e potenti, inesistenti nella macchina, che poi l’assemblatore traduceva in una sequenza di istruzioni assolute di macchina.
Una cosa meravigliosa per qui tempi era la possibilità per i programmatori di “creare” nuove macro-istruzioni per dirigere l’assemblatore a produrre sequenze di istruzioni sempre più complesse e diverse.
La creazione di macro-istruzioni mi affascinò particolarmente e fui uno dei primi programmatori ad utilizzare questa avanzata funzionalità offerta dagli assemblatori IBM.