Ah, si giusto.
ok, però non mi dà il 5, mi dà un altro carattere ASCII... il trifoglio. cioè mi dà il 4, seguito da un trifoglio. :O
potrebbe essere che ho sbagliato qualcosa con il resto.
ti allego l' intero codice.
dati segment
resto1 db 0h
cifra1 db 0h
cifra2 db 0h
numero db 0h
msg1 db "Inserisci delle cifre (0 per terminare): $"
msg66 db "La somma corrisponde a: $"
msg3 db "Il risulato corrisponde a: $"
dati ends
codice segment
assume cs: codice, ds: dati
inizio:
mov ax, dati
mov ds, ax
mov ax, 0000h
mov bx, 0000h
mov numero, 0h
lea dx, msg1
mov ah, 09h
int 21h
comincia:
call inse
cmp al, 0h
jne comincia
mov bl,dl
mov AH,02h
mov DL,13
int 21h
mov AH,02h
mov DL,10
int 21h
lea dx, msg3
mov ah, 09h
int 21h
mov dl,numero
mov ah, 02h
int 21h ;output ascii
mov ah, 4ch
mov bl,dl
mov AH,02h
mov DL,13
int 21h
mov AH,02h
mov DL,10
int 21h
lea dx, msg66
mov ah, 09h
int 21h
ciclo:
mov ah, 0d
mov al, numero
mov bl, 10d
div bl
mov numero, ah
cmp al, 0d
je fineprog
add al, 30h
mov dl, al
mov ah, 02h
int 21h
jmp ciclo
fineprog:
mov dl, ah
mov ah, 02h
int 21h
inse proc near
mov ah, 01h
int 21h
sub al, 30h
add numero, al
ret
endp
codice ends
end inizio