Я пытаюсь сложить 3 числа с 2 цифрами.Я делаю программу, которая запрашивает 3 числа, но я не знаю, как их добавить.
Пример:
99 + 99 + 99 = 270 (Пример)
Это моя программа, в которой я спрашиваю цифры, но сумма неверна.Как я могу это исправить?
.model small
.stack 64
.data
.code
M1 DB 10,13,' First number : $'
M2 DB 10,13,' Second number : $'
M3 DB 10,13,' Third number : $'
M4 DB 10,13,' Result : $'
b1 db 0
b2 db 0
b3 db 0
b4 db 0
.startup
inicio:
;------ask first number-------
mov AH, 9
lea DX, M1
int 21h
mov ah,01h
int 21h
sub al,30h
mov b1,al
mov ah,01h
int 21h
sub al,30h
mov b2, al
;------ask second number-------
mov AH, 9
lea DX, M2
int 21h
mov ah,01h
int 21h
sub al,30h
mov b3,al
mov ah,01h
int 21h
sub al,30h
mov b4, al
;------Ascii adjustment for the sum------
aaa
mov bx,ax
sub bh,01h
;------ask third number------------
mov AH, 9
lea DX, M2
int 21h
mov ah,01h
int 21h
sub al,30h
mov bl,al
mov ah,01h
int 21h
sub al,30h
add al,bl
mov b1, bh
add al, bl
;mov ah, 02h
;mov dl, bl
;int 21h
;------Ascii adjustment for the sum------
aaa
mov bx,ax
sub bh,01h
add bh, b1
or bx,3030h
;------High part sum printing-----------
mov ah, 9
lea dx, m4
int 21h
mov ah,02h
mov dl,bh
int 21h
;-----low print-----------
mov ah,02h
mov dl,bl
int 21h
;exit:
;mov ah,04ch
;int 21h
.exit
end