anchor.diff:              (if index scale nil)
               ;; subtract +tag-object+, skip object header.
               ;; Return an expression, so slot goes through symbol resolution, etc.
  -            `(+ (- ,sys.int::+tag-object+) 8 (* ,slot ,slot-scale))
  +            `(+ (- ,sys.int::+tag-object+) 8
  +                ,(if (eql slot-scale :location)
  +                     `(mezzano.runtime::location-offset ,slot)
  +                     `(* ,slot ,slot-scale))
  +                ,@(if offset (list offset) nil))
               nil
               segment)))
   
  
positive.code:          (parse-object-ea (rest form) (first form) 1))
          ((eql (first form) :object-unscaled)
           (parse-object-ea form nil 1))
          (t (let (base index scale disp rip-relative segment)
               (dolist (elt form)
                 (cond ((eql elt :rip)
  
negative.code:       (emit 0 0 0 0))))
  
  (defun parse-object-ea (form segment slot-scale)
    (destructuring-bind (base slot &optional index (scale 8) &key (offset 0))
        (rest form)
      (values nil
              base
  