组装16位Fibonacci系列

时间:2018-11-25 18:30:28

标签: assembly fibonacci emu8086

我在做什么错?给出错误的值后,此代码最多只能生成准确的斐波那契数列,直到13。

输出

1, 1, 2, 3, 5, 8, 13, 29, 37

应在21之后而不是13之前29

代码

org 100h
.data
    num dw 0

.code
main proc
    mov ax, @data
    mov ds, ax

    mov cx, 15
    mov bx, 1       

    mov si, offset num


fibonacci:
    mov dx, [si] ;dx=0,1,1,2,3
    add [si], bx ;num=1,1,2,3,5 
    mov bx, dx ;bx=0,1,1,2    
    mov di, [si]
    add si,2
    mov [si], di   


    loop fibonacci
main endp
end main

ret

0 个答案:

没有答案