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
謝謝邁克爾太多了!我完全失去了問題的可能性!謝謝! –