Calcolatori elettronici/Introduzione: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nuova pagina: {{Calcolatori elettronici}} ==Struttura generale di un programma== Un programma è sempre composto da tre pseudo-istruzioni, dette '''direttive''', che non sono delle istruzioni per...
 
Gian BOT (discussione | contributi)
m Bot: sostituzione tag obsoleti
 
Riga 2:
==Struttura generale di un programma==
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:
* <ttcode>.STACK</ttcode> indica il contenuto del '''segmento''' (= parte di memoria) stack;
* <ttcode>.DATA</ttcode> indica il contenuto del segmento per le variabili, dichiarate con <ttcode><nome_simbolico> <tipo> <valore_di_inizializzazione|?></ttcode>;
* <ttcode>.CODE</ttcode> indica il contenuto del segmento per il codice. All'interno della porzione <ttcode>.CODE</ttcode>, le istruzioni <ttcode>.STARTUP</ttcode> e <ttcode>.EXIT</ttcode> si occupano di comunicare al sistema operativo l'avvio e il termine dell'esecuzione.
 
==Istruzioni==
Le variabili simboliche evitano di richiedere l'uso diretto degli indirizzi.
* '''<ttcode>MOV</ttcode>''' scrive un valore in memoria: <ttcode>MOV <cella_di_destinazione> <valore></ttcode>
* '''<ttcode>ADD</ttcode>''' somma due valori e memorizza il risultato all'interno della cella di memoria del primo operando: <ttcode>ADD <primo_operando> <secondo_operando></ttcode>
 
===Input/output===
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 <ttcode>INT 21h</ttcode> (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:
* <ttcode>1</ttcode>: non appena viene digitato un carattere sulla tastiera esso viene memorizzato in AL in codifica ASCII;
* <ttcode>2</ttcode>: su schermo viene visualizzato il contenuto di DL.
 
I numeri devono sempre essere convertiti in codifica ASCII.