anchor.diff:  
   (defmacro add-without-carry (src dest is-word)
     `(disasm-instr (list "add" :src ,src :dest ,dest)
  -     (set-zf-on-op (set-sf-on-op (set-cf-on-add (incf ,src ,dest) ,is-word) ,is-word))))
  +     (set-zf-on-op (set-sf-on-op (set-cf-on-add (incf ,src ,dest)) ,is-word))))
   
   (defmacro add-with-carry (src dest is-word)
     `(disasm-instr (list "adc" :src ,src :dest ,dest)
  -     (set-zf-on-op (set-sf-on-op (set-cf-on-add (incf ,src (+ ,dest (flag :cf))) ,is-word) ,is-word))))
  +     (set-zf-on-op (set-sf-on-op (set-cf-on-add (incf ,src (+ ,dest (flag :cf)))) ,is-word))))
   
   (defmacro sub-without-borrow (src dest is-word)
     `(disasm-instr (list "sub" :src ,src :dest ,dest)
  
positive.code: (defparameter *flags* '(:cf 0 :sf 0 :zf 0) "Flags")
  (defparameter *registers* '(:ax 0 :bx 0 :cx 0 :dx 0 :bp 0 :sp #x100 :si 0 :di 0) "Registers")
  (defparameter *ip* 0 "Instruction pointer")
  
  ;;; Constants
  
  
negative.code: 
  ;;; Test instructions
  
  (defparameter *test-instructions* #(#x40 #x40 #x05 #x03 #x00 #x91 #xb0 #xff #x04 #x01 #x72 #x04 #x50 #x5a #x51 #x52 #x48 #x4b #x43 #x74 #x03 #xbe #x02 #x03 #xf4) "Test instructions")
  