2020-09-20 21:49:36 +00:00
|
|
|
%import textio
|
2019-02-02 23:14:56 +00:00
|
|
|
%zeropage basicsafe
|
2019-01-27 00:02:45 +00:00
|
|
|
|
|
|
|
; This example computes the first 20 values of the Fibonacci sequence.
|
2020-09-20 21:49:36 +00:00
|
|
|
; Note: this program is compatible with C64 and CX16.
|
2019-01-27 00:02:45 +00:00
|
|
|
|
2019-07-29 21:11:13 +00:00
|
|
|
main {
|
2019-01-27 00:02:45 +00:00
|
|
|
sub start() {
|
2020-08-27 16:10:22 +00:00
|
|
|
txt.print("fibonacci sequence\n")
|
2020-07-24 20:57:19 +00:00
|
|
|
|
2020-07-25 20:54:50 +00:00
|
|
|
repeat 21 {
|
2020-08-27 16:10:22 +00:00
|
|
|
txt.print_uw(fib_next())
|
2019-01-27 00:02:45 +00:00
|
|
|
c64.CHROUT('\n')
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-03-22 22:50:15 +00:00
|
|
|
uword fib_prev = 0
|
|
|
|
uword fib_current = 1
|
2019-01-27 00:02:45 +00:00
|
|
|
|
|
|
|
sub fib_next() -> uword {
|
2020-03-22 21:47:05 +00:00
|
|
|
uword new = fib_current + fib_prev
|
|
|
|
fib_prev = fib_current
|
|
|
|
fib_current = new
|
|
|
|
return fib_prev
|
2020-03-12 23:27:33 +00:00
|
|
|
}
|
2019-01-27 00:02:45 +00:00
|
|
|
}
|