commit 50819bf
zzo38
·
2026-10-22 00:02:14 +0000 UTC
parent 518b7ed
Add prg/hexter.tal
1 files changed,
+50,
-0
+50,
-0
1@@ -0,0 +1,50 @@
2+|100
3+ DUP2k EOR2 LITr 20
4+ ;input/y #10 DEO2
5+@main
6+ input
7+ STHrk [?
8+ \\ Primitive
9+ DUP #04 SFT hex #0f AND hex
10+ ][
11+ \\ Type
12+ STHk #00 SWP
13+ #1f AND INCk #1f AND ?{
14+ POP STH DUPr
15+ input
16+ LITr 70 SFT2r
17+ #7f ANDk
18+ STH ADDr
19+ INC LTH JMP @brk BRK
20+ STH2r
21+ }
22+ \\ Number
23+ LITr 00
24+ [@
25+ DUP2 #000a DIV2k MUL2 SUB2
26+ #30 ADD STH
27+ #0a DIV2 ORAk
28+ ]?
29+ POP2
30+ [@ LITr 18 DEOr STHrk ]? POPr
31+ \\ Class
32+ \r #06 SFTk ADD LDR #18 DEO !{ "UACP } #20 AND \r
33+ LIT "[ STHrk ?{ POP LIT "< } #18 DEO
34+ \\ Length
35+ input
36+ #7f GTHk ?{ GTHk NIP SWP !addlength }
37+ EOR INC DUP2rk EOR2r STH
38+ input
39+ ROTr POPr STH SWPr INCr STHrk ?brk POPr STH2r
40+ \\ Done
41+ @addlength #00 LDZ2 ADD2
42+ ]@
43+ \\ check for end of any number of items
44+ @done DUP2 #00 LDZ2 NEQ2 ?main
45+ POP2
46+ LIT "] STHr ?{ POP LIT "> } #18 DEO
47+ !done
48+
49+@hex #30 ADD DUP #39 GTH #07 MUL ADD #18 DEO JMP2r
50+
51+@input LITr _/x STR2r BRK &y #00 LDZ2 INC2 #00 STZ2 #12 DEI LIT2 &x =main JMP2