b43-asm: Update some comments.
[b43-tools.git] / assembler / test.asm
index ecbc2732179a202efa7e275bf3924d038d261333..2c25ddef0d68e873d991b318ecb5c7594ee9c0e2 100644 (file)
@@ -1,14 +1,13 @@
 /* This is a bcm43xx microcode assembly example.
- *
- * In this example file, r0 and r1 are always input
- * registers and r2 is output.
- * For input we can always have constant values or (one) memory
- * operand instead of the input registers shown here.
  *
  * Registers:
- *     GPRs:                   r0 - r63
+ *     GPRs:                   r0 - r63        (General Purpose Register)
  *     Offset Registers:       off0 - off5
- *     SPRs:                   spr000
+ *     SPRs:                   spr000          (Special Purpose Register)
+ *
+ * SPRs map to the driver-side IHR registers.
+ * An SPR offset is converted to an IHR offset by the following
+ * calculation:  IHR = (SPR + 0x400) * 2
  *
  * To access memory, two methods can be used. Examples follow.
  * Direct linear:
 
 .text
 
+       /* Inline assertion inside of a complex immediate.
+        * The %assert() expression will always return zero. */
+       mov     (1 + (%assert(1 == ((1 + 2) - 2)))), r0
+
 label:
        /* ADD instructions */
        add     r0,r1,r2        /* add */