(fib.tal) Improved example

This commit is contained in:
Devine Lu Linvega 2023-06-01 21:53:28 -07:00
parent 1d4ae74e41
commit 8d90298e57
1 changed files with 26 additions and 10 deletions

View File

@ -2,21 +2,37 @@
A series of numbers where the next number A series of numbers where the next number
is made of the two numbers before it ) is made of the two numbers before it )
|0100 ( -> ) @reset |100
#0000 INC2k ADD2k #0019 #0000
&loop &l
DUP2 print #0a18 DEO DUP2 pdec #2018 DEO
ADD2k LTH2k ?&loop DUP2 fib pdec #0a18 DEO
( halt ) INC2 GTH2k ?&l
POP2 POP2
#010f DEO #010f DEO
BRK BRK
@print ( short* -- ) @fib ( num -- numfib* )
#0001 GTH2k ?&ok
POP2 JMP2r &ok
SUB2k fib STH2 INC2
SUB2 fib STH2r
ADD2
JMP2r
SWP print/byte @pdec ( short* -- )
&byte ( byte -- ) DUP #04 SFT print/char
&char ( char -- ) #0f AND DUP #09 GTH #27 MUL ADD #30 ADD #18 DEO #2710 LIT2r 00fb
&w
DIV2k #000a DIV2k MUL2 SUB2 SWPr
EQUk OVR STHkr EQU AND ?&skip
DUP LIT "0 ADD #19 DEO INCr
&skip
POP2 #000a DIV2
SWPr INCr STHkr ?&w
POP2r POP2 POP2
JMP2r JMP2r