📄 bfin.h
字号:
#define init_Linkage \{ \ Linkage_opcode, \ Linkage_framesize_bits, Linkage_framesize_mask, \ Linkage_R_bits, Linkage_R_mask, \ Linkage_code_bits, Linkage_code_mask \};/* LoopSetup+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+| 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 |.rop...|.c.|.soffset.......||.reg...........| - | - |.eoffset...............................|+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+*/typedef struct{ unsigned int opcode; int bits_eoffset; int mask_eoffset; int bits_dontcare; int mask_dontcare; int bits_reg; int mask_reg; int bits_soffset; int mask_soffset; int bits_c; int mask_c; int bits_rop; int mask_rop; int bits_code; int mask_code;} LoopSetup;#define LoopSetup_opcode 0xe0800000#define LoopSetup_eoffset_bits 0#define LoopSetup_eoffset_mask 0x3ff#define LoopSetup_dontcare_bits 10#define LoopSetup_dontcare_mask 0x3#define LoopSetup_reg_bits 12#define LoopSetup_reg_mask 0xf#define LoopSetup_soffset_bits 16#define LoopSetup_soffset_mask 0xf#define LoopSetup_c_bits 20#define LoopSetup_c_mask 0x1#define LoopSetup_rop_bits 21#define LoopSetup_rop_mask 0x3#define LoopSetup_code_bits 23#define LoopSetup_code_mask 0x1ff#define init_LoopSetup \{ \ LoopSetup_opcode, \ LoopSetup_eoffset_bits, LoopSetup_eoffset_mask, \ LoopSetup_dontcare_bits, LoopSetup_dontcare_mask, \ LoopSetup_reg_bits, LoopSetup_reg_mask, \ LoopSetup_soffset_bits, LoopSetup_soffset_mask, \ LoopSetup_c_bits, LoopSetup_c_mask, \ LoopSetup_rop_bits, LoopSetup_rop_mask, \ LoopSetup_code_bits, LoopSetup_code_mask \};/* LDIMMhalf+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+| 1 | 1 | 1 | 0 | 0 | 0 | 0 | 1 |.Z.|.H.|.S.|.grp...|.reg.......||.hword.........................................................|+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+*/typedef struct{ unsigned int opcode; int bits_hword; int mask_hword; int bits_reg; int mask_reg; int bits_grp; int mask_grp; int bits_S; int mask_S; int bits_H; int mask_H; int bits_Z; int mask_Z; int bits_code; int mask_code;} LDIMMhalf;#define LDIMMhalf_opcode 0xe1000000#define LDIMMhalf_hword_bits 0#define LDIMMhalf_hword_mask 0xffff#define LDIMMhalf_reg_bits 16#define LDIMMhalf_reg_mask 0x7#define LDIMMhalf_grp_bits 19#define LDIMMhalf_grp_mask 0x3#define LDIMMhalf_S_bits 21#define LDIMMhalf_S_mask 0x1#define LDIMMhalf_H_bits 22#define LDIMMhalf_H_mask 0x1#define LDIMMhalf_Z_bits 23#define LDIMMhalf_Z_mask 0x1#define LDIMMhalf_code_bits 24#define LDIMMhalf_code_mask 0xff#define init_LDIMMhalf \{ \ LDIMMhalf_opcode, \ LDIMMhalf_hword_bits, LDIMMhalf_hword_mask, \ LDIMMhalf_reg_bits, LDIMMhalf_reg_mask, \ LDIMMhalf_grp_bits, LDIMMhalf_grp_mask, \ LDIMMhalf_S_bits, LDIMMhalf_S_mask, \ LDIMMhalf_H_bits, LDIMMhalf_H_mask, \ LDIMMhalf_Z_bits, LDIMMhalf_Z_mask, \ LDIMMhalf_code_bits, LDIMMhalf_code_mask \};/* CC2dreg+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+| 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |.op....|.reg.......|+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+*/typedef struct{ unsigned short opcode; int bits_reg; int mask_reg; int bits_op; int mask_op; int bits_code; int mask_code;} CC2dreg;#define CC2dreg_opcode 0x0200#define CC2dreg_reg_bits 0#define CC2dreg_reg_mask 0x7#define CC2dreg_op_bits 3#define CC2dreg_op_mask 0x3#define CC2dreg_code_bits 5#define CC2dreg_code_mask 0x7fff#define init_CC2dreg \{ \ CC2dreg_opcode, \ CC2dreg_reg_bits, CC2dreg_reg_mask, \ CC2dreg_op_bits, CC2dreg_op_mask, \ CC2dreg_code_bits, CC2dreg_code_mask \};/* PTR2op+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+| 0 | 1 | 0 | 0 | 0 | 1 | 0 |.opc.......|.src.......|.dst.......|+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+*/typedef struct{ unsigned short opcode; int bits_dst; int mask_dst; int bits_src; int mask_src; int bits_opc; int mask_opc; int bits_code; int mask_code;} PTR2op;#define PTR2op_opcode 0x4400#define PTR2op_dst_bits 0#define PTR2op_dst_mask 0x7#define PTR2op_src_bits 3#define PTR2op_src_mask 0x7#define PTR2op_opc_bits 6#define PTR2op_opc_mask 0x7#define PTR2op_code_bits 9#define PTR2op_code_mask 0x7f#define init_PTR2op \{ \ PTR2op_opcode, \ PTR2op_dst_bits, PTR2op_dst_mask, \ PTR2op_src_bits, PTR2op_src_mask, \ PTR2op_opc_bits, PTR2op_opc_mask, \ PTR2op_code_bits, PTR2op_code_mask \};/* COMP3op+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+| 0 | 1 | 0 | 1 |.opc.......|.dst.......|.src1......|.src0......|+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+*/typedef struct{ unsigned short opcode; int bits_src0; int mask_src0; int bits_src1; int mask_src1; int bits_dst; int mask_dst; int bits_opc; int mask_opc; int bits_code; int mask_code;} COMP3op;#define COMP3op_opcode 0x5000#define COMP3op_src0_bits 0#define COMP3op_src0_mask 0x7#define COMP3op_src1_bits 3#define COMP3op_src1_mask 0x7#define COMP3op_dst_bits 6#define COMP3op_dst_mask 0x7#define COMP3op_opc_bits 9#define COMP3op_opc_mask 0x7#define COMP3op_code_bits 12#define COMP3op_code_mask 0xf#define init_COMP3op \{ \ COMP3op_opcode, \ COMP3op_src0_bits, COMP3op_src0_mask, \ COMP3op_src1_bits, COMP3op_src1_mask, \ COMP3op_dst_bits, COMP3op_dst_mask, \ COMP3op_opc_bits, COMP3op_opc_mask, \ COMP3op_code_bits, COMP3op_code_mask \};/* ccMV+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+| 0 | 0 | 0 | 0 | 0 | 1 | 1 |.T.|.d.|.s.|.dst.......|.src.......|+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+*/typedef struct{ unsigned short opcode; int bits_src; int mask_src; int bits_dst; int mask_dst; int bits_s; int mask_s; int bits_d; int mask_d; int bits_T; int mask_T; int bits_code; int mask_code;} CCmv;#define CCmv_opcode 0x0600#define CCmv_src_bits 0#define CCmv_src_mask 0x7#define CCmv_dst_bits 3#define CCmv_dst_mask 0x7#define CCmv_s_bits 6#define CCmv_s_mask 0x1#define CCmv_d_bits 7#define CCmv_d_mask 0x1#define CCmv_T_bits 8#define CCmv_T_mask 0x1#define CCmv_code_bits 9#define CCmv_code_mask 0x7f#define init_CCmv \{ \ CCmv_opcode, \ CCmv_src_bits, CCmv_src_mask, \ CCmv_dst_bits, CCmv_dst_mask, \ CCmv_s_bits, CCmv_s_mask, \ CCmv_d_bits, CCmv_d_mask, \ CCmv_T_bits, CCmv_T_mask, \ CCmv_code_bits, CCmv_code_mask \};/* CCflag+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+| 0 | 0 | 0 | 0 | 1 |.I.|.opc.......|.G.|.y.........|.x.........|+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+*/typedef struct{ unsigned short opcode; int bits_x; int mask_x; int bits_y; int mask_y; int bits_G; int mask_G; int bits_opc; int mask_opc; int bits_I; int mask_I; int bits_code; int mask_code;} CCflag;#define CCflag_opcode 0x0800#define CCflag_x_bits 0#define CCflag_x_mask 0x7#define CCflag_y_bits 3#define CCflag_y_mask 0x7#define CCflag_G_bits 6#define CCflag_G_mask 0x1#define CCflag_opc_bits 7#define CCflag_opc_mask 0x7#define CCflag_I_bits 10#define CCflag_I_mask 0x1#define CCflag_code_bits 11#define CCflag_code_mask 0x1f#define init_CCflag \{ \ CCflag_opcode, \ CCflag_x_bits, CCflag_x_mask, \ CCflag_y_bits, CCflag_y_mask, \ CCflag_G_bits, CCflag_G_mask, \ CCflag_opc_bits, CCflag_opc_mask, \ CCflag_I_bits, CCflag_I_mask, \ CCflag_code_bits, CCflag_code_mask, \};/* CC2stat+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+| 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |.D.|.op....|.cbit..............|+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+*/typedef struct{ unsigned short opcode; int bits_cbit; int mask_cbit; int bits_op; int mask_op; int bits_D; int mask_D; int bits_code; int mask_code;} CC2stat;#define CC2stat_opcode 0x0300#define CC2stat_cbit_bits 0#define CC2stat_cbit_mask 0x1f#define CC2stat_op_bits 5#define CC2stat_op_mask 0x3#define CC2stat_D_bits 7#define CC2stat_D_mask 0x1#define CC2stat_code_bits 8#define CC2stat_code_mask 0xff#define init_CC2stat \{ \ CC2stat_opcode, \ CC2stat_cbit_bits, CC2stat_cbit_mask, \ CC2stat_op_bits, CC2stat_op_mask, \ CC2stat_D_bits, CC2stat_D_mask, \ CC2stat_code_bits, CC2stat_code_mask \};/* REGMV+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+| 0 | 0 | 1 | 1 |.gd........|.gs........|.dst.......|.src.......|+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+*/typedef struct{ unsigned short opcode; int bits_src; int mask_src; int bits_dst; int mask_dst; int bits_gs; int mask_gs; int bits_gd; int mask_gd; int bits_code; int mask_code;} RegMv;#define RegMv_opcode 0x3000#define RegMv_src_bits 0#define RegMv_src_mask 0x7#define RegMv_dst_bits 3#define RegMv_dst_mask 0x7#define RegMv_gs_bits 6#define RegMv_gs_mask 0x7#define RegMv_gd_bits 9#define RegMv_gd_mask 0x7#define RegMv_code_bits 12#define RegMv_code_mask 0xf#define init_RegMv \{ \ RegMv_opcode, \ RegMv_src_bits, RegMv_src_mask, \ RegMv_dst_bits, RegMv_dst_mask, \ RegMv_gs_bits, RegMv_gs_mask, \ RegMv_gd_bits, RegMv_gd_mask, \ RegMv_code_bits, RegMv_code_mask \};/* COMPI2opD+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+| 0 | 1 | 1 | 0 | 0 |.op|.isrc......................|.dst.......|+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+*/typedef struct{ unsigned short opcode; int bits_dst; int mask_dst; int bits_src; int mask_src; int bits_op; int mask_op; int bits_code; int mask_code;} COMPI2opD;#define COMPI2opD_opcode 0x6000#define COMPI2opD_dst_bits 0#define COMPI2opD_dst_mask 0x7#define COMPI2opD_src_bits 3#define COMPI2opD_src_mask 0x7f#define COMPI2opD_op_bits 10#define COMPI2opD_op_mask 0x1#define COMPI2opD_code_bits 11#define COMPI2opD_code_mask 0x1f#define init_COMPI2opD \{ \ COMPI2opD_opcode, \ COMPI2opD_dst_bits, COMPI2opD_dst_mask, \ COMPI2opD_src_bits, COMPI2opD_src_mask, \ COMPI2opD_op_bits, COMPI2opD_op_mask, \ COMPI2opD_code_bits, COMPI2opD_code_mask \};/* COMPI2opP+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+| 0 | 1 | 1 | 0 | 1 |.op|.src.......................|.dst.......|+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+*/typedef COMPI2opD COMPI2opP;#define COMPI2opP_opcode 0x6800#define COMPI2opP_dst_bits 0#define COMPI2opP_dst_mask 0x7#define COMPI2opP_src_bits 3#define COMPI2opP_src_mask 0x7f#define COMPI2opP_op_bits 10#define COMPI2opP_op_mask 0x1#define COMPI2opP_code_bits 11#define COMPI2opP_code_mask 0x1f#define init_COMPI2opP \{ \ COMPI2opP_opcode, \ COMPI2opP_dst_bits, COMPI2opP_dst_mask, \ COMPI2opP_src_bits, COMPI2opP_src_mask, \ COMPI2opP_op_bits, COMPI2opP_op_mask, \ COMPI2opP_code_bits, COMPI2opP_code_mask \};/* dagMODim+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+| 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 |.br| 1 | 1 |.op|.m.....|.i.....|+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+*/typedef struct{ unsigned short opcode; int bits_i; int mask_i; int bits_m; int mask_m; int bits_op; int mask_op; int bits_code2; int mask_code2; int bits_br; int mask_br; int bits_code; int mask_code;} DagMODim;#define DagMODim_opcode 0x9e60#define DagMODim_i_bits 0#define DagMODim_i_mask 0x3#define DagMODim_m_bits 2#define DagMODim_m_mask 0x3#define DagMODim_op_bits 4#define DagMODim_op_mask 0x1#define DagMODim_code2_bits 5#define DagMODim_code2_mask 0x3#define DagMODim_br_bits 7#define DagMODim_br_mask 0x1#define DagMODim_code_bits 8#define DagMODim_code_mask 0xff#define init_DagMODim \{ \ DagMODim_opcode, \ DagMODim_i_bits, DagMODim_i_mask, \ DagMODim_m_bits, DagMODim_m_mask, \ DagMODim_op_bits, DagMODim_op_mask, \ DagMODim_code2_bits, DagMODim_code2_mask, \ DagMODim_br_bits, DagMODim_br_mask, \ DagMODim_code_bits, DagMODim_code_mask \};/* dagMODik+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+| 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 0 |.op....|.i.....|+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+*/typedef struct{ unsigned short opcode; int bits_i; int mask_i; int bits_op; int mask_op; int bits_code; int mask_code;} DagMODik;#define DagMODik_opcode 0x9f60#define DagMODik_i_bits 0#define DagMODik_i_mask 0x3#define DagMODik_op_bits 2#define DagMODik_op_mask 0x3#define DagMODik_code_bits 3#define DagMODik_code_mask 0xfff#define init_DagMODik \{ \ DagMODik_opcode, \ DagMODik_i_bits, DagMODik_i_mask, \ DagMODik_op_bits, DagMODik_op_mask, \ DagMODik_code_bits, DagMODik_code_mask \};#endif //BFIN_OPCODES_H_HD9837U0U9I27E902702DYHCXH2D79218D701D
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -