tipo
[deliverable/binutils-gdb.git] / opcodes / alpha-opc.h
index fe5eea52fbfb5b6e1709faf978646a3967395c9b..2f43cf2745ca1e58570aefeea275000c4a6c1893 100644 (file)
 #define RB(x) (((x)>>16)& 0x1f)
 #define RC(x) (((x)>>0) & 0x1f)
 #define DISP(x) ((((x) & 0xffff) ^ 0x8000)-0x8000)
-#define BDISP(x) ((((x) & 0x1fffff) ^ 0x10000)-0x10000)
+#define BDISP(x) ((((x) & 0x1fffff) ^ 0x100000)-0x100000)
 #define OPCODE(x) (((x) >>26)&0x3f)
 #define JUMP_OPTYPE(x) (((x)>>14) & 0xf)
 #define JUMP_HINT(x) ((x) & 0x3fff)
+#define JDISP(x) ((((x) & 0x3fff) ^ 0x2000)-0x2000)
 #define OP_OPTYPE(x) (((x)>>5)&0x7f)
-#define OP_IS_CONSTANT(x) ((x) & (1<<13))
+#define OP_IS_CONSTANT(x) ((x) & (1<<12))
 #define LITERAL(x) (((x)>>13) & 0xff)
 
 
@@ -101,6 +102,14 @@ char *alpha_regs[32] =
 #define PAL_FORMAT(op, extra, name) \
 {(op<<26)+(extra),name, PAL_FORMAT_CODE}  
 
+#define FLOAT_MEMORY_FORMAT_CODE 8
+#define FLOAT_MEMORY_FORMAT(op, name) \
+ { op << 26, name, FLOAT_MEMORY_FORMAT_CODE }
+
+#define FLOAT_BRANCH_FORMAT_CODE  9
+#define FLOAT_BRANCH_FORMAT(op, name) \
+ { (op<<26), name , FLOAT_BRANCH_FORMAT_CODE }
+
 
 
 alpha_insn alpha_insn_set[] =
@@ -108,22 +117,23 @@ alpha_insn alpha_insn_set[] =
   
 /* Memory format instruction opcodes */
 MEMORY_FORMAT(0x08,"lda"),
-MEMORY_FORMAT(0x21,"ldg"),
+FLOAT_MEMORY_FORMAT(0x21,"ldg"),
 MEMORY_FORMAT(0x29,"ldq"),
-MEMORY_FORMAT(0x22,"lds"),
-MEMORY_FORMAT(0x25,"stg"),
+FLOAT_MEMORY_FORMAT(0x22,"lds"),
+FLOAT_MEMORY_FORMAT(0x25,"stg"),
 MEMORY_FORMAT(0x2d,"stq"),
-MEMORY_FORMAT(0x26,"sts"),
+FLOAT_MEMORY_FORMAT(0x26,"sts"),
 MEMORY_FORMAT(0x09,"ldah"),
 MEMORY_FORMAT(0x28,"ldl"),
 MEMORY_FORMAT(0x2b,"ldq_l"),
-MEMORY_FORMAT(0x23,"ldt"),
+FLOAT_MEMORY_FORMAT(0x23,"ldt"),
 MEMORY_FORMAT(0x2c,"stl"),
 MEMORY_FORMAT(0x2f,"stq_c"),
-MEMORY_FORMAT(0x27,"stt"),
-MEMORY_FORMAT(0x20,"ldf"),
-MEMORY_FORMAT(0x2a,"ldq_u"),
-MEMORY_FORMAT(0x24,"stf"),
+FLOAT_MEMORY_FORMAT(0x27,"stt"),
+FLOAT_MEMORY_FORMAT(0x20,"ldf"),
+MEMORY_FORMAT(0x2a,"ldl_l"),
+MEMORY_FORMAT(0x0b,"ldq_u"),
+FLOAT_MEMORY_FORMAT(0x24,"stf"),
 MEMORY_FORMAT(0x2e,"stl_c"),
 MEMORY_FORMAT(0x0f,"stq_u"),
 
@@ -143,18 +153,18 @@ MEMORY_BRANCH_FORMAT(0x1a, 0x3, "jsr_coroutine"),
 
 
 BRANCH_FORMAT(0x30,"br"),
-BRANCH_FORMAT(0x33,"fble"),
-BRANCH_FORMAT(0x36,"fbge"),
+FLOAT_BRANCH_FORMAT(0x33,"fble"),
+FLOAT_BRANCH_FORMAT(0x36,"fbge"),
 BRANCH_FORMAT(0x39,"beq"),
 BRANCH_FORMAT(0x3c,"blbs"),
 BRANCH_FORMAT(0x3f,"bgt"),
-BRANCH_FORMAT(0x31,"fbeq"),
+FLOAT_BRANCH_FORMAT(0x31,"fbeq"),
 BRANCH_FORMAT(0x34,"bsr"),
-BRANCH_FORMAT(0x37,"fbgt"),
+FLOAT_BRANCH_FORMAT(0x37,"fbgt"),
 BRANCH_FORMAT(0x3a,"blt"),
 BRANCH_FORMAT(0x3d,"bne"),
-BRANCH_FORMAT(0x32,"fblt"),
-BRANCH_FORMAT(0x35,"fbne"),
+FLOAT_BRANCH_FORMAT(0x32,"fblt"),
+FLOAT_BRANCH_FORMAT(0x35,"fbne"),
 BRANCH_FORMAT(0x38,"blbc"),
 BRANCH_FORMAT(0x3b,"ble"),
 BRANCH_FORMAT(0x3e,"bge"),
This page took 0.024466 seconds and 4 git commands to generate.