>> Tecnologia elettronica >  >> Audio domestico >> Amplificatori & preamplificatori

Ottenere input utente in assembly 8086 per operazioni di addizione

Introduzione alla gestione input in assembly 8086

Quando si programma in assembly 8086, ottenere input utente per operazioni aritmetiche come l'addizione richiede l'uso di interrupt DOS. L'approccio più comune prevede l'uso di interrupt 21h con funzione 01h per leggere un singolo carattere dall'input standard, quindi convertire quel carattere ASCII al suo equivalente numerico.

Esempio completo di programma addizione

Il programma seguente dimostra come richiedere due numeri a singola cifra, sommarli e visualizzare il risultato:

.MODEL SMALL .STACK 100H .DATA MSG DB 'Enter two numbers: $' CRLF DB 0DH, 0AH, '$' .CODE MAIN PROC ; Initialize data segment MOV AX, @DATA MOV DS, AX ; Display prompt MOV AH, 9 LEA DX, MSG INT 21H ; Get first number MOV AH, 1 INT 21H SUB AL, 30H ; Convert ASCII to decimal MOV BL, AL ; Store in BL ; Get second number MOV AH, 1 INT 21H SUB AL, 30H ; Convert ASCII to decimal MOV BH, AL ; Store in BH ; Perform addition ADD BL, BH ; BL = BL + BH MOV AL, BL ; Move result to AL for display ; Display result MOV AH, 2 MOV DL, AL INT 21H ; New line MOV AH, 9 LEA DX, CRLF INT 21H ; Exit program MOV AH, 4CH INT 21H MAIN ENDP END MAIN 

Concetti chiave spiegati

Funzioni interrupt DOS 21h

Conversione ASCII

I caratteri numerici '0'-'9' hanno valori ASCII 30h-39h. Sottraendo 30h si converte il codice ASCII al suo valore numerico effettivo (0-9). Questa conversione è essenziale prima di eseguire operazioni aritmetiche.

Uso dei registri

Il programma usa i registri BL e BH per memorizzare i due numeri di input, poi li somma usando l'istruzione ADD. Il risultato rimane in BL, che viene spostato in AL per la visualizzazione tramite il registro DL.

Limitazioni ed estensioni

Questo esempio base gestisce solo numeri a singola cifra (0-9). Per input multi-cifra, servirebbe implementare un ciclo che legge caratteri fino a premere Invio, costruendo il numero moltiplicando il valore accumulato per 10 e aggiungendo ogni nuova cifra.

  1. Preamplificatori audio fai da te
  2. Come collegare un preamplificatore phono a un amplificatore integrato McIntosh MA6500
  3. Come costruire un amplificatore ad alta potenza con transistor 2SC2921
  4. Perché gli Amplificatori Hanno Bisogno di Bassa Impedenza di Uscita
  5. Come realizzare diffusori per giradischi usando un amplificatore per chitarra
  6. Abbinare Altoparlanti all'Amplificatore Pyle PT3300: Guida a Potenza RMS e Impedenza