Salve a tutti, per scuola devo scrivere un programma in assembly che dato un numero sommi i primi N numeri precedenti. Il problema è che mi stampa sempre k e non il risultato della somma.
Il codice è il seguente:
Potete aiutarmi? Grazie mille :)
Il codice è il seguente:
Codice:
;TESTO: Dato un numero N in input, sommare gli N numeri precedenti.
;CONTINUA A STAMPARE K
DOSSEG
.model small
.STACK 100h
.DATA
cnt db 0
Numero db 1
msg db "inserire numero da sommare",10,13,'$'
msg2 db "la somma e':",10,13,'$'
.CODE
MAIN:
MOV AX [MENTION=33362]data[/MENTION]
MOV DS,AX
MOV AH,09
LEA DX,msg
int 21h
MOV AH,01
int 21h
CICLO:
cmp AL,cnt
JE fine
ADD Numero,2
INC cnt
jmp CICLO
fine:
MOV AH,09
LEA DX,msg2
int 21h
MOV DL,Numero
MOV AH,02
int 21h
MOV AX,4c00h
int 21h
END MAIN