anchor.diff:      ((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 #xf9) (set-carry-flag))
  +    ((= opcode #xeb) (jmp-short))
  +    ((= opcode #xe8) (call-near))
  +    ((= opcode #xc3) (ret-from-call))))
   
   ;;; Main functions
   
  
positive.code:   "Wrap around an overflowed value."
    (if is-word (mod value #x10000) (mod value #x100)))
  
  ;;; Instruction loader
  
  (defun load-instructions-into-ram (instrs)
  
negative.code: (defun mov-word-to-register (reg)
    (disasm-instr (list "mov" :src (next-word) :dest reg)
      (setf (register reg) (next-word))))
  
  (defun jmp-short ()
    (disasm-instr (list "jmp" :op1 (twos-complement (next-instruction) nil))
      (incf (register :ip) (twos-complement (next-instruction) nil))))
  
  (defun call-near ()
    (disasm-instr (list "call" (twos-complement (reverse-little-endian (next-instruction) (next-instruction)) t))
      (push-to-stack (+ (register :ip) 2))
      (incf (register :ip) (twos-complement (reverse-little-endian (next-instruction) (next-instruction)) t))))
  
  (defun ret-from-call ()
    (disasm-instr '("ret")
      (setf (register :ip) (pop-from-stack))))
  
  ;;; Opcode parsing
  
  