TITLE assignment3-1 (assignment3-1.asm) ; Aodan Jing Student #:104134047 INCLUDE Irvine32.inc .data message BYTE "How many values of the Fibonacci number sequence do you want? ",0 message1 BYTE " ",0 n DWORD 01h .code main PROC mov edx,offset message call writestring call READINT call crlf mov ecx ,eax ; loop counter L1: push n ; n starts with 1 call Fib call writedec ;print fib number mov edx,offset message1 call writestring ; print space between numbers inc n ; go to the next one loop L1 call crlf call waitmsg exit main ENDP Fib PROC push ebp mov ebp, esp mov ebx,[ebp+8] ; get n cmp ebx,2 ; if n =1,2 just return 1 ja L1 mov eax, 1 jmp quit L1: dec ebx ; n-1 push ebx call Fib ;get fib(n-1) push eax ; store fib(n-1) in stack mov ebx,[ebp+8] sub ebx, 2 ; n -2 push ebx call fib ; get fib(n-2) pop edx ; get fib(n-1) add eax,edx ; add them up to get fib(n) quit: pop ebp ret 4 Fib ENDP END main
【米么推文素材】汇编语言示例 求斐波那契数
最新推荐文章于 2020-12-28 21:44:46 发布
该篇博客展示了如何使用汇编语言来计算斐波那契数列的值。通过定义一个名为`Fib`的过程,程序能够递归地计算给定数量的斐波那契数,并将结果打印出来。用户可以输入要计算的斐波那契数的项数,程序会逐一输出每个数值。
摘要由CSDN通过智能技术生成