⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ia64opc.h

📁 功能较全面的反汇编器:反汇编器ht-2.0.15.tar.gz
💻 H
📖 第 1 页 / 共 5 页
字号:
	IA64_OPCODE_FOR_F1_F2_F3,	IA64_OPCODE_FXOR_F1_F2_F3,	IA64_OPCODE_FPMERGE_S_F1_F2_F3,	IA64_OPCODE_FPMERGE_NS_F1_F2_F3,	IA64_OPCODE_FPMERGE_SE_F1_F2_F3,	IA64_OPCODE_FCVT_FX_S0_F1_F2,	IA64_OPCODE_FCVT_FX_S1_F1_F2,	IA64_OPCODE_FCVT_FX_S2_F1_F2,	IA64_OPCODE_FCVT_FX_S3_F1_F2,	IA64_OPCODE_FCVT_FXU_S0_F1_F2,	IA64_OPCODE_FCVT_FXU_S1_F1_F2,	IA64_OPCODE_FCVT_FXU_S2_F1_F2,	IA64_OPCODE_FCVT_FXU_S3_F1_F2,	IA64_OPCODE_FCVT_FX_TRUNC_S0_F1_F2,	IA64_OPCODE_FCVT_FX_TRUNC_S1_F1_F2,	IA64_OPCODE_FCVT_FX_TRUNC_S2_F1_F2,	IA64_OPCODE_FCVT_FX_TRUNC_S3_F1_F2,	IA64_OPCODE_FCVT_FXU_TRUNC_S0_F1_F2,	IA64_OPCODE_FCVT_FXU_TRUNC_S1_F1_F2,	IA64_OPCODE_FCVT_FXU_TRUNC_S2_F1_F2,	IA64_OPCODE_FCVT_FXU_TRUNC_S3_F1_F2,	IA64_OPCODE_FPCVT_FX_S0_F1_F2,	IA64_OPCODE_FPCVT_FX_S1_F1_F2,	IA64_OPCODE_FPCVT_FX_S2_F1_F2,	IA64_OPCODE_FPCVT_FX_S3_F1_F2,	IA64_OPCODE_FPCVT_FXU_S0_F1_F2,	IA64_OPCODE_FPCVT_FXU_S1_F1_F2,	IA64_OPCODE_FPCVT_FXU_S2_F1_F2,	IA64_OPCODE_FPCVT_FXU_S3_F1_F2,	IA64_OPCODE_FPCVT_FX_TRUNC_S0_F1_F2,	IA64_OPCODE_FPCVT_FX_TRUNC_S1_F1_F2,	IA64_OPCODE_FPCVT_FX_TRUNC_S2_F1_F2,	IA64_OPCODE_FPCVT_FX_TRUNC_S3_F1_F2,	IA64_OPCODE_FPCVT_FXU_TRUNC_S0_F1_F2,	IA64_OPCODE_FPCVT_FXU_TRUNC_S1_F1_F2,	IA64_OPCODE_FPCVT_FXU_TRUNC_S2_F1_F2,	IA64_OPCODE_FPCVT_FXU_TRUNC_S3_F1_F2,	IA64_OPCODE_FCVT_XF_F1_F2,	IA64_OPCODE_FSETC_S0_AMASK7_OMASK7,	IA64_OPCODE_FSETC_S1_AMASK7_OMASK7,	IA64_OPCODE_FSETC_S2_AMASK7_OMASK7,	IA64_OPCODE_FSETC_S3_AMASK7_OMASK7,	IA64_OPCODE_FCLRF_S0,	IA64_OPCODE_FCLRF_S1,	IA64_OPCODE_FCLRF_S2,	IA64_OPCODE_FCLRF_S3,	IA64_OPCODE_FCHKF_S0_TARGET25,	IA64_OPCODE_FCHKF_S1_TARGET25,	IA64_OPCODE_FCHKF_S2_TARGET25,	IA64_OPCODE_FCHKF_S3_TARGET25,	IA64_OPCODE_BREAK_F_IMM21,	IA64_OPCODE_NOP_F_IMM21,	IA64_OPCODE_BREAK_X_IMM62,	IA64_OPCODE_NOP_X_IMM62,	IA64_OPCODE_MOVL_R1_IMM64,	IA64_OPCODE_BRL_COND_SPTK_FEW_TARGET64,	IA64_OPCODE_BRL_COND_SPTK_MANY_TARGET64,	IA64_OPCODE_BRL_COND_SPNT_FEW_TARGET64,	IA64_OPCODE_BRL_COND_SPNT_MANY_TARGET64,	IA64_OPCODE_BRL_COND_DPTK_FEW_TARGET64,	IA64_OPCODE_BRL_COND_DPTK_MANY_TARGET64,	IA64_OPCODE_BRL_COND_DPNT_FEW_TARGET64,	IA64_OPCODE_BRL_COND_DPNT_MANY_TARGET64,	IA64_OPCODE_BRL_COND_SPTK_FEW_CLR_TARGET64,	IA64_OPCODE_BRL_COND_SPTK_MANY_CLR_TARGET64,	IA64_OPCODE_BRL_COND_SPNT_FEW_CLR_TARGET64,	IA64_OPCODE_BRL_COND_SPNT_MANY_CLR_TARGET64,	IA64_OPCODE_BRL_COND_DPTK_FEW_CLR_TARGET64,	IA64_OPCODE_BRL_COND_DPTK_MANY_CLR_TARGET64,	IA64_OPCODE_BRL_COND_DPNT_FEW_CLR_TARGET64,	IA64_OPCODE_BRL_COND_DPNT_MANY_CLR_TARGET64,	IA64_OPCODE_BRL_CALL_SPTK_FEW_B1_TARGET64,	IA64_OPCODE_BRL_CALL_SPTK_MANY_B1_TARGET64,	IA64_OPCODE_BRL_CALL_SPNT_FEW_B1_TARGET64,	IA64_OPCODE_BRL_CALL_SPNT_MANY_B1_TARGET64,	IA64_OPCODE_BRL_CALL_DPTK_FEW_B1_TARGET64,	IA64_OPCODE_BRL_CALL_DPTK_MANY_B1_TARGET64,	IA64_OPCODE_BRL_CALL_DPNT_FEW_B1_TARGET64,	IA64_OPCODE_BRL_CALL_DPNT_MANY_B1_TARGET64,	IA64_OPCODE_BRL_CALL_SPTK_FEW_CLR_B1_TARGET64,	IA64_OPCODE_BRL_CALL_SPTK_MANY_CLR_B1_TARGET64,	IA64_OPCODE_BRL_CALL_SPNT_FEW_CLR_B1_TARGET64,	IA64_OPCODE_BRL_CALL_SPNT_MANY_CLR_B1_TARGET64,	IA64_OPCODE_BRL_CALL_DPTK_FEW_CLR_B1_TARGET64,	IA64_OPCODE_BRL_CALL_DPTK_MANY_CLR_B1_TARGET64,	IA64_OPCODE_BRL_CALL_DPNT_FEW_CLR_B1_TARGET64,	IA64_OPCODE_BRL_CALL_DPNT_MANY_CLR_B1_TARGET64,	IA64_OPCODE_INST_LAST};enum IA64EnumOperandRole {    IA64_OPROLE_NONE = 0,    IA64_OPROLE_SRC,    IA64_OPROLE_DST,    IA64_OPROLE_SRC_DST,    IA64_OPROLE_DST_SRC,    OPROLE_LAST};enum IA64EnumOperandType {IA64_OPTYPE_NONE = 0,IA64_OPTYPE_REG_FIRST,      /* The following types are registers */IA64_OPTYPE_IREG,           /* Integer register */IA64_OPTYPE_IREG_R0_3,      /* r0-r3 */IA64_OPTYPE_IREG_R0,        /* Integer register R0 */IA64_OPTYPE_IREG_R1_127,    /* r1-r127 */IA64_OPTYPE_FREG,           /* FP register */IA64_OPTYPE_FREG_F2_127,    /* f2-f127 */IA64_OPTYPE_BR,             /* branch register */IA64_OPTYPE_IP,             /* instruction pointer, not encoded */IA64_OPTYPE_PREG,           /* predicate */IA64_OPTYPE_PREGS_ALL,      /* the predicate register */IA64_OPTYPE_PREGS_ROT,      /* rotating predicates */IA64_OPTYPE_APP_REG_GRP_LOW,         /* application registers 0-63*/IA64_OPTYPE_APP_REG_GRP_HIGH,        /* application registers 64-127*/IA64_OPTYPE_APP_CCV,        /* ar.ccv */IA64_OPTYPE_APP_PFS,        /* ar.pfs */IA64_OPTYPE_CR,             /* control registers */IA64_OPTYPE_PSR_L,          /* psr.l */IA64_OPTYPE_PSR_UM,         /* psr.um */IA64_OPTYPE_FPSR,           /* decoder operand types */IA64_OPTYPE_CFM,IA64_OPTYPE_PSR,IA64_OPTYPE_IFM,IA64_OPTYPE_REG_LAST,       /* End of register - types */IA64_OPTYPE_REGFILE_FIRST,  /* The following types are register-files */IA64_OPTYPE_PMC,IA64_OPTYPE_PMD,IA64_OPTYPE_PKR,IA64_OPTYPE_RR,IA64_OPTYPE_IBR,IA64_OPTYPE_DBR,IA64_OPTYPE_ITR,IA64_OPTYPE_DTR,IA64_OPTYPE_MSR,IA64_OPTYPE_CPUID,IA64_OPTYPE_REGFILE_LAST,   /* End of register-file types */IA64_OPTYPE_IMM_FIRST,      /* The following types are immediates */IA64_OPTYPE_UIMM,           /* unsigned immediate */IA64_OPTYPE_SIMM,           /* signed immediate */IA64_OPTYPE_IREG_NUM,       /* ireg in syntax and imm7 in encodings */IA64_OPTYPE_FREG_NUM,       /* freg in syntax and imm7 in encodings */IA64_OPTYPE_SSHIFT_REL,     /* pc relative signed immediate					    which is shifted by 4 */IA64_OPTYPE_SSHIFT_1,       /* unsigned immediate which has to be					    shifted 1 bit */IA64_OPTYPE_SSHIFT_16,      /* unsigned immediate which has to be					    shifted 16 bits */IA64_OPTYPE_COUNT_123,      /* immediate which can have the values of					    1, 2, 3 only */IA64_OPTYPE_COUNT_PACK,     /* immediate which can have the values of							 0, 7, 15, 16 only */IA64_OPTYPE_UDEC,           /* unsigned immediate which has to be					    decremented by 1 by the assembler */IA64_OPTYPE_SDEC,           /* signed immediate which has to be					    decremented by 1 by the assembler */IA64_OPTYPE_CCOUNT,         /* in pshl[24] - uimm5 in syntax, but encoded					    as its 2's complement */IA64_OPTYPE_CPOS,           /* in dep fixed form - uimm6 in syntax, but encoded					    as its 2's complement */IA64_OPTYPE_SEMAPHORE_INC,  /* immediate which is a semaphore increment amount					    can have the values of -16,-8,-4,-1,					    1,4,8,16 */IA64_OPTYPE_ONE,            /* the number 1 */IA64_OPTYPE_FCLASS,         /* immediate of the fclass instruction */IA64_OPTYPE_CMP_UIMM,       /* unsigned immediate of cmp geu and ltu */IA64_OPTYPE_CMP_UIMM_DEC,   /* unsigned immediate of cmp gtu and leu */IA64_OPTYPE_CMP4_UIMM,      /* unsigned immediate of cmp4 geu and ltu */IA64_OPTYPE_CMP4_UIMM_DEC,  /* unsigned immediate of cmp4 gtu and leu */IA64_OPTYPE_ALLOC_IOL,      /* for alloc : input, local, and output					    can be 0-96 */IA64_OPTYPE_ALLOC_ROT,      /* for alloc : rotating, can be 0-96 */IA64_OPTYPE_MUX1,           /* immediate of the mux1 instruction */IA64_OPTYPE_EIGHT,          /* immediate for ldfps base update form can have value 8 */IA64_OPTYPE_SIXTEEN,        /* immediate for ldfp8 and ldfpd base update form can have value 16 */IA64_OPTYPE_IMM_LAST,       /* End of immediate types */IA64_OPTYPE_MEM,            /* memory address */IA64_OPTYPE_LAST};enum IA64EnumOpcodeFormat {	 IA64_FORMAT_NONE = 0,	 IA64_FORMAT_A1,	 IA64_FORMAT_A2,	 IA64_FORMAT_A3,	 IA64_FORMAT_A4,	 IA64_FORMAT_A4_1,	 IA64_FORMAT_A5,	 IA64_FORMAT_A6,	 IA64_FORMAT_A6_1,	 IA64_FORMAT_A6_2,	 IA64_FORMAT_A6_3,	 IA64_FORMAT_A6_4,	 IA64_FORMAT_A6_5,	 IA64_FORMAT_A6_6,	 IA64_FORMAT_A6_7,	 IA64_FORMAT_A7,	 IA64_FORMAT_A7_1,	 IA64_FORMAT_A7_2,	 IA64_FORMAT_A7_3,	 IA64_FORMAT_A7_4,	 IA64_FORMAT_A7_5,	 IA64_FORMAT_A7_6,	 IA64_FORMAT_A7_7,	 IA64_FORMAT_A8,	 IA64_FORMAT_A8_1,	 IA64_FORMAT_A8_2,	 IA64_FORMAT_A8_3,	 IA64_FORMAT_A9,	 IA64_FORMAT_A10,	 IA64_FORMAT_I1,	 IA64_FORMAT_I2,	 IA64_FORMAT_I3,	 IA64_FORMAT_I4,	 IA64_FORMAT_I5,	 IA64_FORMAT_I6,	 IA64_FORMAT_I7,	 IA64_FORMAT_I8,	 IA64_FORMAT_I9,	 IA64_FORMAT_I10,	 IA64_FORMAT_I11,	 IA64_FORMAT_I12,	 IA64_FORMAT_I13,	 IA64_FORMAT_I14,	 IA64_FORMAT_I15,	 IA64_FORMAT_I16,	 IA64_FORMAT_I16_1,	 IA64_FORMAT_I16_2,	 IA64_FORMAT_I16_3,	 IA64_FORMAT_I17,	 IA64_FORMAT_I17_1,	 IA64_FORMAT_I17_2,	 IA64_FORMAT_I17_3,	 IA64_FORMAT_I19,	 IA64_FORMAT_I20,	 IA64_FORMAT_I21,	 IA64_FORMAT_I22,	 IA64_FORMAT_I23,	 IA64_FORMAT_I24,	 IA64_FORMAT_I25,	 IA64_FORMAT_I26,	 IA64_FORMAT_I27,	 IA64_FORMAT_I28,	 IA64_FORMAT_I29,	 IA64_FORMAT_M1,	 IA64_FORMAT_M2,	 IA64_FORMAT_M3,	 IA64_FORMAT_M4,	 IA64_FORMAT_M5,	 IA64_FORMAT_M6,	 IA64_FORMAT_M7,	 IA64_FORMAT_M8,	 IA64_FORMAT_M9,	 IA64_FORMAT_M10,	 IA64_FORMAT_M11,	 IA64_FORMAT_M12,	 IA64_FORMAT_M13,	 IA64_FORMAT_M14,	 IA64_FORMAT_M15,	 IA64_FORMAT_M16,	 IA64_FORMAT_M17,	 IA64_FORMAT_M18,	 IA64_FORMAT_M19,	 IA64_FORMAT_M20,	 IA64_FORMAT_M21,	 IA64_FORMAT_M22,	 IA64_FORMAT_M23,	 IA64_FORMAT_M24,	 IA64_FORMAT_M25,	 IA64_FORMAT_M26,	 IA64_FORMAT_M27,	 IA64_FORMAT_M28,	 IA64_FORMAT_M29,	 IA64_FORMAT_M30,	 IA64_FORMAT_M31,	 IA64_FORMAT_M32,	 IA64_FORMAT_M33,	 IA64_FORMAT_M34,	 IA64_FORMAT_M34_1,	 IA64_FORMAT_M35,	 IA64_FORMAT_M36,	 IA64_FORMAT_M37,	 IA64_FORMAT_M38,	 IA64_FORMAT_M39,	 IA64_FORMAT_M40,	 IA64_FORMAT_M41,	 IA64_FORMAT_M42,	 IA64_FORMAT_M43,	 IA64_FORMAT_M44,	 IA64_FORMAT_M45,	 IA64_FORMAT_M46,	 IA64_FORMAT_M1001,	 IA64_FORMAT_B1,	 IA64_FORMAT_B2,	 IA64_FORMAT_B3,	 IA64_FORMAT_B4,	 IA64_FORMAT_B5,	 IA64_FORMAT_B6,	 IA64_FORMAT_B7,	 IA64_FORMAT_B8,	 IA64_FORMAT_B9,	 IA64_FORMAT_F1,	 IA64_FORMAT_F1_1,	 IA64_FORMAT_F2,	 IA64_FORMAT_F3,	 IA64_FORMAT_F4,	 IA64_FORMAT_F4_1,	 IA64_FORMAT_F4_2,	 IA64_FORMAT_F4_3,	 IA64_FORMAT_F4_4,	 IA64_FORMAT_F4_5,	 IA64_FORMAT_F4_6,	 IA64_FORMAT_F4_7,	 IA64_FORMAT_F5,	 IA64_FORMAT_F5_1,	 IA64_FORMAT_F5_2,	 IA64_FORMAT_F5_3,	 IA64_FORMAT_F6,	 IA64_FORMAT_F7,	 IA64_FORMAT_F8,	 IA64_FORMAT_F8_4,	 IA64_FORMAT_F9,	 IA64_FORMAT_F9_1,	 IA64_FORMAT_F10,	 IA64_FORMAT_F11,	 IA64_FORMAT_F12,	 IA64_FORMAT_F13,	 IA64_FORMAT_F14,	 IA64_FORMAT_F15,	 IA64_FORMAT_X1,	 IA64_FORMAT_X2,	 IA64_FORMAT_X3,	 IA64_FORMAT_X4,	 IA64_FORMAT_X41,	 IA64_FORMAT_LAST};enum IA64EnumOpcodeTemplateRole {    IA64_TROLE_NONE = 0,    IA64_TROLE_ALU,    IA64_TROLE_BR,    IA64_TROLE_FP,    IA64_TROLE_INT,    IA64_TROLE_LONG,    IA64_TROLE_MEM,    IA64_TROLE_MIBF,    IA64_TROLE_LAST};#define IA64_DECISION_TREE_LEAF_NODE(node) ((byte)((node).pos) == 0xff)struct IA64Template {	byte stop;	byte slot[3];};struct IA64DecisionTreeEntry {	uint16 next_node;	char pos;	char size;};struct IA64Operand {	IA64EnumOperandRole role;	IA64EnumOperandType type;};struct IA64OpcodeEntry {	const char			*name;	IA64EnumOpcodeFormat		format;	IA64EnumOpcodeTemplateRole   	role;	IA64Operand			op1; // FIXME make array	IA64Operand			op2;	IA64Operand			op3;	IA64Operand			op4;	IA64Operand			op5;	IA64Operand			op6;};																						  extern IA64Template IA64Templates[];extern IA64DecisionTreeEntry IA64DecisionTree[];extern IA64OpcodeEntry IA64OpcodeTable[];#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -