(fib.tal) Improved example
This commit is contained in:
parent
1d4ae74e41
commit
8d90298e57
|
@ -2,21 +2,37 @@
|
|||
A series of numbers where the next number
|
||||
is made of the two numbers before it )
|
||||
|
||||
|0100 ( -> ) @reset
|
||||
|100
|
||||
|
||||
#0000 INC2k ADD2k
|
||||
&loop
|
||||
DUP2 print #0a18 DEO
|
||||
ADD2k LTH2k ?&loop
|
||||
( halt )
|
||||
#0019 #0000
|
||||
&l
|
||||
DUP2 pdec #2018 DEO
|
||||
DUP2 fib pdec #0a18 DEO
|
||||
INC2 GTH2k ?&l
|
||||
POP2 POP2
|
||||
#010f DEO
|
||||
|
||||
BRK
|
||||
|
||||
@print ( short* -- )
|
||||
@fib ( num -- numfib* )
|
||||
#0001 GTH2k ?&ok
|
||||
POP2 JMP2r &ok
|
||||
SUB2k fib STH2 INC2
|
||||
SUB2 fib STH2r
|
||||
ADD2
|
||||
JMP2r
|
||||
|
||||
SWP print/byte
|
||||
&byte ( byte -- ) DUP #04 SFT print/char
|
||||
&char ( char -- ) #0f AND DUP #09 GTH #27 MUL ADD #30 ADD #18 DEO
|
||||
@pdec ( short* -- )
|
||||
|
||||
#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
|
||||
|
||||
|
|
Loading…
Reference in New Issue