anchor.diff:  
   (defun xlat ()
     (disasm-instr '("xlat")
  -    (setf (byte-register :al) (byte-in-ram (+ (register :bx) (byte-register :al))))))
  +    (setf (byte-register :al) (segmented-byte-in-ram (+ (register :bx) (byte-register :al))))))
   
   ;;; Opcode parsing
   
  
positive.code:   value)
  
  (defsetf flags-register set-flags-register)
  
  (defun indirect-address (mod-bits r/m-bits is-word)
    "Read from an indirect address."
  
negative.code: (defmacro compare-string-operation (is-word)
    `(disasm-instr '("cmps")
       (if ,is-word
  	 (cmp-operation (segmented-word-in-ram (register :si) *default-segment*) (segmented-word-in-ram (register :di) *default-segment*) t)
  	 (cmp-operation (segmented-byte-in-ram (register :si) *default-segment*) (segmented-byte-in-ram (register :di) *default-segment*) nil))))
  
  (defun compare-string (opcode)
    (string-operation opcode compare-string-operation))
  