--- nono/m680x0/m68030disasm.h 2026/04/29 17:04:38 1.1.1.3 +++ nono/m680x0/m68030disasm.h 2026/04/29 17:05:15 1.1.1.7 @@ -10,19 +10,18 @@ #include "m68030.h" // 逆アセンブル -class m680x0disasm : public Disasm +class m680x0disasm final : public DisasmLine { - using inherited = Disasm; + using inherited = DisasmLine; public: - m680x0disasm(DebuggerMD *m); + m680x0disasm(); ~m680x0disasm() override; // 逆アセンブルを実行 - bool Exec(saddr_t laddr) override; + bool Exec(DebuggerMemoryStream *mem_) override; private: - saddr_t pc {}; // 現在の PC - uint32 pc0 = 0; // 命令先頭アドレス + uint32 pc0 {}; // 命令先頭アドレス enum Reg { CCR, @@ -72,8 +71,8 @@ class m680x0disasm : public Disasm None, }; - virtual uint32 fetch16(); - virtual uint32 peek16(); // PC を進めずワードを取得 (IOCSコール用) + uint32 fetch16(); + uint32 peek16(); // PC を進めずワードを取得 (IOCSコール用) uint32 fetch32(); std::string make_reg(Reg); @@ -134,7 +133,6 @@ class m680x0disasm : public Disasm void ops_btst_imm_ea(); void ops_move(Size sz); void ops_movem_ext(Size sz); - void ops_scc(); void ops_bcc(); void ops_sub(Size sz); void ops_add(Size sz); @@ -152,10 +150,10 @@ class m680x0disasm : public Disasm std::vector ir {}; - std::string name; + std::string name {}; Size size {}; - std::string src; - std::string dst; + std::string src {}; + std::string dst {}; #define OP_PROTO(name) void __CONCAT(op_,name)() #define OP_DEF(name) void __CONCAT(m680x0disasm::op_,name)()