码迷,mamicode.com
首页 > 其他好文 > 详细

汇编实现Fibnacci

时间:2018-04-28 20:56:41      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:数据段   map   can   art   tar   exit   invoke   代码   model   

这里使用32位的汇编环境,编译器为VS2010


.386
.model flat,stdcall
option casemap:none

includelib msvcrt.lib
printf  PROTO C :dword, :VARARG

.data   ;数据段
    num dword 15
    szOut byte ‘FIB(%d)=%d‘,0ah,0

.code ;代码段开始
factorial proc C n:dword
    cmp n, 2
    jbe exitrecurse
    mov ebx, n          ;EBX=n
    dec ebx             ;EBX=n-1
    invoke factorial, ebx   ;EAX=(n-1)!
    cmp edx,0
    je scan
    add ecx,eax
    scan:
    mov ebx, n
    sub ebx,2
    invoke factorial,ebx;
    add ecx,eax                 ;EAX=EAX*n
    mov edx,0
    ret
exitrecurse:
    mov eax, 1          ;n=1时,n!=1
    ret
factorial endp

start:
    mov ecx,0
   invoke factorial, num
   invoke printf, offset szOut, num, ecx
   ret
end start;  代码段结束

汇编实现Fibnacci

标签:数据段   map   can   art   tar   exit   invoke   代码   model   

原文地址:https://www.cnblogs.com/DismalSnail/p/8969339.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!