Assembly 用汇编语言循环程序
我有一个汇编程序,它要求用户输入并打印结果。现在我需要创建一个循环,这样程序将继续提示用户再次输入并计算结果。(例如:输入“是”尝试另一个或输入“否”退出程序。循环需要继续,直到输入“否”。 我是装配新手,正在努力学习。非常感谢您的帮助Assembly 用汇编语言循环程序,assembly,visual-studio-2015,masm,masm32,Assembly,Visual Studio 2015,Masm,Masm32,我有一个汇编程序,它要求用户输入并打印结果。现在我需要创建一个循环,这样程序将继续提示用户再次输入并计算结果。(例如:输入“是”尝试另一个或输入“否”退出程序。循环需要继续,直到输入“否”。 我是装配新手,正在努力学习。非常感谢您的帮助 .586 .MODEL FLAT INCLUDE io.h .STACK 4096 .DATA n1 DWORD ? n2 DWORD ? n3 DWORD ? prompt1 BYTE "Enter first number", 0 prompt2 B
.586
.MODEL FLAT
INCLUDE io.h
.STACK 4096
.DATA
n1 DWORD ?
n2 DWORD ?
n3 DWORD ?
prompt1 BYTE "Enter first number", 0
prompt2 BYTE "Enter second number", 0
prompt3 BYTE "Enter second number, z", 0
string BYTE 40 DUP(? )
resultLbl BYTE "result", 0
result BYTE 11 DUP(? ), 0
.CODE
_MainProc PROC
input prompt1, string, 40
atod string
mov n1, eax
input prompt2, string, 40
atod string
mov n2, eax
input prompt3, string, 40
atod string
mov n3, eax
push n3
push n2
push n1
call Prog1
add esp, 12
dtoa result, eax
output resultLbl, result
mov eax, 0
ret
_MainProc ENDP
Prog1 PROC
push ebp
mov ebp, esp
push ebx
mov eax, [ebp + 8]
imul eax, 3
mov ebx, [ebp+12]
imul ebx, 7
add eax, ebx
mov ecx, [ebp+16]
imul ecx, 2
add eax, ecx
pop ebx
pop ebp
ret
Prog1 ENDP
END
你在哪一部分遇到了麻烦?你知道如何输入数据,你已经做了3次了!我想再次循环整个程序,而againIt似乎需要分为3个步骤:1)输入字符串。2) 处理字符串以查看它们输入的内容。3) 有条件地跳转到代码中较早的点。你知道如何做第一步吗?是的。但我想我在第三步上遇到了麻烦。第三步从逻辑上讲是从第二步开始的。到目前为止你写了什么?您熟悉条件跳转指令吗<代码>je或
jne
?