anchor.diff:  (defparameter *ip* 0 "Instruction pointer")
   (defparameter *has-carried* nil "Whether the last wraparound changed the value")
   (defparameter *advance* 0 "Bytes to advance IP by after an operation")
  +
  +(defparameter *stack-segment* :ss)
  +(defparameter *default-segment* :ds)
   
   ;;; Constants
   
  
positive.code: (defun sign-extend (value)
    (wrap-carry (twos-complement value nil) t))
  
  ;;; setf-able locations
  
  (defun register (reg)
    (disasm-instr reg
  
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))
  