用汇编语言循环程序

时间:2018-04-22 22:20:48

标签: assembly visual-studio-2015 masm masm32

我有一个汇编程序,要求用户输入并打印其结果。现在我需要创建一个循环,以便程序继续提示用户再次输入输入并计算结果。 (示例:输入" YES"尝试另一个或#34; NO"退出程序。循环需要继续,直到输入#34; NO"。 我是集会新手,我正在努力学习。任何帮助都非常感谢。

.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

0 个答案:

没有答案