| ... | ... |
@@ -10,90 +10,86 @@ |
| 10 | 10 |
|
| 11 | 11 |
@on-reset ( -> ) |
| 12 | 12 |
;on-argument .Console/vector DEO2 |
| 13 |
+ .Console/type DEI ?{ ;on-stdin .Console/vector DEO2 }
|
|
| 13 | 14 |
;dict/hello <print-str> |
| 14 |
- .Console/type DEI ?&has-arg |
|
| 15 | 15 |
BRK |
| 16 |
- &has-arg ( -> ) |
|
| 17 |
- ;dict/queue <print-str> |
|
| 18 |
- BRK |
|
| 19 | 16 |
|
| 20 | 17 |
@on-argument ( -> ) |
| 21 |
- .Console/type DEI ?&>no-argend |
|
| 22 |
- ;on-stdin .Console/vector DEO2 |
|
| 23 |
- BRK &>no-argend |
|
| 24 |
- .Console/read DEI .buf skey ?&eval |
|
| 18 |
+ .Console/read DEI .buf skey ?{ BRK }
|
|
| 19 |
+ <print-type> |
|
| 20 |
+ ;dict/yousent <print-str> |
|
| 21 |
+ LIT "" #18 DEO |
|
| 22 |
+ ;buf <print-str>/ |
|
| 23 |
+ LIT "" #18 DEO |
|
| 24 |
+ #0a18 DEO |
|
| 25 |
+ ;buf sclr/ .Console/type DEI #04 NEQ ?{
|
|
| 26 |
+ ;dict/argend <print-str> |
|
| 27 |
+ ;on-stdin .Console/vector DEO2 } |
|
| 25 | 28 |
BRK |
| 26 |
- &eval ( -> ) |
|
| 27 |
- <print-type> |
|
| 28 |
- ;dict/yousent <print-str> |
|
| 29 |
- LIT "" #18 DEO |
|
| 30 |
- ;buf <print-str> |
|
| 31 |
- LIT "" #18 DEO |
|
| 32 |
- #0a18 DEO |
|
| 33 |
- ;buf sclr .Console/type DEI #04 NEQ ?&>no-close |
|
| 34 |
- ;dict/argend <print-str> |
|
| 35 |
- ;on-stdin .Console/vector DEO2 &>no-close |
|
| 36 |
- BRK |
|
| 37 | 29 |
|
| 38 | 30 |
@on-stdin ( -> ) |
| 39 |
- .Console/read DEI .buf skey ?&eval |
|
| 40 |
- BRK |
|
| 41 |
- &eval ( -> ) |
|
| 42 |
- <print-type> |
|
| 43 |
- ;buf ;dict/quit scmp ?&quit |
|
| 44 |
- ;dict/yousaid <print-str> |
|
| 45 |
- LIT "" #18 DEO |
|
| 46 |
- ;buf <print-str> |
|
| 47 |
- LIT "" #18 DEO |
|
| 48 |
- #0a18 DEO |
|
| 49 |
- ;buf sclr BRK |
|
| 31 |
+ .Console/read DEI .buf skey ?{ BRK }
|
|
| 32 |
+ ;buf ;dict/quit scmp ?&quit |
|
| 33 |
+ <print-type> |
|
| 34 |
+ ;dict/yousaid <print-str> |
|
| 35 |
+ LIT "" #18 DEO |
|
| 36 |
+ ;buf <print-str>/ |
|
| 37 |
+ LIT "" #18 DEO |
|
| 38 |
+ #0a18 DEO |
|
| 39 |
+ ;buf sclr/ BRK |
|
| 50 | 40 |
&quit ( buf* -> ) |
| 51 |
- #010f DEO |
|
| 41 |
+ #800f DEO |
|
| 52 | 42 |
BRK |
| 53 | 43 |
|
| 54 | 44 |
@<print-type> ( -- ) |
| 55 |
- [ LIT2 00 -Console/type ] DEI #01 GTH DUP ADD ;types ADD2 LDA2 !<print-str> |
|
| 45 |
+ [ LIT2 00 -Console/type ] DEI #01 GTH DUP ADD ;types ADD2 |
|
| 46 |
+ ( ) LDA2 !<print-str>/ |
|
| 56 | 47 |
|
| 57 | 48 |
( |
| 58 | 49 |
@|stdlib ) |
| 59 | 50 |
|
| 60 | 51 |
@<print-str> ( str* -- ) |
| 61 |
- !& |
|
| 62 |
- &while ( -- ) |
|
| 52 |
+ &w ( -- ) |
|
| 63 | 53 |
LDAk #18 DEO |
| 64 |
- INC2 & LDAk ?&while |
|
| 54 |
+ INC2 & LDAk ?&w |
|
| 65 | 55 |
POP2 JMP2r |
| 66 | 56 |
|
| 67 |
-@skey ( key buf -- proc ) |
|
| 68 |
- OVR #20 LTH ?&eval |
|
| 69 |
- #00 SWP sput #00 JMP2r |
|
| 70 |
- &eval POP2 #01 JMP2r |
|
| 71 |
- |
|
| 72 | 57 |
@sclr ( str* -- ) |
| 73 |
- !& |
|
| 74 |
- &while ( -- ) |
|
| 58 |
+ &w ( -- ) |
|
| 75 | 59 |
STH2k #00 STH2r STA |
| 76 |
- INC2 & LDAk ?&while |
|
| 60 |
+ INC2 & LDAk ?&w |
|
| 77 | 61 |
POP2 JMP2r |
| 78 | 62 |
|
| 63 |
+@skey ( key buf -- proc ) |
|
| 64 |
+ OVR #20 LTH ?{
|
|
| 65 |
+ #00 SWP sput #00 JMP2r } |
|
| 66 |
+ POP2 #01 JMP2r |
|
| 67 |
+ |
|
| 79 | 68 |
@scap ( str* -- end* ) |
| 80 |
- !& |
|
| 81 |
- &while ( -- ) |
|
| 82 |
- INC2 & LDAk ?&while |
|
| 69 |
+ &w ( -- ) |
|
| 70 |
+ INC2 & LDAk ?&w |
|
| 83 | 71 |
JMP2r |
| 84 | 72 |
|
| 85 | 73 |
@sput ( chr str* -- ) |
| 86 |
- scap INC2k #00 ROT ROT STA |
|
| 87 |
- STA |
|
| 74 |
+ scap/ STA |
|
| 88 | 75 |
JMP2r |
| 89 | 76 |
|
| 90 | 77 |
@scmp ( a* b* -- f ) |
| 91 | 78 |
STH2 |
| 92 |
- &loop ( -- ) |
|
| 93 |
- LDAk LDAkr STHr ANDk #00 EQU ?&e |
|
| 94 |
- NEQk ?&e |
|
| 95 |
- POP2 INC2 INC2r !&loop |
|
| 96 |
- &e NIP2 POP2r EQU JMP2r |
|
| 79 |
+ &l ( a* b* -- f ) |
|
| 80 |
+ LDAk LDAkr STHr NEQk ?&d |
|
| 81 |
+ DUP EOR EQUk ?&d |
|
| 82 |
+ POP2 INC2 INC2r !&l |
|
| 83 |
+ &d ( a* c1 c2 b* -- f ) |
|
| 84 |
+ NIP2 POP2r EQU JMP2r |
|
| 85 |
+ |
|
| 86 |
+@<phex> ( short* -- ) |
|
| 87 |
+ SWP <phex>/b |
|
| 88 |
+ &b ( -- ) |
|
| 89 |
+ DUP #04 SFT <phex>/c |
|
| 90 |
+ &c ( -- ) |
|
| 91 |
+ #0f AND DUP #09 GTH #27 MUL ADD [ LIT "0 ] ADD #18 DEO |
|
| 92 |
+ JMP2r |
|
| 97 | 93 |
|
| 98 | 94 |
( |
| 99 | 95 |
@|assets ) |
| ... | ... |
@@ -109,5 +105,4 @@ |
| 109 | 105 |
&arg "(arg) $1 |
| 110 | 106 |
&quit "quit $1 |
| 111 | 107 |
&argend "(argend) 0a $1 |
| 112 |
- &queue "(queue) 0a $1 |
|
| 113 | 108 |
|