--- nono/m88xx0/m88100disasm.cpp 2026/04/29 17:04:34 1.1.1.2 +++ nono/m88xx0/m88100disasm.cpp 2026/04/29 17:04:44 1.1.1.4 @@ -13,8 +13,8 @@ #define OP_FUNC(name) __CONCAT(op_,name)() // コンストラクタ -m88100disasm::m88100disasm(DebuggerMD *m) - : inherited(m) +m88100disasm::m88100disasm(DebuggerMemoryStream& mem_) + : inherited(mem_) { } @@ -25,7 +25,7 @@ m88100disasm::~m88100disasm() // 逆アセンブルを実行 bool -m88100disasm::Exec(saddr_t laddr) +m88100disasm::Exec() { ExecInit(); @@ -35,11 +35,10 @@ m88100disasm::Exec(saddr_t laddr) arg1.clear(); arg2.clear(); - xip = laddr.addr; - phys_xip = laddr.addr; + xip = (uint32)mem.laddr; - opX = peek(); - uint32 op12 = ((opX >> 20) & 0x0fc0) | ((opX >> 10) & 0x003f); + opX = mem.FetchInst(); + uint32 op12 = m88kcpu::op32_to_12(opX); switch (op12) { #include "m88100switch.inc" default: @@ -97,22 +96,6 @@ m88100disasm::Exec(saddr_t laddr) return true; } -// ピーク (IP を進めずワードを取得する) -uint32 -m88100disasm::peek() -{ - // 物理空間から取り込む - return vm_phys_peek_32(phys_xip); -} - -// フェッチ -uint32 -m88100disasm::fetch() -{ - opX = peek(); - return opX; -} - // フィールド部品 #define B5 ((opX >> 21) & 0x1f) #define M5 ((opX >> 21) & 0x1f)