Vai al contenuto

Calcolatori elettronici/Introduzione

Wikibooks, manuali e libri di testo liberi.
Indice del libro

Struttura generale di un programma

[modifica | modifica sorgente]

Un programma è sempre composto da tre pseudo-istruzioni, dette direttive, che non sono delle istruzioni per il processore ma solo delle indicazioni specifiche dell'assemblatore:

  • .STACK indica il contenuto del segmento (= parte di memoria) stack;
  • .DATA indica il contenuto del segmento per le variabili, dichiarate con <nome_simbolico> <tipo> <valore_di_inizializzazione|?>;
  • .CODE indica il contenuto del segmento per il codice. All'interno della porzione .CODE, le istruzioni .STARTUP e .EXIT si occupano di comunicare al sistema operativo l'avvio e il termine dell'esecuzione.

Le variabili simboliche evitano di richiedere l'uso diretto degli indirizzi.

  • MOV scrive un valore in memoria: MOV <cella_di_destinazione> <valore>
  • ADD somma due valori e memorizza il risultato all'interno della cella di memoria del primo operando: ADD <primo_operando> <secondo_operando>

Input/output

[modifica | modifica sorgente]

Il sistema operativo offre delle procedure di tipo driver che aiutano le applicazioni a comunicare con le periferiche. I driver si preoccupano di compiere direttamente le operazioni di input/output, conoscendo gli indirizzi di periferica.

L'istruzione INT 21h (interrupt) simula l'input di una periferica, interrompendo il programma in esecuzione e attivando una procedura driver, la quale recupera il valore contenuto nel registro AH:

  • 1: non appena viene digitato un carattere sulla tastiera esso viene memorizzato in AL in codifica ASCII;
  • 2: su schermo viene visualizzato il contenuto di DL.

I numeri devono sempre essere convertiti in codifica ASCII.