汇编实现Fibnacci
Posted DismalSnail
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汇编实现Fibnacci相关的知识,希望对你有一定的参考价值。
这里使用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的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 创建反汇编解析器实例对象 | 设置汇编解析器显示细节 )(代码片段