(ASSEMBLE.CLAUSE ( garbage←collector←enabled 1 si ) 6
    (start.calling QP%.SECURE 0)
    (call.lisp 1)
    (unify.local.Xn 1)
    (proceed)
)

(ASSEMBLE.CLAUSE ( enable←garbage←collector 0 si ) 28
    (allocate)
    (put.Ai.variable.Yn 1 1)
    (call 4 garbage←collector←enabled 1 si)
    (load.choice.point)
    (store.variable.Xn 1)
    (either 4 28)
    (put.Ai.unsafe.Yn 2 1)
    (get.Ai.nil 2)
    (load.value.Xn 1)
    (cut.to.choice.point)
    (put.Ai.symbol 1 Prolog% does% not% have% valid% security% code%.% % Please% see% your% system% manager%,% or% Xerox% representative%.)
    (call 3 write 1 si)
    (put.Ai.constant 1 3)
    (depart prolog←event 1 si)
    (or.finally)
    (progress)
)

(ASSEMBLE.CLAUSE ( cursor 2 si ) 17
    (allocate)
    (get.Ai.variable.Yn 1 1)
    (put.Ai.value.Yn 1 1)
    (compare)
    (load.pos.word 0)
    (equal.to)
    (body.cut)
    (put.Ai.value.Yn 3 1)
    (put.Ai.nil 2)
    (put.Ai.symbol 1 CURSOR)
    (depart lisp←apply 3 si)
)

(ASSEMBLE.CLAUSE ( cursor 2 si ) 18
    (allocate)
    (get.Ai.variable.Yn 1 2)
    (get.Ai.variable.Yn 2 1)
    (put.Ai.value.Yn 1 1)
    (is.a 254)
    (body.cut)
    (put.Ai.value.Yn 3 2)
    (put.Ai.list 2)
    (unify.local.Yn 1)
    (unify.nil)
    (put.Ai.symbol 1 CURSOR)
    (depart lisp←apply 3 si)
)

(ASSEMBLE.CLAUSE ( with←waiting←cursor 2 si ) 58
    (allocate)
    (get.Ai.variable.Yn 1 3)
    (get.Ai.variable.Yn 2 4)
    (put.Ai.value.Yn 1 3)
    (is.a 254)
    (put.Ai.variable.Yn 2 5)
    (put.Ai.symbol 1 WAITINGCURSOR)
    (call 8 gettopval 2 si)
    (put.Ai.unsafe.Yn 2 5)
    (put.Ai.variable.Yn 1 2)
    (call 7 cursor 2 si)
    (either 7 41)
    (put.Ai.value.Yn 2 4)
    (put.Ai.value.Yn 1 3)
    (call 5 call←direct 2 interp)
    (put.Ai.variable.Yn 1 1)
    (get.Ai.constant 1 true)
    (jump.to 47)
    (or.finally)
    (put.Ai.variable.Yn 1 1)
    (get.Ai.constant 1 false)
    (put.Ai.unsafe.Yn 2 2)
    (put.Ai.void 1)
    (call 4 cursor 2 si)
    (body.cut)
    (put.Ai.unsafe.Yn 1 1)
    (get.Ai.constant 1 true)
    (progress)
)

(ASSEMBLE.CLAUSE ( SETTOPVAL 2 si ) 8
    (start.calling SETTOPVAL 2)
    (send.direct.Ai 1)
    (send.direct.Ai 2)
    (call.lisp 1)
    (unify.void 1)
    (proceed)
)

(ASSEMBLE.CLAUSE ( lisp←call←prolog 0 si ) 69
    (allocate)
    (put.Ai.list 2)
    (unify.variable.Yn 7)
    (unify.variable.Yn 8)
    (put.Ai.symbol 1 QP%.LISP%.CALL%.PROLOG%.GOAL)
    (call 11 gettopval 2 si)
    (put.Ai.variable.Yn 3 2)
    (put.Ai.variable.Yn 2 6)
    (put.Ai.value.Yn 1 8)
    (call 10 filter←lisp←args 3 si)
    (put.Ai.list 2)
    (unify.value.Yn 7)
    (unify.local.Yn 6)
    (put.Ai.variable.Yn 1 5)
    (call 8 %=%.%. 2 si)
    (load.choice.point)
    (store.variable.Yn 4)
    (either 8 47)
    (put.Ai.unsafe.Yn 1 5)
    (call 7 call 1 interp)
    (load.value.Yn 4)
    (cut.to.choice.point)
    (put.Ai.variable.Yn 1 3)
    (get.Ai.constant 1 true)
    (jump.to 53)
    (or.finally)
    (put.Ai.variable.Yn 1 3)
    (get.Ai.constant 1 false)
    (put.Ai.variable.Yn 3 1)
    (put.Ai.unsafe.Yn 2 3)
    (put.Ai.unsafe.Yn 1 2)
    (call 4 result←to←send←to←lisp 3 si)
    (put.Ai.unsafe.Yn 2 1)
    (put.Ai.symbol 1 QP%.LISP%.CALL%.PROLOG%.RESULT)
    (call 3 SETTOPVAL 2 si)
    (depart halt 0 si)
)

(ASSEMBLE.CLAUSE ( filter←lisp←args 3 si ) 6
    (get.Ai.constant 1 NIL)
    (get.Ai.nil 2)
    (get.Ai.nil 3)
    (proceed)
)

(ASSEMBLE.CLAUSE ( filter←lisp←args 3 si ) 13
    (get.Ai.list 1)
    (unify.symbol %*VALUE%*)
    (unify.variable.Xn 1)
    (get.Ai.list 2)
    (unify.variable.Xn 4)
    (unify.variable.Xn 2)
    (get.Ai.list 3)
    (unify.value.Xn 4)
    (unify.variable.Xn 3)
    (head.cut)
    (execute filter←lisp←args 3 si)
)

(ASSEMBLE.CLAUSE ( filter←lisp←args 3 si ) 8
    (get.Ai.list 1)
    (unify.variable.Xn 4)
    (unify.variable.Xn 1)
    (get.Ai.list 2)
    (unify.value.Xn 4)
    (unify.variable.Xn 2)
    (execute filter←lisp←args 3 si)
)

(ASSEMBLE.CLAUSE ( result←to←send←to←lisp 3 si ) 8
    (get.Ai.constant 1 NIL)
    (get.Ai.symbol 2 true)
    (get.Ai.symbol 3 T)
    (proceed)
)

(ASSEMBLE.CLAUSE ( result←to←send←to←lisp 3 si ) 5
    (get.Ai.symbol 2 true)
    (get.Ai.value.Xn 3 1)
    (proceed)
)

(ASSEMBLE.CLAUSE ( result←to←send←to←lisp 3 si ) 4
    (get.Ai.symbol 2 false)
    (get.Ai.nil 3)
    (proceed)
)

STOP