Сборка 16 битная серия Фибоначчи - PullRequest
0 голосов
/ 25 ноября 2018

Что я делаю не так?Этот код генерирует точные ряды Фибоначчи только до 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
...