b43-asm: Add new instructions to README
[b43-tools.git] / assembler / test.asm
index 2c25ddef0d68e873d991b318ecb5c7594ee9c0e2..cea8724e682606a6b46971ffe21a01007df8a3d3 100644 (file)
@@ -39,6 +39,9 @@
        mov     (1 + (%assert(1 == ((1 + 2) - 2)))), r0
 
 label:
+       /* MUL instruction */
+       mul     r0,r1,r2        /* mul, r2 := msb, spr6d := lsb */
+
        /* ADD instructions */
        add     r0,r1,r2        /* add */
        add.    r0,r1,r2        /* add, set carry */
@@ -89,6 +92,10 @@ testlabel:
        jge     r0,r1,label     /* jump if greater or equal */
        jg      r0,r1,label     /* jump if greater */
        jle     r0,r1,label     /* jump if less or equal */
+       jdn     r0,r1,label     /* jump if difference is negative */
+       jdpz    r0,r1,label     /* jump if difference is non negative */
+       jdp     r0,r1,label     /* jump if difference is positive */
+       jdnz    r0,r1,label     /* jump if difference is non positive */
 
        jzx     7,8,r0,r1,label /* Jump if zero after shift and mask */
        jnzx    7,8,r0,r1,label /* Jump if nonzero after shift and mask */
@@ -193,6 +200,7 @@ function_b:
        radio   0x1234, 0xABC                   /* Write 0x1234 to RADIO register 0xABC */
        shm16   0x1234, 0x0001, 0x0002          /* Write 0x1234 to SHM routing 0x0001, register 0x0002 */
        shm32   0x12345678, 0x0001, 0x0002      /* Write 0x12345678 to SHM routing 0x0001, register 0x0002 */
+       tram    0x12345678, 0x1234              /* Write 0x12345678 to Template Ram offset 0x1234 */
 
 
 // vim: syntax=b43 ts=8