【米么推文素材】汇编语言示例 求斐波那契数

该篇博客展示了如何使用汇编语言来计算斐波那契数列的值。通过定义一个名为`Fib`的过程,程序能够递归地计算给定数量的斐波那契数,并将结果打印出来。用户可以输入要计算的斐波那契数的项数,程序会逐一输出每个数值。
摘要由CSDN通过智能技术生成
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
Fibonacci数程序设计 目 录 一.课程设计任务书•••••••••••••••••••••••••••••••••••••••••••••••••••••2 二.正文••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••3 1.设计目的、设计内容、时间安排•••••••••••••••••••••••••••••••••••3 2.设计环境与与工具•••••••••••••••••••••••••••••••••••••••••••••••••3 3.程序设计算法说明、流程图••••••••••••••••••••••••••••••••••••••••3 4.源程序清单••••••••••••••••••••••••••••••••••••••••••••••••••••••••5 5.运行结果记录••••••••••••••••••••••••••••••••••••••••••••••••••••••8 6. 设计结果分析•••••••••••••••••••••••••••••••••••••••••••••••••••••••8 7.参考文献及其他••••••••••••••••••••••••••••••••••••••••••••••••••••8 三.评分表•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••9 四.封底••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值