首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使汇编语言程序在fibonacci 5次输出后调用新行

如何使汇编语言程序在fibonacci 5次输出后调用新行
EN

Stack Overflow用户
提问于 2017-01-31 14:40:55
回答 1查看 235关注 0票数 0

因此,我的任务是让用户输入一些斐波那契术语进行打印,然后程序会按顺序打印出来。但是,它还要求在打印五个术语后有一个新行。另一个要求是在计算斐波那契数的循环中必须使用masm " loop“指令。我如何在没有无限循环的情况下实现这一点?这就是我现在所拥有的。它可以很好地计算斐波纳契数,但当我尝试添加新行时不会:

代码语言:javascript
复制
.data
fib_count    DWORD    ?
num1         DWORD    0
num2         DWORD    1
sum          DWORD    0
counter      DWORD    0
spaces       BYTE     "     ",0
.code

main PROC

;Display fibonacci
mov     ecx, fib_count ;fib_count is the number of terms the user entered
;printing first 1
mov     eax, 1
call    WriteDec
mov     edx, OFFSET spaces
call    WriteString
dec     ecx

print_loop:
mov     eax, num1
add     eax, num2
mov     sum, eax
mov     eax, num2
mov     num1,eax
mov     eax, sum
mov     num2,eax
mov     eax, sum
call    WriteDec
inc     counter
mov     eax, counter
cmp     eax, 5
je      new_line
mov     edx, OFFSET spaces
call    WriteString
loop    print_loop

new_line:
call    crlf
loop    print_loop
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-31 14:46:52

您需要在new_line之前使用一个跳转指令来遍历new_line代码:

代码语言:javascript
复制
;       ...
        call    WriteString
        loop    print_loop
        jmp     short done

new_line:
        call    crlf
        loop    print_loop
done:
;       ...
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41951191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档