【问题标题】:MASM Assembly, creating loopsMASM 组装,创建循环
【发布时间】:2015-02-01 20:47:05
【问题描述】:
 .386
.MODEL FLAT
ExitProcess PROTO NEAR32 stdcall, dwExitCode:DWORD 
Include io.h
cr     equ 0DH
Lf     equ 0AH

   .STACK 4096
   .DATA

string byte 40 Dup (?)
number dword ?
rejected byte cr, Lf, "Rejected", 0

    .code
_start:
main PROC

forever: input string, 40
         atod string
         mov number, eax
         cmp number,0
         jne processing
         je  finish
         jmp forever

processing:
    cmp number,10
        jg message
    cmp number,-10
        jl message

message: output rejected


finish:
    INVOKE ExitProcess, 0

main endp
PUBLIC _start
        END

我要完成的工作:一次读入一个数字,处理该数字并检查它是否为 0,如果是,则退出程序,如果数字 > 10 或

【问题讨论】:

    标签: loops assembly masm jump-table


    【解决方案1】:

    你把循环放错了顺序。当输入0 时退出,否则处理它并且THEN 你想重复循环直到输入0,当输入的值错误时你必须打印消息。

         cmp number,0
         je  finish
    
    processing:
        ...
        jmp forever    ; So everything is fine and you continue
    
    
    message:
        output rejected
        jmp forever
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-23
      • 1970-01-01
      相关资源
      最近更新 更多