80 lines
1.1 KiB
Plaintext
80 lines
1.1 KiB
Plaintext
Clut::new:
|
|
link $1
|
|
pushi $8d ; 141, new
|
|
push1
|
|
pushi $100 ; 256, strMax
|
|
super ByteArray, $6
|
|
bnot
|
|
sat temp[$0]
|
|
pushi $94 ; 148, init
|
|
push0
|
|
send $4
|
|
bnot
|
|
lap param[$0]
|
|
bnt code_0057
|
|
pushi $10c ; 268, map
|
|
push0
|
|
&rest $1
|
|
lat temp[$0]
|
|
send $4
|
|
bnot
|
|
code_0057: lat temp[$0]
|
|
ret
|
|
|
|
Clut::init:
|
|
link $1
|
|
pToa data
|
|
not
|
|
bnt code_0072
|
|
pushi $d8 ; 216, callKernel
|
|
pushi $3 ; z
|
|
push0
|
|
pushi $100 ; 256, strMax
|
|
pTos type
|
|
self $a
|
|
bnot
|
|
aTop data
|
|
code_0072: ldi $0
|
|
sat temp[$0]
|
|
code_0076: lst temp[$0]
|
|
ldi $100 ; 256, strMax
|
|
lt?
|
|
bnt code_008b
|
|
pushi $4b ; 75, 'K', at
|
|
push2
|
|
lst temp[$0]
|
|
dup
|
|
self $8
|
|
bnot
|
|
+at temp[$0]
|
|
jmp code_0076
|
|
|
|
code_008b: ret
|
|
|
|
Clut::map:
|
|
link $1
|
|
ldi $0
|
|
sat temp[$0]
|
|
code_0092: lst temp[$0]
|
|
lap param[$0]
|
|
lt?
|
|
bnt code_00b2
|
|
pushi $4b ; 75, 'K', at
|
|
push2
|
|
lat temp[$0]
|
|
lspi param[$1]
|
|
push
|
|
ldi $1
|
|
add
|
|
lspi param[$1]
|
|
self $8
|
|
bnot
|
|
lst temp[$0]
|
|
ldi $2
|
|
add
|
|
sat temp[$0]
|
|
jmp code_0092
|
|
|
|
code_00b2: ret
|
|
|