--- nono/m680x0/m68030disasm.h 2026/04/29 17:04:31 1.1.1.1 +++ nono/m680x0/m68030disasm.h 2026/04/29 17:04:43 1.1.1.5 @@ -1,28 +1,27 @@ // // nono -// Copyright (C) 2017 isaki@NetBSD.org +// Copyright (C) 2020 nono project +// Licensed under nono-license.txt // #pragma once -#include "header.h" #include "disasm.h" #include "m68030.h" // 逆アセンブル -class m680x0disasm : public Disasm +class m680x0disasm final : public Disasm { - typedef Disasm inherited; + using inherited = Disasm; public: - m680x0disasm(DebuggerMD *m); - virtual ~m680x0disasm(); + m680x0disasm(DebuggerMemoryStream& mem); + ~m680x0disasm() override; // 逆アセンブルを実行 - virtual bool Exec(saddr_t laddr); + bool Exec() override; private: - saddr_t pc {}; // 現在の PC - uint32 pc0 = 0; // 命令先頭アドレス + uint32 pc0 {}; // 命令先頭アドレス enum Reg { CCR, @@ -54,6 +53,8 @@ class m680x0disasm : public Disasm ITT1, DTT0, DTT1, + + MaxReg, }; // L/S/X/P/W/D/B/(Pk) は FMOVE ,FPn の時の並び順。 @@ -150,10 +151,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)()