我试图在 MASM x86(我使用 8086)上找到两个用户输入数字的平均值。我似乎无法计算平均值!我可以让这两个数字相乘,但我不知道如何将它们相加,然后将它们除以数字的总数(在我的情况下它只有 2)。这是我到目前为止所拥有的(是的,我意识到我在相乘,但这只是表明我确实尝试了一些东西,我只是不能让他们加和除总和):
.model small
org 100h
.data
num1 db ?
num2 db ?
result db ?
usermsg db "Enter EVEN numbers only.$"
msg1 db 13, 10, "Enter first number: $"
msg2 db 13, 10, "Enter second number: $"
msg3 db 13, 10, "The average is: $"
.code
main proc
mov ax, @data
mov ds, ax
lea dx, usermsg
mov ah, 09h
int 21h
lea dx, msg1
mov ah, 09h
int 21h
mov ah, 01h
int 21h
sub al, '0'
mov num1, al
mov dl, al
lea dx, msg2
mov ah, 09h
int 21h
mov ah, 01h
int 21h
sub al, '0'
mov num2, al
mul num1
;add al, num1
mov result, al
idiv result, 2 ;new code
aam
add ah, '0'
add al, '0'
mov bx, ax
lea dx, msg3
mov ah, 09h
int 21h
mov ah, 02h
mov dl, bh
int 21h
mov dl, bl
int 21h
mov ax, 4c00h
int 21h