(ASSEMBLE.CLAUSE ( handle←traps 2 interp ) 7
    (get.Ai.constant 1 spy)
    (put.Ai.value.Xn 1 2)
    (execute add←trap 1 interp)
)

(ASSEMBLE.CLAUSE ( handle←traps 2 interp ) 7
    (get.Ai.constant 1 nospy)
    (put.Ai.value.Xn 1 2)
    (execute remove←trap 1 interp)
)

(ASSEMBLE.CLAUSE ( check←traps 1 interp ) 50
    (allocate)
    (get.Ai.variable.Yn 1 1)
    (load.choice.point)
    (store.variable.Yn 3)
    (either 7 31)
    (put.Ai.variable.Yn 3 4)
    (put.Ai.constant 2 13)
    (put.Ai.value.Yn 1 1)
    (get.word)
    (load.value.Yn 4)
    (load.pos.word 4)
    (boolean.and)
    (load.pos.word 0)
    (not.equal.to)
    (load.value.Yn 3)
    (cut.to.choice.point)
    (put.Ai.value.Yn 1 1)
    (depart add←trap 1 interp)
    (or.finally)
    (put.Ai.variable.Yn 3 2)
    (put.Ai.constant 2 13)
    (put.Ai.value.Yn 1 1)
    (get.word)
    (load.pos.word 65527)
    (load.value.Yn 2)
    (boolean.and)
    (store.variable.Xn 3)
    (put.Ai.constant 2 13)
    (put.Ai.value.Yn 1 1)
    (put.word)
    (progress)
)

(ASSEMBLE.CLAUSE ( add←trap 1 interp ) 83
    (allocate)
    (get.Ai.variable.Yn 1 1)
    (load.choice.point)
    (store.variable.Yn 5)
    (either 9 28)
    (put.Ai.variable.Yn 3 6)
    (put.Ai.constant 2 13)
    (put.Ai.value.Yn 1 1)
    (get.word)
    (load.value.Yn 6)
    (load.pos.word 8)
    (boolean.and)
    (load.pos.word 0)
    (not.equal.to)
    (load.value.Yn 5)
    (cut.to.choice.point)
    (progress)
    (or.finally)
    (put.Ai.variable.Yn 2 4)
    (put.Ai.value.Yn 1 1)
    (call 7 copy←procedure←record 2 si)
    (gettopval QP%.DEBUG%.CLAUSE)
    (store.variable.Yn 3)
    (put.Ai.constant 1 1)
    (call 7 block←events 1 si)
    (put.Ai.unsafe.Yn 3 4)
    (put.Ai.constant 2 10)
    (put.Ai.value.Yn 1 1)
    (put.addr)
    (put.Ai.value.Yn 3 3)
    (put.Ai.constant 2 8)
    (put.Ai.value.Yn 1 1)
    (put.addr)
    (put.Ai.variable.Yn 3 2)
    (put.Ai.constant 2 13)
    (put.Ai.value.Yn 1 1)
    (get.word)
    (load.value.Yn 2)
    (load.pos.word 8)
    (boolean.or)
    (store.variable.Xn 3)
    (put.Ai.constant 2 13)
    (put.Ai.value.Yn 1 1)
    (put.word)
    (put.Ai.constant 1 1)
    (depart unblock←events 1 si)
)

(ASSEMBLE.CLAUSE ( remove←trap 1 interp ) 102
    (allocate)
    (get.Ai.variable.Yn 1 2)
    (load.choice.point)
    (store.variable.Yn 6)
    (either 10 102)
    (put.Ai.variable.Yn 3 7)
    (put.Ai.constant 2 13)
    (put.Ai.value.Yn 1 2)
    (get.word)
    (load.value.Yn 7)
    (load.pos.word 8)
    (boolean.and)
    (load.pos.word 0)
    (not.equal.to)
    (load.value.Yn 6)
    (cut.to.choice.point)
    (put.Ai.variable.Yn 3 1)
    (put.Ai.constant 2 10)
    (put.Ai.value.Yn 1 2)
    (get.addr)
    (put.Ai.variable.Yn 3 5)
    (put.Ai.constant 2 10)
    (put.Ai.value.Yn 1 1)
    (get.addr)
    (put.Ai.variable.Yn 3 4)
    (put.Ai.constant 2 8)
    (put.Ai.value.Yn 1 1)
    (get.addr)
    (put.Ai.constant 1 1)
    (call 8 block←events 1 si)
    (put.Ai.unsafe.Yn 3 5)
    (put.Ai.constant 2 10)
    (put.Ai.value.Yn 1 2)
    (put.addr)
    (put.Ai.unsafe.Yn 3 4)
    (put.Ai.constant 2 8)
    (put.Ai.value.Yn 1 2)
    (put.addr)
    (put.Ai.variable.Yn 3 3)
    (put.Ai.constant 2 13)
    (put.Ai.value.Yn 1 2)
    (get.word)
    (load.pos.word 65527)
    (load.value.Yn 3)
    (boolean.and)
    (store.variable.Xn 3)
    (put.Ai.constant 2 13)
    (put.Ai.value.Yn 1 2)
    (put.word)
    (put.Ai.constant 1 1)
    (call 4 unblock←events 1 si)
    (put.Ai.unsafe.Yn 1 1)
    (depart free←procedure←record 1 si)
    (or.finally)
    (progress)
)

(ASSEMBLE.CLAUSE ( real←proc 2 interp ) 42
    (allocate)
    (get.Ai.variable.Yn 1 2)
    (get.Ai.variable.Yn 2 1)
    (load.choice.point)
    (store.variable.Yn 3)
    (either 7 38)
    (put.Ai.variable.Yn 3 4)
    (put.Ai.constant 2 13)
    (put.Ai.value.Yn 1 2)
    (get.word)
    (load.value.Yn 4)
    (load.pos.word 8)
    (boolean.and)
    (load.pos.word 0)
    (not.equal.to)
    (load.value.Yn 3)
    (cut.to.choice.point)
    (put.Ai.value.Yn 3 1)
    (put.Ai.constant 2 10)
    (put.Ai.value.Yn 1 2)
    (get.addr)
    (progress)
    (or.finally)
    (put.Ai.value.Yn 1 2)
    (get.Ai.value.Yn 1 1)
    (progress)
)

(ASSEMBLE.CLAUSE ( %$debug←trap 2 interp ) 14
    (put.Ai.value.Xn 5 2)
    (put.Ai.void 4)
    (put.Ai.structure 3 info 1)
    (unify.constant 0)
    (put.Ai.constant 2 0)
    (execute interpreter←debug←trap 5 interp)
)

STOP