Salve, voglio sommare due vettori (inseriti da tastiera) e salvare il tutto in un terzo vettore. Esempio:
VET1 5,2,3,4,2
VET2 3,4,2,1,2
VET3 8,6,5,5,4 <--- Vettore somma
Io ho svolto cosi,solo che invece dei numeri mi stampa le lettere, cioè : 2+2=d (ovvero la quarta lettera dell'alfabeto) , oppure 3+2= e (quinta lettera dell'alfabeto). Ecco il codice
.MODEL MEDIUM
.STACK 100H
.DATA
VET1 DB 5 DUP(?)
VET2 DB 5 DUP(?)
VET3 DB 5 DUP(?)
DOM1 DB 'INSERISCI PRIMI VETTORI: ',13,10,'$'
DOM2 DB 'INSERISCI SECONDI VETTORI: ',13,10,'$'
RIS DB 'VETTORE FINALE E ',13,10,'$'
.CODE
.STARTUP
MOV AX,@DATA
MOV DS,AX
MOV SI,0 ;contatore
CICLO1:
MOV AH,09H
MOV DX,OFFSET DOM1 ;stampa a video dom1
INT 21H
MOV AH,01H
INT 21H ;inserisco gli elementi del primo vettore
MOV [VET1+SI],AL
INC SI
CMP SI,5 ; continuo finche' non inserisco tutti e 5 elementi
JL CICLO1
MOV SI,0 ;contatore =0
CICLO2: ;faccio lo stesso per il secondo vettore
MOV AH,09H
MOV DX,OFFSET DOM2
INT 21H
MOV AH,01H
INT 21H
MOV [VET2+SI],AL
INC SI
CMP SI,5
JL CICLO2
MOV SI,0
MOV AL,0
MOV AH,0
CICLO3:
ADD AL,[VET1+SI]
ADD AL,[VET2+SI]
MOV [VET3+SI],AL
;eseguo la somma
INC SI
MOV AL,0
CMP SI,5
JL CICLO3
MOV SI,0
MOV AH,09H
MOV DX,OFFSET RIS ;STAMPA A VIDEO RIS
INT 21H
CICLO4:
MOV AH,02H
MOV DL,[VET3+SI]
INT 21H ;stampa elementi del vettore 3
INC SI
CMP SI,5
JL CICLO4
MOV AH,4CH ;controllo al dos
INT 21H
END