PLEASE
[capstone.git] / src / pru.S
index dcc5493a1395c240fede446f2a1068154bcdbba5..25cd3c360f9186d295bbad88f1a0b47275b08715 100644 (file)
--- a/src/pru.S
+++ b/src/pru.S
 #define CLOCKS_PER_LOOP 2
 #define DELAYCOUNT DELAY_SECONDS * CLOCK / CLOCKS_PER_LOOP
 
-START:
-       MOV     r1, DELAYCOUNT
 
-DELAY:
-       SUB     r1, r1, 1
-       QBNE    DELAY, r1, 0
+#define R_PINKY 0x0
+#define R_RING  0x1
+#define R_MID   0x10
+#define R_FORE  0x11
+#define R_THUMB 0x100
+#define L_THUMB 0x101
+#define L_FORE  0x110
+#define L_MID   0x111
+#define L_RING  0x1000
+#define L_PINKY 0x1001
+
+#define CYCLE 4000000
+#define WIDTH_UP 120000
+#define WIDTH_DOWN 480000
+
+//     MOV     r1, DELAYCOUNT
+//     ADD     r1, r1, r1
+//     ADD     r1, r1, r1
+//     ADD     r1, r1, r1
+//     ADD     r1, r1, r1
+//DELAY:
+       //SUB   r1, r1, 1
+       //NOT   r30, r30, r30
+       //QBNE  DELAY, r1, 0
+
+START:
 
-       /* intr */
+       MOV     r1, CYCLE
+       MOV     r2, WIDTH_UP
+       MOV     r3, WIDTH_DOWN
+       MOV     r4, 0xffffffff
+       MOV     r30, 0x000003ff
+       MOV     r5, 0x00000000
+KLOOP:
+       QBLE    DOWN, r5, r2
+       QBLE    KRST, r5, r1
+       ADD     r5, r5, 4
+       JMP     KLOOP
+DOWN:
+       MOV     r30, 0x00000000
+       MOV     r2, 0xffffffff
+       JMP     KLOOP
+KRST:
+       MOV r5, 0x00000000
+       MOV r30, 0x000003ff
+       MOV r2, WIDTH_UP
+       JMP KLOOP
+KHALT:
        MOV     R31.b0, PRU0_R31_VEC_VALID | SIGNUM
        HALT