Calcolatori elettronici/Introduzione
Struttura generale di un programma
modificaUn 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.
Istruzioni
modificaLe 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
modificaIl 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.