请教如何用汇编表示一个数式,急

来源:百度知道 编辑:UC知道 时间:2024/06/06 07:45:20
请问如何用汇编做出:Fibo(n) = Fibo(n − 2) + Fibo(n − 1)这个公式?
其中Fibo(0) = Fibo(1) = 1,并且在主程序中要调用Fibonacci的过程去计算结果,最后再创建多一个过程去计算长度l(Fibo(0), Fibo(1), Fibo(2), . . . , Fibo(l − 2), Fibo(l − 1), Fibo(l)这样)

万分感谢

;这题在第25个月时,发生溢出。
data segment
X dw 10000,1000,100,10,1
data ends
code segment
assume cs:code,ds:data,ss:code
start:
mov ax,data
mov ds,ax
mov ax,1
call show
mov dx,1
call show
add ax,dx
call show
@1:
xchg dx,ax
add ax,dx
call show
mov si,ax
mov ah,0
int 16h
mov ax,si
jmp @1

show:
push dx
push ax
mov cx,5
mov bx,ax
lea si,X
@2:
mov ax,bx
xor dx,dx
div word ptr [si]
mov bx,dx
or al,30h
mov ah,0eh
int 10h
inc si
inc si
loop @2
mov ax,0e20h
int 10h
pop ax
pop dx
ret

code ends
end start