From f1ca8de7217e6c3bcfc8e93db54258bd117b2151 Mon Sep 17 00:00:00 2001 From: "Tsukasa #01 (a4lg)" Date: Sat, 18 Dec 2021 04:28:37 +0900 Subject: Add disassembler support for `unimp' (#886) Now it disassembles 0x0000 (invalid encoding of c.addi4spn) as c.unimp (RVC). Non-RVC variant of unimp pseudoinstruction (0xc0001073) is also implemented. --- disasm/disasm.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/disasm/disasm.cc b/disasm/disasm.cc index 54fdb48..9e26f0f 100644 --- a/disasm/disasm.cc +++ b/disasm/disasm.cc @@ -676,6 +676,9 @@ disassembler_t::disassembler_t(int xlen) #define DEFINE_XFTYPE(code) add_xftype_insn(this, #code, match_##code, mask_##code); #define DEFINE_SFENCE_TYPE(code) add_sfence_insn(this, #code, match_##code, mask_##code); + add_insn(new disasm_insn_t("unimp", match_csrrw|(CSR_CYCLE<<20), 0xffffffff, {})); + add_insn(new disasm_insn_t("c.unimp", 0, 0xffff, {})); + DEFINE_XLOAD(lb) DEFINE_XLOAD(lbu) DEFINE_XLOAD(lh) -- cgit v1.1