(loader '((title |stak.lo|)))
(loader'((fentry check-stak subr0)
(entry check-stak subr0)
(mov '7 a2)
(mov '(test-stak 1) a1)
(jmp check-value)
))
(loader'((fentry meter-stak subr0)
(entry meter-stak subr0)
(mov 'stak a2)
(mov '(stak 18 12 6) a1)
(jmp perform-meter)
))
(loader'((fentry test-stak subr1)
(entry test-stak subr1)
(cabne a1 '1 104)
(mov '6 a3)
(mov '12 a2)
(mov '18 a1)
(bra stak)
103
(push a1)
(mov '6 a3)
(mov '12 a2)
(mov '18 a1)
(call stak)
(pop a1)
104
(sobgez a1 103)
(mov 't a1)
(return)
))
(defvar stak-x ())
(defvar stak-y ())
(defvar stak-z ())
(loader'((entry stak subr3)
(push (cvalq stak-z))
(mov a3 (cvalq stak-z))
(push (cvalq stak-y))
(mov a2 (cvalq stak-y))
(push (cvalq stak-x))
(mov a1 (cvalq stak-x))
(push '3)
(push '(stak-z stak-y stak-x))
(push (@ stak))
(push llink)
(mov nil llink)
(push dlink)
(push cbindn)
(stack dlink)
(call stak-aux)
(mov (& 1) dlink)
(mov (& 2) llink)
(mov (& 6) (cvalq stak-x))
(mov (& 7) (cvalq stak-y))
(mov (& 8) (cvalq stak-z))
(adjstk '9)
(return)
))
(loader'((entry stak-aux subr0)
(cnblt (cvalq stak-y) (cvalq stak-x) 101)
(mov (cvalq stak-z) a1)
(return)
101
(mov (cvalq stak-x) a4)
(diff '1 a4)
(push (cvalq stak-y))
(push (cvalq stak-z))
(push (cvalq stak-x))
(mov a4 (cvalq stak-x))
(push (cvalq stak-z))
(mov (& 2) (cvalq stak-z))
(push (cvalq stak-y))
(mov (& 4) (cvalq stak-y))
(push '3)
(push '(stak-x stak-z stak-y))
(push 'lambda)
(push llink)
(push dlink)
(push cbindn)
(stack dlink)
(call stak-aux)
(mov (& 1) dlink)
(mov (& 6) (cvalq stak-y))
(mov (& 7) (cvalq stak-z))
(mov (& 8) (cvalq stak-x))
(adjstk '11)
(push a1)
(mov (cvalq stak-y) a4)
(diff '1 a4)
(push (cvalq stak-z))
(push (cvalq stak-x))
(push (cvalq stak-x))
(mov a4 (cvalq stak-x))
(push (cvalq stak-z))
(mov (& 2) (cvalq stak-z))
(push (cvalq stak-y))
(mov (& 4) (cvalq stak-y))
(push '3)
(push '(stak-x stak-z stak-y))
(push 'lambda)
(push llink)
(push dlink)
(push cbindn)
(stack dlink)
(call stak-aux)
(mov (& 1) dlink)
(mov (& 6) (cvalq stak-y))
(mov (& 7) (cvalq stak-z))
(mov (& 8) (cvalq stak-x))
(adjstk '11)
(push a1)
(mov (cvalq stak-z) a4)
(diff '1 a4)
(push (cvalq stak-x))
(push (cvalq stak-y))
(push (cvalq stak-x))
(mov a4 (cvalq stak-x))
(push (cvalq stak-z))
(mov (& 2) (cvalq stak-z))
(push (cvalq stak-y))
(mov (& 4) (cvalq stak-y))
(push '3)
(push '(stak-x stak-z stak-y))
(push 'lambda)
(push llink)
(push dlink)
(push cbindn)
(stack dlink)
(call stak-aux)
(mov (& 1) dlink)
(mov (& 6) (cvalq stak-y))
(mov (& 7) (cvalq stak-z))
(mov (& 8) (cvalq stak-x))
(adjstk '11)
(push (cvalq stak-z))
(mov a1 (cvalq stak-z))
(push (cvalq stak-y))
(mov (& 2) (cvalq stak-y))
(push (cvalq stak-x))
(mov (& 4) (cvalq stak-x))
(push '3)
(push '(stak-z stak-y stak-x))
(push 'lambda)
(push llink)
(push dlink)
(push cbindn)
(stack dlink)
(call stak-aux)
(mov (& 1) dlink)
(mov (& 6) (cvalq stak-x))
(mov (& 7) (cvalq stak-y))
(mov (& 8) (cvalq stak-z))
(adjstk '11)
(return)
))
(loader '((end)))