anchor.diff:        (area-for-address address)
       (ub64ref/le data-vector (* offset 8))))
   
  -(defun compile-lap-function (code &key (area *default-pinned-allocation-area*) extra-symbols constant-values (position-independent t))
  +(defun compile-lap-function (code &key (area *default-pinned-allocation-area*) extra-symbols constant-values (position-independent t) (name 'sys.int::support-function))
     "Compile a list of LAP code as a function. Constants must only be symbols."
     (let ((base-address (if position-independent
                             0
  
positive.code:                                    collect (create-user-interrupt-isr i)))
             (common-code (compile-lap-function *common-interrupt-code*
                                                :area :wired
                                                :position-independent nil))
             (common-user-code (compile-lap-function *common-user-interrupt-code*
                                                     :area :wired
                                                     :position-independent nil
                                                     :extra-symbols (list (cons 'interrupt-common (+ (* common-code 8) 16))))))
        (let ((fref (function-reference 'sys.int::%%common-isr-thunk)))
          (setf (word (+ fref 1 sys.int::+fref-function+)) (make-value common-code sys.int::+tag-object+)
                (word (+ fref 1 sys.int::+fref-entry-point+)) (+ (* common-code 8) 16)))
  
negative.code:                                              :area :wired
                                               :position-independent nil
                                               :extra-symbols (list (cons 'interrupt-common (+ (* common-code 8) 16))
                                                                    (cons 'user-interrupt-common (+ (* common-user-code 8) 16)))
                                               :name (intern (format nil "%%ISR-THUNK-~D" i) "SYS.INT"))))
               (setf (word (+ isr-table 1 i)) (make-value addr sys.int::+tag-object+)))
           else do
             (setf (word (+ isr-table 1 i)) (make-value (symbol-address "NIL" "COMMON-LISP") sys.int::+tag-object+))))))
  