--- nono/m88xx0/m88100disasm.cpp 2026/04/29 17:04:41 1.1.1.3 +++ nono/m88xx0/m88100disasm.cpp 2026/04/29 17:04:49 1.1.1.5 @@ -7,14 +7,13 @@ #include "m88100disasm.h" #include "m88100acc.h" #include "bus.h" -#include "mystring.h" #define OP_DEF(name) void __CONCAT(m88100disasm::op_,name)() #define OP_FUNC(name) __CONCAT(op_,name)() // コンストラクタ -m88100disasm::m88100disasm(DebuggerMD *md_) - : inherited(md_) +m88100disasm::m88100disasm(DebuggerMemoryStream& mem_) + : inherited(mem_) { } @@ -25,7 +24,7 @@ m88100disasm::~m88100disasm() // 逆アセンブルを実行 bool -m88100disasm::Exec(saddr_t laddr) +m88100disasm::Exec() { ExecInit(); @@ -35,10 +34,10 @@ m88100disasm::Exec(saddr_t laddr) arg1.clear(); arg2.clear(); - xip = laddr.addr; + xip = (uint32)mem.laddr; - opX = peek(laddr); - uint32 op12 = ((opX >> 20) & 0x0fc0) | ((opX >> 10) & 0x003f); + opX = mem.FetchInst(); + uint32 op12 = m88kcpu::op32_to_12(opX); switch (op12) { #include "m88100switch.inc" default: @@ -96,13 +95,6 @@ m88100disasm::Exec(saddr_t laddr) return true; } -// ピーク (IP を進めずワードを取得する) -uint32 -m88100disasm::peek(const saddr_t& laddr) -{ - return md->PeekFetch(laddr); -} - // フィールド部品 #define B5 ((opX >> 21) & 0x1f) #define M5 ((opX >> 21) & 0x1f)