Premessa

In queste dispense viene esaminata la programmazione assembly in ambiente GNU/Linux con l'uso dell'assemblatore GAS (GNU Assembler).

La trattazione non ha alcuna pretesa di completezza ma ha scopi prettamente didattici, come supporto per le attività pratiche nella disciplina «sistemi informatici» nelle classi terze degli ITIS ad indirizzo informatico.

Sono prerequisiti indispensabili per l'uso di queste dispense:

  1. conoscenza dei sistemi di numerazione binario, ottale, esadecimale e delle modalità di rappresentazione dei dati, numerici e non, all'interno del sistema di elaborazione;

  2. conoscenza dell'algebra di Boole e degli operatori logici;

  3. conoscenza della struttura e del funzionamento del sistema di elaborazione (macchina di Von Neumann), del PC e delle sue periferiche;

  4. conoscenza teorica delle fasi che portano alla traduzione ed esecuzione di un programma scritto in un generico linguaggio assembly;

  5. conoscenza dei principi di base della programmazione e capacità di scrivere semplici programmi in linguaggio c;

  6. capacità di utilizzo della piattaforma GNU/Linux, soprattutto nella modalità a «linea di comando».

Riguardo al punto 1 si possono consultare le dispense dal titolo: «Rappresentazione dei dati nell'elaboratore»; per il punto 2 ci sono le dispense dal titolo: «Algebra di Boole e reti logiche» mentre per i punti 3 e 4 sono disponibili le dispense dal titolo: «Architettura dei sistemi di elaborazione, PC e linguaggi a basso livello».

Tutto questo materiale è opera dello stesso autore delle presenti dispense ed è reperibile all'indirizzo <http://www.maxplanck.it/materiali> selezionando la scelta «VEDI MATERIALE» e cercando poi in base al docente scegliendo il nome Ferroni Fulvio.

Riguardo ai punti 5 e 6 la quantità di documentazione disponibile è notevole sia in forma cartacea che in rete; citiamo solo una delle opere più complete: gli «Appunti di informatica libera» di Daniele Giacomini, disponibile all'indirizzo <http://a2.swlibero.org>.