wip! disas: empty insn printers
This commit is contained in:
parent
30e252566b
commit
df75f9a10b
1 changed files with 116 additions and 6 deletions
|
|
@ -139,10 +139,120 @@ output(mnemonic, format, ##__VA_ARGS__); \
|
|||
return true; \
|
||||
}
|
||||
|
||||
/*static const char width[] = {
|
||||
'x', 'B', 'W', 'x', 'D'
|
||||
};*/
|
||||
/*
|
||||
static const char* width[] = {
|
||||
"x", "B", "W", "x", "D"
|
||||
};
|
||||
|
||||
//INSN(MOV_imm, "MOV" width[a->width], "$0x%x, r%d", width[a->width], a->imm, a->rd)
|
||||
//INSN(MOV_reg, "MOV" width[a->width], "r%d, r%d", width[a->width], a->rs, a->rd)
|
||||
//INSN(MOVD_reg, "MOVD", "r%d, r%d", a->rs, a->rd)
|
||||
INSN(UNIMPLEMENTED, "")
|
||||
|
||||
INSN(LOAD, "")
|
||||
INSN(LOAD_rrp, "")
|
||||
INSN(LOAD_abs, "")
|
||||
INSN(LOAD_ind_abs, "")
|
||||
//INSN(LOADD, "")
|
||||
INSN(STOR, "")
|
||||
INSN(STOR_rrp, "")
|
||||
INSN(STOR_rrp_imm, "")
|
||||
INSN(STOR_abs, "")
|
||||
INSN(STOR_ind_abs, "")
|
||||
INSN(STOR_abs_imm, "")
|
||||
INSN(STOR_abs_rrp_imm, "")
|
||||
//INSN(STORD, "")
|
||||
INSN(STOR_imm, "$0x%x, r%d", a->imm, a->ra)
|
||||
INSN(LOADM, "$0x%x", a->cnt)
|
||||
//INSN(LOADMP, "$0x%x", a->cnt)
|
||||
INSN(STORM, "$0x%x", a->cnt)
|
||||
//INSN(STORMP, "$0x%x", a->cnt)
|
||||
|
||||
INSN(MOV_reg, "%s r%d, r%d", width[a->width], a->rs, a->rd)
|
||||
INSN(MOV_imm, "%s $0x%x, r%d", width[a->width], a->imm, a->rd)
|
||||
INSN(MOVD_reg, "r%dr%d, r%dr%d", a->rs + 1, a->rs, a->rd + 1, a->rd)
|
||||
INSN(MOVXB, "r%d, r%d", a->rs, a->rd)
|
||||
INSN(MOVZB, "r%d, r%d", a->rs, a->rd)
|
||||
INSN(MOVXW, "r%d, r%d", a->rs, a->rd)
|
||||
INSN(MOVZW, "r%d, r%d", a->rs, a->rd)
|
||||
|
||||
INSN(ADD_imm, "$0x%x, r%d", a->imm, a->rd)
|
||||
INSN(ADD_reg, "r%d, r%d", a->rs, a->rd)
|
||||
INSN(ADDU_imm, "$0x%x, r%d", a->imm, a->rd)
|
||||
INSN(ADDU_reg, "r%d, r%d", a->rs, a->rd)
|
||||
//INSN(ADDC_imm, "")
|
||||
//INSN(ADDC_reg, "r%d, r%d", a->rs, a->rd)
|
||||
INSN(ADDD_imm, "$0x%x, r%dr%d", a->imm, a->rd + 1, a->rd)
|
||||
INSN(ADDD_rp, "r%dr%d, r%dr%d", a->rs + 1, a->rs, a->rd + 1, a->rd)
|
||||
|
||||
INSN(MACQW, "")
|
||||
INSN(MACSW, "")
|
||||
INSN(MACUW, "")
|
||||
INSN(MUL_imm, "")
|
||||
INSN(MULB_reg, "r%d, r%d", a->rs, a->rd)
|
||||
INSN(MULW_reg, "r%d, r%d", a->rs, a->rd)
|
||||
INSN(MULSB_reg, "r%d, r%d", a->rs, a->rd)
|
||||
INSN(MULSW_reg, "r%d, r%d", a->rs, a->rd)
|
||||
INSN(MULUW_reg, "r%d, r%d", a->rs, a->rd)
|
||||
INSN(SUB_imm, "")
|
||||
INSN(SUB_reg, "r%d, r%d", a->rs, a->rd)
|
||||
INSN(SUBD_imm, "")
|
||||
INSN(SUBD_rp, "")
|
||||
//INSN(SUBC_imm, "")
|
||||
//INSN(SUBC_reg, "")
|
||||
|
||||
INSN(CMP_imm, "")
|
||||
INSN(CMP_reg, "")
|
||||
//INSN(CMPD_imm, "")
|
||||
INSN(CMPD_reg, "")
|
||||
INSN(BR0, "") // BEQ0, BNE0
|
||||
|
||||
INSN(AND_imm, "")
|
||||
INSN(AND_reg, "")
|
||||
INSN(ANDD_imm, "")
|
||||
INSN(ANDD_rp, "")
|
||||
INSN(OR_imm, "")
|
||||
INSN(OR_reg, "")
|
||||
INSN(ORD_imm, "")
|
||||
INSN(ORD_rp, "")
|
||||
INSN(XOR_imm, "")
|
||||
INSN(XOR_reg, "")
|
||||
INSN(XORD_imm, "")
|
||||
INSN(XORD_rp, "")
|
||||
INSN(SCOND, "")
|
||||
|
||||
INSN(ASHU_imm_l, "")
|
||||
INSN(ASHU_imm_r, "")
|
||||
INSN(ASHU_reg, "")
|
||||
INSN(ASHUD_imm_l, "")
|
||||
INSN(ASHUD_imm_r, "")
|
||||
INSN(ASHUD_rp, "")
|
||||
INSN(LSH_imm_r, "")
|
||||
INSN(LSH_reg, "")
|
||||
INSN(LSHD_imm_r, "")
|
||||
INSN(LSHD_rp, "")
|
||||
|
||||
// TODO
|
||||
//INSN(TBIT, "")
|
||||
INSN(SBIT_abs, "")
|
||||
INSN(CBIT_abs, "")
|
||||
|
||||
// TODO
|
||||
INSN(LPR, "")
|
||||
INSN(LPRD, "")
|
||||
INSN(SPR, "")
|
||||
INSN(SPRD, "")
|
||||
|
||||
INSN(BRCOND, "")
|
||||
INSN(BAL_ra, "")
|
||||
// INSN(BR, "") // BRCOND condition "ALWAYS"
|
||||
INSN(EXCP, "")
|
||||
INSN(JCOND, "")
|
||||
//INSN(JAL, "")
|
||||
//INSN(JUMP, "") // JCOND condition "ALWAYS"
|
||||
//INSN(JUSR, "")
|
||||
//INSN(RETX, "")
|
||||
INSN(push, "")
|
||||
INSN(pop, "")
|
||||
|
||||
//INSN(CINV, "")
|
||||
//INSN(NOP, "")
|
||||
//INSN(WAIT, "")
|
||||
*/
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue