( advent of code 2025, day xx, first star )
%dbg { #010e DEO }
@on-reset ( -> )
banner
first-star
BRK
@banner ( -- )
;/str !puts
@banner/str
"advent 20 "of 20 "code 20 "2025, 20 "day 20 "xx, 20 "first 20 "star 0a 00
( first star )
@first-star ( -- )
Input/read
JMP2r
@first-star/on-input ( b -- )
JMP2r
( stdlib )
@endl ( n -- )
#0a18 DEO JMP2r
@puts ( str* -- )
LDAk #18 DEO
INC2 LDAk ?puts
POP2 JMP2r
@putdec2 ( n* -- )
[ LITr 00 ]
&loop
#000a DIV2k STH2k
MUL2 SUB2
[ LIT "0 ] ADD NIP
STH2r ROT STH
ORAk ?/loop
POP2
&loop2
STHr #18 DEO
STHrk ?/loop2
POPr JMP2r
( object lib )
@Input/filename "xx.input 00
@Input/read ( -- )
#01ab DEO
;/filename #a8 DEO2
&loop
;/byte #ac DEO2
#a3 DEI #00 EQU ?/endloop ( EOF )
[ LIT &byte $1 ]
first-star/on-input
!/loop
&endloop
POP2 JMP2r
@Number/one-byte ( b -- )
#00 SWP
LIT "0 SUB
[ LIT2 &val 0000 ]
#000a MUL2 ADD2
,/val STR2
JMP2r
@Number/get ( -- n* )
,/val LDR2 JMP2r
@Number/reset ( -- )
#0000 ,/val STR2 JMP2r
( problem code )