(loader '((title |destru.lo|)))
(loader'((fentry check-destru subr0)
(entry check-destru subr0)
(mov 't a2)
(mov '(test-destru 1) a1)
(jmp check-value)
))
(loader'((fentry meter-destru subr0)
(entry meter-destru subr0)
(mov 'destru a2)
(mov '(destructive 600 50) a1)
(jmp perform-meter)
))
(loader'((fentry test-destru subr1)
(entry test-destru subr1)
(cabne a1 '1 104)
(mov '50 a2)
(mov '600 a1)
(bra destructive)
103
(push a1)
(mov '50 a2)
(mov '600 a1)
(call destructive)
(pop a1)
104
(sobgez a1 103)
(mov 't a1)
(return)
))
(loader'((entry destructive subr2)
(push a2)
(push a1)
(push '10)
(push nil)
101
(cabeq (& 1) '0 102)
(mov (& 1) a4)
(diff '1 a4)
(push a4)
(mov (& 1) a2)
(mov nil a1)
(jcall cons)
(mov a1 (& 1))
(pop a4)
(mov a4 (& 1))
(bra 101)
102
(mov (& 0) a4)
(adjstk '2)
(push a4)
(push (& 1))
103
(mov '0 a2)
(mov (& 0) a1)
(jcall eq)
(bfnil a1 104)
(mov (& 1) a4)
(bfnil (car a4) 105)
(push a4)
107
(btnil (& 0) 108)
(mov (& 0) a4)
(bfnil (car a4) 109)
(push a4)
(mov nil a2)
(mov nil a1)
(jcall cons)
(pop a4)
(mov a1 (car a4))
109
(push (@ 110))
(mov (& 1) a4)
(push (car a4))
(push (& 6))
(push nil)
111
(cabeq (& 1) '0 112)
(mov (& 1) a4)
(diff '1 a4)
(push a4)
(mov (& 1) a2)
(mov nil a1)
(jcall cons)
(mov a1 (& 1))
(pop a4)
(mov a4 (& 1))
(bra 111)
112
(mov (& 0) a4)
(adjstk '2)
(push a4)
(mov '2 a4)
(jmp nconc)
110
(eval ())
(mov (& 0) a4)
(mov (cdr a4) (& 0))
(bra 107)
108
(adjstk '1)
(bra 106)
105
(push (cdr a4))
(push a4)
113
(btnil (& 1) 114)
(mov (& 1) a1)
(mov (car a1) a1)
(jcall length)
(lshift '-1 a1)
(mov (& 1) a4)
(push (car a4))
(push a1)
115
(cabeq (& 0) '0 116)
(mov (& 1) a4)
(mov (& 4) (car a4))
(mov (& 0) a3)
(diff '1 a3)
(mov (cdr a4) (& 1))
(mov a3 (& 0))
(bra 115)
116
(mov (& 1) a4)
(adjstk '2)
(push a4)
(mov (& 1) a1)
(mov (car a1) a1)
(jcall length)
(lshift '-1 a1)
(cabne a1 '0 117)
(mov (& 1) a4)
(mov nil (car a4))
(mov (car a4) a3)
(bra 118)
117
(mov (& 1) a4)
(push (car a4))
(push a1)
119
(cabeq (& 0) '1 120)
(mov (& 1) a4)
(mov (& 5) (car a4))
(mov (& 0) a3)
(diff '1 a3)
(mov (cdr a4) (& 1))
(mov a3 (& 0))
(bra 119)
120
(mov (& 1) a3)
(push (cdr a3))
(mov nil (cdr a3))
(pop a3)
(adjstk '2)
118
(pop a4)
(mov a3 (cdr a4))
(mov (& 0) a4)
(mov (& 1) a3)
(mov (cdr a3) (& 1))
(mov (cdr a4) (& 0))
(bra 113)
114
(adjstk '2)
106
(mov (& 0) a4)
(diff '1 a4)
(mov a4 (& 0))
(bra 103)
104
(adjstk '4)
(return)
))
(loader '((end)))