anchor.diff:                    ;; STR (immediate, unsigned offset).
                     (emit-instruction (logior #xB9000000
                                               size-bit
  -                                            (ash (ash imm-value -3) 12)
  +                                            (ash (ash imm-value -3) 10)
                                               (ash (register-number base) +rn-shift+)
                                               (ash (register-number reg) +rt-shift+)))
                     (return-from instruction t))
  
positive.code:                   ;; STR (immediate, unsigned offset).
                    (emit-instruction (logior #xB9000000
                                              size-bit
                                              (ash (ash imm-value -2) 12)
                                              (ash (register-number base) +rn-shift+)
                                              (ash (register-number reg) +rt-shift+)))
                    (return-from instruction t))
  
negative.code:                   ;; LDR (immediate, unsigned offset).
                    (emit-instruction (logior #xB9400000
                                              size-bit
                                              (ash (ash imm-value -2) 10)
                                              (ash (register-number base) +rn-shift+)
                                              (ash (register-number reg) +rt-shift+)))
                    (return-from instruction t))
  