📄 bfin.h
字号:
#define LDSTiiFP_opcode 0xb800#define LDSTiiFP_reg_bits 0#define LDSTiiFP_reg_mask 0xf#define LDSTiiFP_offset_bits 4#define LDSTiiFP_offset_mask 0x1f#define LDSTiiFP_W_bits 9#define LDSTiiFP_W_mask 0x1#define LDSTiiFP_code_bits 10#define LDSTiiFP_code_mask 0x3f#define init_LDSTiiFP \{ \ LDSTiiFP_opcode, \ LDSTiiFP_reg_bits, LDSTiiFP_reg_mask, \ LDSTiiFP_offset_bits, LDSTiiFP_offset_mask, \ LDSTiiFP_W_bits, LDSTiiFP_W_mask, \ LDSTiiFP_code_bits, LDSTiiFP_code_mask \};/* dspLDST+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+| 1 | 0 | 0 | 1 | 1 | 1 |.W.|.aop...|.m.....|.i.....|.reg.......|+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+*/typedef struct{ unsigned short opcode; int bits_reg; int mask_reg; int bits_i; int mask_i; int bits_m; int mask_m; int bits_aop; int mask_aop; int bits_W; int mask_W; int bits_code; int mask_code;} DspLDST;#define DspLDST_opcode 0x9c00#define DspLDST_reg_bits 0#define DspLDST_reg_mask 0x7#define DspLDST_i_bits 3#define DspLDST_i_mask 0x3#define DspLDST_m_bits 5#define DspLDST_m_mask 0x3#define DspLDST_aop_bits 7#define DspLDST_aop_mask 0x3#define DspLDST_W_bits 9#define DspLDST_W_mask 0x1#define DspLDST_code_bits 10#define DspLDST_code_mask 0x3f#define init_DspLDST \{ \ DspLDST_opcode, \ DspLDST_reg_bits, DspLDST_reg_mask, \ DspLDST_i_bits, DspLDST_i_mask, \ DspLDST_m_bits, DspLDST_m_mask, \ DspLDST_aop_bits, DspLDST_aop_mask, \ DspLDST_W_bits, DspLDST_W_mask, \ DspLDST_code_bits, DspLDST_code_mask \};/* LDSTpmod+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+| 1 | 0 | 0 | 0 |.W.|.aop...|.reg.......|.idx.......|.ptr.......|+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+*/typedef struct{ unsigned short opcode; int bits_ptr; int mask_ptr; int bits_idx; int mask_idx; int bits_reg; int mask_reg; int bits_aop; int mask_aop; int bits_W; int mask_W; int bits_code; int mask_code;} LDSTpmod;#define LDSTpmod_opcode 0x8000#define LDSTpmod_ptr_bits 0#define LDSTpmod_ptr_mask 0x7#define LDSTpmod_idx_bits 3#define LDSTpmod_idx_mask 0x7#define LDSTpmod_reg_bits 6#define LDSTpmod_reg_mask 0x7#define LDSTpmod_aop_bits 9#define LDSTpmod_aop_mask 0x3#define LDSTpmod_W_bits 11#define LDSTpmod_W_mask 0x1#define LDSTpmod_code_bits 12#define LDSTpmod_code_mask 0xf#define init_LDSTpmod \{ \ LDSTpmod_opcode, \ LDSTpmod_ptr_bits, LDSTpmod_ptr_mask, \ LDSTpmod_idx_bits, LDSTpmod_idx_mask, \ LDSTpmod_reg_bits, LDSTpmod_reg_mask, \ LDSTpmod_aop_bits, LDSTpmod_aop_mask, \ LDSTpmod_W_bits, LDSTpmod_W_mask, \ LDSTpmod_code_bits, LDSTpmod_code_mask \};/////////////////////////////////////////////////////////////////////////////* LOGI2op+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+| 0 | 1 | 0 | 0 | 1 |.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;} LOGI2op;#define LOGI2op_opcode 0x4800#define LOGI2op_dst_bits 0#define LOGI2op_dst_mask 0x7#define LOGI2op_src_bits 3#define LOGI2op_src_mask 0x1f#define LOGI2op_opc_bits 8#define LOGI2op_opc_mask 0x7#define LOGI2op_code_bits 11#define LOGI2op_code_mask 0x1f#define init_LOGI2op \{ \ LOGI2op_opcode, \ LOGI2op_dst_bits, LOGI2op_dst_mask, \ LOGI2op_src_bits, LOGI2op_src_mask, \ LOGI2op_opc_bits, LOGI2op_opc_mask, \ LOGI2op_code_bits, LOGI2op_code_mask \};/* ALU2op+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+| 0 | 1 | 0 | 0 | 0 | 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;} ALU2op;#define ALU2op_opcode 0x4000#define ALU2op_dst_bits 0#define ALU2op_dst_mask 0x7#define ALU2op_src_bits 3#define ALU2op_src_mask 0x7#define ALU2op_opc_bits 6#define ALU2op_opc_mask 0xf#define ALU2op_code_bits 10#define ALU2op_code_mask 0x3f#define init_ALU2op \{ \ ALU2op_opcode, \ ALU2op_dst_bits, ALU2op_dst_mask, \ ALU2op_src_bits, ALU2op_src_mask, \ ALU2op_opc_bits, ALU2op_opc_mask, \ ALU2op_code_bits, ALU2op_code_mask \};/* BRCC+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+| 0 | 0 | 0 | 1 |.T.|.B.|.offset................................|+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+*/typedef struct{ unsigned short opcode; int bits_offset; int mask_offset; int bits_B; int mask_B; int bits_T; int mask_T; int bits_code; int mask_code;} BRCC;#define BRCC_opcode 0x1000#define BRCC_offset_bits 0#define BRCC_offset_mask 0x3ff#define BRCC_B_bits 10#define BRCC_B_mask 0x1#define BRCC_T_bits 11#define BRCC_T_mask 0x1#define BRCC_code_bits 12#define BRCC_code_mask 0xf#define init_BRCC \{ \ BRCC_opcode, \ BRCC_offset_bits, BRCC_offset_mask, \ BRCC_B_bits, BRCC_B_mask, \ BRCC_T_bits, BRCC_T_mask, \ BRCC_code_bits, BRCC_code_mask \};/* UJUMP+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+| 0 | 0 | 1 | 0 |.offset........................................|+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+*/typedef struct{ unsigned short opcode; int bits_offset; int mask_offset; int bits_code; int mask_code;} UJump;#define UJump_opcode 0x2000#define UJump_offset_bits 0#define UJump_offset_mask 0xfff#define UJump_code_bits 12#define UJump_code_mask 0xf#define init_UJump \{ \ UJump_opcode, \ UJump_offset_bits, UJump_offset_mask, \ UJump_code_bits, UJump_code_mask \};/* ProgCtrl+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |.prgfunc.......|.poprnd........|+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+*/typedef struct{ unsigned short opcode; int bits_poprnd; int mask_poprnd; int bits_prgfunc; int mask_prgfunc; int bits_code; int mask_code;} ProgCtrl;#define ProgCtrl_opcode 0x0000#define ProgCtrl_poprnd_bits 0#define ProgCtrl_poprnd_mask 0xf#define ProgCtrl_prgfunc_bits 4#define ProgCtrl_prgfunc_mask 0xf#define ProgCtrl_code_bits 8#define ProgCtrl_code_mask 0xff#define init_ProgCtrl \{ \ ProgCtrl_opcode, \ ProgCtrl_poprnd_bits, ProgCtrl_poprnd_mask, \ ProgCtrl_prgfunc_bits, ProgCtrl_prgfunc_mask, \ ProgCtrl_code_bits, ProgCtrl_code_mask \};/* CALLa+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+| 1 | 1 | 1 | 0 | 0 | 0 | 1 |.S.|.msw...........................||.lsw...........................................................|+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+*/typedef struct{ unsigned int opcode; int bits_addr; int mask_addr; int bits_S; int mask_S; int bits_code; int mask_code;} CALLa;#define CALLa_opcode 0xe2000000#define CALLa_addr_bits 0#define CALLa_addr_mask 0xffffff#define CALLa_S_bits 24#define CALLa_S_mask 0x1#define CALLa_code_bits 25#define CALLa_code_mask 0x7f#define init_CALLa \{ \ CALLa_opcode, \ CALLa_addr_bits, CALLa_addr_mask, \ CALLa_S_bits, CALLa_S_mask, \ CALLa_code_bits, CALLa_code_mask \};/* pseudoDEBUG+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+| 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 |.fn....|.grp.......|.reg.......|+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+*/typedef struct{ unsigned short opcode; int bits_reg; int mask_reg; int bits_grp; int mask_grp; int bits_fn; int mask_fn; int bits_code; int mask_code;} PseudoDbg;#define PseudoDbg_opcode 0xf800#define PseudoDbg_reg_bits 0#define PseudoDbg_reg_mask 0x7#define PseudoDbg_grp_bits 3#define PseudoDbg_grp_mask 0x7#define PseudoDbg_fn_bits 6#define PseudoDbg_fn_mask 0x3#define PseudoDbg_code_bits 8#define PseudoDbg_code_mask 0xff#define init_PseudoDbg \{ \ PseudoDbg_opcode, \ PseudoDbg_reg_bits, PseudoDbg_reg_mask, \ PseudoDbg_grp_bits, PseudoDbg_grp_mask, \ PseudoDbg_fn_bits, PseudoDbg_fn_mask, \ PseudoDbg_code_bits, PseudoDbg_code_mask \};/* PseudoDbg_assert+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+| 1 | 1 | 1 | 1 | 0 | - | - | - | - | - |.dbgop.....|.regtest...||.expected......................................................|+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+*/typedef struct{ unsigned int opcode; int bits_expected; int mask_expected; int bits_regtest; int mask_regtest; int bits_dbgop; int mask_dbgop; int bits_dontcare; int mask_dontcare; int bits_code; int mask_code;} PseudoDbg_Assert;#define PseudoDbg_Assert_opcode 0xf0000000#define PseudoDbg_Assert_expected_bits 0#define PseudoDbg_Assert_expected_mask 0xffff#define PseudoDbg_Assert_regtest_bits 16#define PseudoDbg_Assert_regtest_mask 0x7#define PseudoDbg_Assert_dbgop_bits 19#define PseudoDbg_Assert_dbgop_mask 0x7#define PseudoDbg_Assert_dontcare_bits 22#define PseudoDbg_Assert_dontcare_mask 0x1f#define PseudoDbg_Assert_code_bits 27#define PseudoDbg_Assert_code_mask 0x1f#define init_PseudoDbg_Assert \{ \ PseudoDbg_Assert_opcode, \ PseudoDbg_Assert_expected_bits, PseudoDbg_Assert_expected_mask, \ PseudoDbg_Assert_regtest_bits, PseudoDbg_Assert_regtest_mask, \ PseudoDbg_Assert_dbgop_bits, PseudoDbg_Assert_dbgop_mask, \ PseudoDbg_Assert_dontcare_bits, PseudoDbg_Assert_dontcare_mask, \ PseudoDbg_Assert_code_bits, PseudoDbg_Assert_code_mask \};/* CaCTRL+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+| 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 |.a.|.op....|.reg.......|+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+*/typedef struct{ unsigned short opcode; int bits_reg; int mask_reg; int bits_op; int mask_op; int bits_a; int mask_a; int bits_code; int mask_code;} CaCTRL;#define CaCTRL_opcode 0x0240#define CaCTRL_reg_bits 0#define CaCTRL_reg_mask 0x7#define CaCTRL_op_bits 3#define CaCTRL_op_mask 0x3#define CaCTRL_a_bits 5#define CaCTRL_a_mask 0x1#define CaCTRL_code_bits 6#define CaCTRL_code_mask 0x3fff#define init_CaCTRL \{ \ CaCTRL_opcode, \ CaCTRL_reg_bits, CaCTRL_reg_mask, \ CaCTRL_op_bits, CaCTRL_op_mask, \ CaCTRL_a_bits, CaCTRL_a_mask, \ CaCTRL_code_bits, CaCTRL_code_mask \};/* PushPopMultiple+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+| 0 | 0 | 0 | 0 | 0 | 1 | 0 |.d.|.p.|.W.|.dr........|.pr........|+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+*/typedef struct{ unsigned short opcode; int bits_pr; int mask_pr; int bits_dr; int mask_dr; int bits_W; int mask_W; int bits_p; int mask_p; int bits_d; int mask_d; int bits_code; int mask_code;} PushPopMultiple;#define PushPopMultiple_opcode 0x0400#define PushPopMultiple_pr_bits 0#define PushPopMultiple_pr_mask 0x7#define PushPopMultiple_dr_bits 3#define PushPopMultiple_dr_mask 0x7#define PushPopMultiple_W_bits 6#define PushPopMultiple_W_mask 0x1#define PushPopMultiple_p_bits 7#define PushPopMultiple_p_mask 0x1#define PushPopMultiple_d_bits 8#define PushPopMultiple_d_mask 0x1#define PushPopMultiple_code_bits 8#define PushPopMultiple_code_mask 0x1#define init_PushPopMultiple \{ \ PushPopMultiple_opcode, \ PushPopMultiple_pr_bits, PushPopMultiple_pr_mask, \ PushPopMultiple_dr_bits, PushPopMultiple_dr_mask, \ PushPopMultiple_W_bits, PushPopMultiple_W_mask, \ PushPopMultiple_p_bits, PushPopMultiple_p_mask, \ PushPopMultiple_d_bits, PushPopMultiple_d_mask, \ PushPopMultiple_code_bits, PushPopMultiple_code_mask \};/* PushPopReg+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |.W.|.grp.......|.reg.......|+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+*/typedef struct{ unsigned short opcode; int bits_reg; int mask_reg; int bits_grp; int mask_grp; int bits_W; int mask_W; int bits_code; int mask_code;} PushPopReg;#define PushPopReg_opcode 0x0100#define PushPopReg_reg_bits 0#define PushPopReg_reg_mask 0x7#define PushPopReg_grp_bits 3#define PushPopReg_grp_mask 0x7#define PushPopReg_W_bits 6#define PushPopReg_W_mask 0x1#define PushPopReg_code_bits 7#define PushPopReg_code_mask 0x1ff#define init_PushPopReg \{ \ PushPopReg_opcode, \ PushPopReg_reg_bits, PushPopReg_reg_mask, \ PushPopReg_grp_bits, PushPopReg_grp_mask, \ PushPopReg_W_bits, PushPopReg_W_mask, \ PushPopReg_code_bits, PushPopReg_code_mask, \};/* linkage+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+| 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |.R.||.framesize.....................................................|+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+*/typedef struct{ unsigned int opcode; int bits_framesize; int mask_framesize; int bits_R; int mask_R; int bits_code; int mask_code;} Linkage;#define Linkage_opcode 0xe8000000#define Linkage_framesize_bits 0#define Linkage_framesize_mask 0xffff#define Linkage_R_bits 16#define Linkage_R_mask 0x1#define Linkage_code_bits 17#define Linkage_code_mask 0x7fff
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -