Come si ottiene l'input in linguaggio assembly utilizzando il microprocessore 8086 per l'aggiunta?
; Programma in linguaggio assembly 8086 per aggiungere due numeri
; Definire il segmento in cui verrà eseguito il codice
.MODELLO PICCOLO
; Definire la dimensione del segmento dello stack
.PISTA 100H
; Definire il segmento dati in cui vengono archiviate le variabili
.DATI
; Definire le porte di ingresso/uscita
INPORTO EQU 68H
USCITA EQU 6CH
; Definire il buffer di input/output
INPUT_BUF DB 10 DUP('$')
; Definire il buffer di output
OUTPUT_BUF DB 11 DUP('$')
; Definire i caratteri di ritorno a capo e di avanzamento riga
CRLF DB 0DH, 0AH, '$'
; Definire il messaggio da visualizzare
MSG DB 'Inserisci due numeri:', '$'
; Definire il segmento in cui verrà eseguito il codice
.CODICE
; Definire la procedura principale
PROC. PRINCIPALE
; Visualizzare il messaggio sullo schermo
MOV AH, 9; Visualizza la stringa
LEA DX, MSG; Indirizzo del messaggio
INT 21H; Chiama il servizio DOS
; Ottieni il primo numero dall'utente
MOV AH, 1; Ottieni carattere
INT 21H; Chiama il servizio DOS
MOV AL, AH; Memorizza il carattere in AL
SUB AL, 30H; Converti il codice ASCII in un numero
MOV BL, AL; Memorizza il primo numero in BL
; Ottieni il secondo numero dall'utente
MOV AH, 1; Ottieni carattere
INT 21H; Chiama il servizio DOS
MOV AL, AH; Memorizza il carattere in AL
SUB AL, 30H; Converti il codice ASCII in un numero
MOVBH, AL; Memorizza il secondo numero in BH
; Aggiungi i due numeri
AGGIUNGI BL, BH; Aggiungi i due numeri
MOV AL, BL; Memorizza il risultato in AL
; Visualizza il risultato sullo schermo
MOV AH, 2; Scrivi il carattere
MOVDL, AL; Memorizzare il risultato in DL
INT 21H; Chiama il servizio DOS
; Visualizza i caratteri di ritorno a capo e di avanzamento riga
MOV AH, 9; Visualizza la stringa
LEA DX, CRLF; Indirizzo dei caratteri di ritorno a capo e di avanzamento riga
INT 21H; Chiama il servizio DOS
; Uscire dal programma
MOV AH, 4CH; Esci dal programma
INT 21H; Chiama il servizio DOS
; Fine della procedura principale
FINE PRINCIPALE
; Fine del programma
FINE PRINCIPALE
```