zoukankan      html  css  js  c++  java
  • 汇编实现Fibnacci函数的功能

    这里使用32位的汇编环境


    .386
    .model flat,stdcall
    option casemap:none
    
    includelib msvcrt.lib
    printf	PROTO C :dword, :VARARG
    scanf   PROTO C :dword, :VARARG
    
    .data   ;数据段
    	num   dword ?
    	input  byte '%d',0
    	szOut byte 'FIB(%d)=%d',0ah,0
    
    .code ;代码段开始
    fib proc C n:dword
    	cmp n, 2		;当n=1或 2时跳转
    	jbe exitrecurse;小于等于跳转(b:below,e:equal)
    	mov ebx, n			;EBX=n
    	dec ebx				;EBX=n-1
    	invoke fib, ebx	;fib(n-1)
    	mov ebx, n
    	sub ebx,2
    	invoke fib,ebx;fib(n-2)
    	add eax,1
    	ret
    exitrecurse:
    	ret
    fib endp
    
    start:
    	 mov eax,1
       invoke scanf,offset input,offset num;需要传送地址指针
       invoke fib, num
       invoke printf, offset szOut, num, eax
       ret
    end start;  代码段结束
    
    

  • 相关阅读:
    RMQ
    LCA 笔记
    LUCAS 定理
    topcoder 643 DIV2
    BZOJ 1071组队
    Codeforces Round #283 (Div. 2)
    topcoder 642
    Codeforces Round #278 (Div. 2)
    树链剖分
    Codeforces Round #277 (Div. 2)
  • 原文地址:https://www.cnblogs.com/DismalSnail/p/8969339.html
Copyright © 2011-2022 走看看