52 lines
700 B
Plaintext
52 lines
700 B
Plaintext
Stack::push:
|
|
link $1
|
|
ldi $0
|
|
sat temp[$0]
|
|
code_0038: lst temp[$0]
|
|
lap param[$0]
|
|
lt?
|
|
bnt code_004e
|
|
pushi $aa ; 170, addToFront
|
|
push1
|
|
lat temp[$0]
|
|
lspi param[$1]
|
|
self $6
|
|
bnot
|
|
+at temp[$0]
|
|
jmp code_0038
|
|
|
|
code_004e: lat temp[$0]
|
|
lapi param[$1]
|
|
aTop top
|
|
ret
|
|
|
|
Stack::pop:
|
|
link $1
|
|
pushi $5a ; 90, 'Z', size
|
|
push0
|
|
self $4
|
|
bnot
|
|
bnt code_0076
|
|
pToa top
|
|
sat temp[$0]
|
|
pushi $4b ; 75, 'K', at
|
|
push1
|
|
push1
|
|
self $6
|
|
bnot
|
|
aTop top
|
|
pushi $58 ; 88, 'X', delete
|
|
push1
|
|
lst temp[$0]
|
|
self $6
|
|
bnot
|
|
jmp code_007e
|
|
|
|
code_0076: ldi $0
|
|
sat temp[$0]
|
|
ldi $0
|
|
aTop top
|
|
code_007e: lat temp[$0]
|
|
ret
|
|
|