anchor.diff:  (defmarco (define-insn-2 name insn)
     (quasiquote
       (define ((unquote name) out src dest . scale)
  -      (emit-insn-2 out (unquote insn) src dest (and scale (car scale))))))
  +      (emit-insn-2 out (unquote insn) src dest scale))))
   
   (define (emit-insn-2 out insn src dest scale)
  -  (unless scale
  -    (set! scale value-scale))
  +  (set! scale (if (null? scale) value-scale (car scale)))
     (emit out "~A~A ~A, ~A" insn (insn-size-suffix scale)
           (insn-operand src scale) (insn-operand dest scale)))
   
  -(define-insn-2 emit-mov "mov")
   (define-insn-2 emit-lea "lea")
   (define-insn-2 emit-add "add")
   (define-insn-2 emit-sub "sub")
  
positive.code: (define (mem reg)
    (format nil "(~A)" (value-sized reg)))
  
  (define (insn-operand operand scale)
    (cond ((symbol? operand)
           (elt (cdr (assoc operand register-operands)) scale))
          ((string? operand) operand)
          (true (error "strange operand ~S" operand))))
  
  (define (value-sized operand)
  
negative.code: ;;; Address modes
  
  (define (immediate x)
    (if (number? x) x (format nil "$~A" x)))
  
  (define (dispmem correction offset reg . reg2)
    (if (null reg2)
  