anchor.diff:  	   ;; displacement is small or even 0, we must use this
   	   ;; encoding.
   	   (multiple-value-bind (rex.x i)
  -	       (floor (code-number index-register) 8)
  +	       (floor index-register 8)
   	     `(,(ash rex.x 1)
   	       #b00000100 ; ModR/M byte
   	       ,(+ (ash (round (log scale 2)) 6)
  
positive.code: 		   (index-register index-register))
        memory-operand
      (or (and (not (null base-register))
  	     (>= (code-number base-register) 8))
  	(and (not (null index-register))
  	     (>= (code-number index-register) 8)))))
  
  (defun sib-byte-p (memory-operand)
    (with-accessors ((base-register base-register)
  
negative.code: 		(typep displacement '(signed-byte 8)))
  	   ;; We have a base register and an 8-bit displacement.
  	   (multiple-value-bind (rex.b r/m)
  	       (floor base-register 8)
  	     (if (= r/m 4)
  		 `(,rex.b
  		   #b01000100 ; ModR/M byte
  