~aleteoryx/up-for-it

ref: 639310feda93107a7c321137e4c65414c3895728 up-for-it/aoc/2025/xx.tal -rw-r--r-- 752 bytes
639310feAleteoryx 2025.01.1 4 days ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
( advent of code 2025, day xx )

%dbg { #100e DEO }

|00

|100
@on-reset ( -> )
	banner
	BRK

@banner ( -- )
	;/str
	&loop
		LDAk #18 DEO
		INC2 LDAk ?/loop
	POP2 JMP2r
@banner/str
	"advent 20 "of 20 "code, 20 "day 20 "xx 0a 00


@Input/filename "xx.input 00
@Input/read ( callback* -- )
	;/filename #a8 DEO2
	#01ab DEO2
	
	&loop
		DUP2
		;/byte #ac DEO2
		#a3 DEI #00 EQU ?/endloop	( EOF )
		[ LIT &byte $1 ]
		ROT ROT JSR2
		!/loop

	&endloop
	POP2 JMP2r


@first-star ( -- )
@on-input ( -> )
	#12 DEI
	
	
	BRK


@Number/one-byte ( b -- )
	#00 SWP
	LIT "0 SUB
	[ LIT2 &val 00 &val2 00 ]
	#000a MUL2 ADD2
	,/val STR2
	JMP2r
@Number/get2 ( -- n* )
	,/val LDR2 JMP2r
@Number/get1 ( -- n )
	,/val2 LDR JMP2r
@Number/reset ( -- )
	#0000 ,/val STR2 JMP2r