Index: /trunk/source/compiler/ARM/arm-asm.lisp
===================================================================
--- /trunk/source/compiler/ARM/arm-asm.lisp	(revision 14956)
+++ /trunk/source/compiler/ARM/arm-asm.lisp	(revision 14957)
@@ -824,5 +824,5 @@
      #x0fb00f00
      ())
-   (define-arm-instruction fldmiad (:dd :rnw :srcount)
+   (define-arm-instruction fldmiad (:dd :rnw :drcount)
      #x0cb00b00
      #x0fb00f00
@@ -1322,9 +1322,12 @@
 (defun parse-imm16-operand (form instruction)
   (unless (and (consp form)
-               (eq (car form) :$)
+               (or (eq (car form) :$)
+                   (eq (car form) 'quote))
                (consp (cdr form))
                (null (cddr form)))
     (error "Bad 16-bit immediate operand: ~s" form))
   (let* ((val (eval (cadr form))))
+    (when (eq (car form) 'quote)
+      (setq val (ash val arm::fixnumshift)))
     (set-field-value instruction (byte 12 0) (ldb (byte 12 0) val))
     (set-field-value instruction (byte 4 16) (ldb (byte 4 12) val))))
