(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
|
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
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue