2023-07-01 11:58:00 -04:00
|
|
|
; 8 bit version
|
|
|
|
|
; IN : a = n (n <= 13, otherwise overflows)
|
|
|
|
|
; OUT: a = FIB(n)
|
|
|
|
|
|
2026-04-30 12:34:36 -04:00
|
|
|
fib8: cp 2
|
|
|
|
|
ret c ; if n < 2 then done
|
2023-07-01 11:58:00 -04:00
|
|
|
|
2026-04-30 12:34:36 -04:00
|
|
|
ld b,a
|
|
|
|
|
dec b ; b = n - 1
|
|
|
|
|
ld c,0 ; F0
|
|
|
|
|
ld a,1 ; F1
|
2023-07-01 11:58:00 -04:00
|
|
|
|
2026-04-30 12:34:36 -04:00
|
|
|
f8_l: ld d,a
|
|
|
|
|
add a,c
|
|
|
|
|
ld c,d
|
|
|
|
|
djnz f8_l
|
2023-07-01 11:58:00 -04:00
|
|
|
|
2026-04-30 12:34:36 -04:00
|
|
|
ret
|