I am having trouble with my code, It doesn’t show the answer that I am expecting. Please help. When I input 0.777+0.777, the answer should be 1.665
.model small
.stack 100h
.data
mem db “Base 09 Addition$”
addend db 0Ah, 0Dh, “Addend [0.000 – 0.888]: $”
auguend db 0Ah, 0Dh, “Auguend [0.000 – 0.888]: $”
sum db 0Ah, 0Dh, “The sum is: $”
.code
main proc
mov ax, @data ;initialize ds
mov ds, ax
start:
mov ah, 09h
lea dx, mem
int 21h
mov ah, 09h
lea dx, addend
int 21h
mov ah, 02h
mov dl, 30h
int 21h
mov dl, 2Eh
int 21h
mov ax, 0000h
mov ah, 01h ;1st input addend
int 21h
sub al, 30h
mov dh, al
mov ah, 01h ;2nd input addend
int 21h
mov ch, al
mov ah, 01h ;3rd input addend
int 21h
mov cl, al
mov ah, 09h
lea dx, auguend
int 21h
mov ah, 02h
mov dl, 30h
int 21h
mov dl, 2Eh
int 21h
mov ah, 01h ;1st input auguend
int 21h
sub al, 30h
mov ah, 01h ;2nd input auguend
int 21h
mov bh, al
mov ah, 01h ;3rd input auguend
int 21h
mov bl, al
mov ah, 09h
lea dx, sum
int 21h
;process for addition base 9
sub bx, 3030h
sub cx, 3030h
add dh, al
add cl, bl
add ch, bh
add cl, 30h
add ch, 30h
add dh, 30h
cmp cl, 39h
jae sumcarry91
cmp ch, 39h
jae sumcarry92
cmp dh, 39h
jae sumcarry93
mov ah, 02h
mov dl, dh
int 21h
mov dl, ch
int 21h
mov dl, cl
int 21h
jmp stop
sumcarry91:
sub cl, 09h
add ch, 01h
cmp ch, 39h
jae sumcarry92
cmp dh, 39h
jae sumcarry93
mov ah, 02h
mov dl, dh
int 21h
mov dl, ch
int 21h
mov dl, cl
int 21h
jmp stop
sumcarry92:
sub ch, 09h
add dh, 01h
cmp dh, 39h
jae sumcarry93
mov ah, 02h
mov dl, dh
int 21h
mov dl, ch
int 21h
mov dl, cl
int 21h
jmp stop
sumcarry93:
sub dh, 09h
mov ah, 02h
mov dl, 31h
int 21h
mov dl, 2Eh
int 21h
mov dl, dh
int 21h
mov dl, ch
int 21h
mov dl, cl
int 21h
jmp stop
stop:
mov ah, 4ch ;stop
int 21h
main endp
end main
New contributor
BEBEBEA is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.