我正在制作一个程序,我想从用户那里拿两个4位数字并显示它们的总和。
我知道如何从用户那里获取4位数输入,但我无法将4位数字相加并显示结果。
需要帮助才能知道如何添加和显示两个4位数字的总和。
我正在使用emu8086汇编程序
这是我到目前为止所做的事情。总和未正确计算。而不是显示总和,控制台上会显示一些标志,如" $"等
.model small
.data
st9 db 13,10,"Enter First Number : ",'$'
st10 db 13,10,"Enter Second Number : ",'$'
st11 db 13,10,"Result = ",'$'
num dw ?
num2 dw ?
a dw 1000
b db 100
c db 10
.code
main proc
mov AX,@data
mov DS,AX
addition:
mov AH,9H
mov DX,offset st9
INT 21H
mov AH,1
INT 21H
SUB AL,30H
MUL a ;1st digit
mov num,AX
mov AH,1
INT 21H
SUB AL,30H
MUL b ;2nd digit
add num,AX
mov AH,1
INT 21H
SUB AL,30H
MUL c ;3rd digit
ADD num,AX
mov AH,1
INT 21H ;4th digit
SUB AL,30H
ADD num,AX
mov AH,9H
mov DX,offset st10
INT 21H
mov AH,1
INT 21H
SUB AL,30H
MUL a ;1st digit
mov num2,AX
mov AH,1
INT 21H
SUB AL,30H
MUL b ;2nd digit
ADD num2,AX
mov AH,1
INT 21H
SUB AL,30H
MUL c ;3rd digit
ADD num2,AX
mov AH,1
INT 21H ;4th digit
SUB AL,30H
ADD num2,AX
call addfunc
exit:
mov AH,4CH
INT 21H
addfunc proc near
mov BX,num2
ADD BX,num
SUB BX,48D
mov AH,9H
mov DX,offset st11
INT 21H
mov AH,2
mov DL,bH
INT 21H
mov AH,2
mov DL,bl
INT 21H
ret
end main