0
我遇到了一些与我的代码有关的问题,它利用了ReadInt,然后它被放入一个变量中,我要求做一些基本的数学运算。 程序的要点是要求5个数字,将前两个数字相加,减去第三个数字,然后将第四个和第五个数字相加,并给出输出。 但是我不断收到一个错误的地方,我不知道在哪里。 例如,如果我使用数字3,10,7,6,1答案应该是13,但是我的程序输出14,这使我相信它采取7 + 6 + 1而不是3 + 10-7 + 6 + 1减法与ReadInt
.data
start BYTE "Please enter 5 numbers.", 0dh, 0ah,0
val1 DWORD ?
finish BYTE "The result of adding the first two numbers,subtracting the third", 0dh, 0ah, 0
finish2 BYTE " and adding the remaining two is ", 0dh, 0ah,0
msg BYTE 0dh,0ah,0
.code
main PROC
mov edx, OFFSET start
call WriteString
call ReadInt
mov val1,eax
call ReadInt
add eax, val1
mov val1, eax
call ReadInt
sub val1, eax
mov val1, eax
call ReadInt
add eax, val1
mov val1, eax
call ReadInt
add eax, val1
mov val1, eax
mov eax, val1
mov edx, OFFSET finish
call WriteString
mov edx, OFFSET finish2
call WriteString
mov edx, offset msg
call WriteString
invoke ExitProcess,0
main endp
end main
谢谢迈克尔太多了!我完全失去了问题的可能性!谢谢! –