anchor.diff:    ())
   
   (defclass memory-operand (sized-operand)
  -  (;; An instance of gpr-operand, or NIL
  +  (;; An integer or NIL.
      (%base-register
       :initform nil
       :initarg :base-register
       :reader base-register)
  -   ;; An instance of gpr-operand, or NIL
  +   ;; An integer or NIL
      (%index-register
       :initform nil
       :initarg :index-register
  
positive.code: 	  ;; If there is no index register, but there is a base
  	  ;; register, then there is a SIB byte only if the R/M field
  	  ;; is #b100.
  	  (not (member (code-number base-register) '(4 12)))))))
  
  (defun displacement-size (memory-operand)
    (with-accessors ((displacement displacement))
  
negative.code: 	       ,@(encode-integer (or displacement 0) 4))))
  	  ((null displacement)
  	   (multiple-value-bind (rex.b b)
  	       (floor base-register 8)
  	     (multiple-value-bind (rex.x i)
  		 (floor index-register 8)
  	       (if (= b 5)
  		   ;; If the base register is 5 (EBP) or 13, then we
  		   ;; have a problem, because there is no encoding for
  