anchor.diff:    "Wrap around an overflowed value."
     (if is-word (mod value #x10000) (mod value #x100)))
   
  +(defun negative-p (value is-word)
  +  (if is-word (>= value #x8000) (>= value #x80)))
  +
  +(defun twos-complement (value is-word)
  +  (if (negative-p value is-word)
  +      (- (1+ (logxor value (if is-word #xffff #xff))))
  +      value))
  +
   ;;; Instruction loader
   
   (defun load-instructions-into-ram (instrs)
  
positive.code: (defun mov-word-to-register (reg)
    (disasm-instr (list "mov" :src (next-word) :dest reg)
      (setf (register reg) (next-word))))
  
  ;;; Opcode parsing
  
  
negative.code:     ((in-8-byte-block-p opcode #xb0) (mov-byte-to-register opcode))
      ((in-8-byte-block-p opcode #xb8) (with-one-byte-opcode-register opcode (mov-word-to-register reg)))
      ((= opcode #xf8) (clear-carry-flag))
      ((= opcode #xf9) (set-carry-flag))
      ((= opcode #xeb) (jmp-short))
      ((= opcode #xe8) (call-near))
      ((= opcode #xc3) (ret-from-call))))
  
  ;;; Main functions
  
  