anchor.diff:    (loop
        for ret = (parse-opcode (next-instruction))
        until (equal ret '("hlt"))
  +     do (advance-ip)
        finally (return t)))
   
   (defun disasm-instructions (instr-length)
  
positive.code: 	    (#b101 (list :index :di))
  	    (#b110 (list :base :bp))
  	    (#b111 (list :base :bx))))
      (if (and (= mod-bits #b00) (= r/m-bits #b100))
  	(next-word)
  	(case r/m-bits
  	  (#b000 (+ (register :bx) (register :si)))
  
negative.code: 
  (defmacro mov-immediate-to-memory (mod-bits r/m-bits is-word)
    `(if ,is-word
         (mov (next-word-ahead-of-indirect-address ,mod-bits ,r/m-bits) (indirect-address ,mod-bits ,r/m-bits t))
         (mov (next-instruction-ahead-of-indirect-address ,mod-bits ,r/m-bits) (indirect-address ,mod-bits ,r/m-bits nil))))
  
  (defmacro parse-group11-opcode (opcode)
    `(parse-group-opcode
  