我必须编写一个程序,它将以四个整数读取,进行一些计算并打印出结果。我得到了一个结果,但我还需要打印出使用的整数,我无法弄清楚如何做到这一点。不能使用循环。任何帮助将不胜感激。
Prompt BYTE "Please enter four integers on different lines: ", 0dh, 0ah, 0
Result BYTE "The sum of the integers is: ", 0
Num1 DWORD ?
Num2 DWORD ?
Num3 DWORD ?
Num4 DWORD ?
Sum DWORD ?
.code
main PROC
call Clrscr
mov edx,OFFSET Prompt
call WriteString
call ReadInt
mov Num1, eax
call ReadInt
mov Num2, eax
call ReadInt
mov Num3, eax
call ReadInt
mov Num4, eax
mov eax, Num1
sub eax, Num2
add eax, Num3
sub eax, Num4
mov Sum, eax
call Clrscr
mov eax, OFFSET Num1
call WriteInt
mov edx, OFFSET Result
call WriteString
mov eax, Sum
call WriteInt
call CRLF
exit
main ENDP
答案 0 :(得分:1)
mov eax, Num1
sub eax, Num2
add eax, Num3
sub eax, Num4
如果这是你需要的总和,那么我不明白为什么你在这里两次使用SUB指令!
mov eax, OFFSET Num1
call WriteInt
要输出第一个数字,只需删除OFFSET标记即可。现在显示Num1变量的地址 要输出在不使用循环的情况下使用的所有整数,只需对每个数字重复操作。为了便于阅读,您可能希望在数字之间输出CRLF。
mov eax,Num1
call WriteInt
call CRLF
mov eax,Num2
call WriteInt
call CRLF
mov eax,Num3
call WriteInt
call CRLF
mov eax,Num4
call WriteInt
call CRLF