!to "fib.prg", cbm

 *=$c000

 jmp start

 !source "stack.a"

!ifdef cpu6502 {
 ; fuer cpu6502Out
 ; ( w -- ), [ -- ]
out
 +pop
 tay
 pla
 sta $6001
 tya
 sta $6001
 rts
}

start
 +initstp
 +lit 0          ; x := 0
 +sto x
 +lit 1          ; y := 1
 +sto y

!ifdef cpu6502 {
 ; fuer cpu6502Out
 lda #2          ; Zeilenumbruch nach 2 Bytes
 sta $6000
}

loop              ; while x < 32768 do
 +lod x
 +lit 32768
 jsr lss
 +jpc end
 +lod x          ; writeln x

!ifdef cpu6502 {
 ; fuer cpu6502Out
 jsr out
} else {
 jsr outdec
 +lit 13
 jsr outchr
}

 +lod x          ; z := x + y
 +lod y
 jsr add
 +sto z
 +lod y          ; x := y
 +sto x
 +lod z          ; y := z
 +sto y
 jmp loop
end
 rts

x
 !wo $0000
y
 !wo $0000
z
 !wo $0000