]> Joshua Wise's Git repositories - firearm.git/blobdiff - ARM_Constants.v
Add wires for ALU.
[firearm.git] / ARM_Constants.v
index bbde7be9344dbae177a7a82d04f490c317c5f215..04dd4dd64efdad96b983222fce61eaa4c4de2d93 100644 (file)
@@ -8,9 +8,45 @@
 `define COND_VC 4'b0111        /* V clear */
 `define COND_HI 4'b1000        /* C set and Z clear */
 `define COND_LS 4'b1001        /* C clear or Z set */
-`define COND_GT 4'b1010        /* N equal to V */
+`define COND_GE 4'b1010        /* N equal to V */
 `define COND_LT 4'b1011        /* N not equal to V */
 `define COND_GT 4'b1100 /* Z clear AND (N equals V) */
 `define COND_LE 4'b1101        /* Z set OR (N not equals V) */
 `define COND_AL 4'b1110        /* TRUE */
 `define COND_NV 4'b1111        /* FALSE */
+
+`define COND_MATTERS(x) ((x != `COND_AL) && (x != `COND_NV))
+
+`define ALU_AND 4'b0000
+`define ALU_EOR 4'b0001
+`define ALU_SUB 4'b0010
+`define ALU_RSB 4'b0011
+`define ALU_ADD 4'b0100
+`define ALU_ADC 4'b0101
+`define ALU_SBC 4'b0110
+`define ALU_RSC 4'b0111
+`define ALU_TST 4'b1000
+`define ALU_TEQ 4'b1001
+`define ALU_CMP 4'b1010
+`define ALU_CMN 4'b1011
+`define ALU_ORR 4'b1100
+`define ALU_MOV 4'b1101
+`define ALU_BIC 4'b1110
+`define ALU_MVN 4'b1111
+
+`define SHIFT_LSL 2'b00
+`define SHIFT_LSR 2'b01
+`define SHIFT_ASR 2'b10
+`define SHIFT_ROR 2'b11
+
+`define CPSR_N 31
+`define CPSR_Z 30
+`define CPSR_C 29
+`define CPSR_V 28
+`define CPSR_I 7
+`define CPSR_F 6
+
+`define SHIFT_LSL 2'b00
+`define SHIFT_LSR 2'b01
+`define SHIFT_ASR 2'b10
+`define SHIFT_ROR 2'b11
This page took 0.027795 seconds and 4 git commands to generate.