upd78k3: Fix SFR identification in disassembly of MOV A,sfr and MOV sfr,A opcodes (SFR pair names were erroneously used instead)

This commit is contained in:
AJR 2020-03-23 09:39:11 -04:00
parent 687dcf8321
commit 2af2c0d84f

View File

@ -767,11 +767,11 @@ offs_t upd78k3_disassembler::disassemble(std::ostream &stream, offs_t pc, const
util::stream_format(stream, "%-8s", "MOV");
if (!BIT(op, 1))
stream << "A,";
u8 sfrp = opcodes.r8(pc + 1);
if (sfrp >= 0xfe)
util::stream_format(stream, "PSW%c", BIT(sfrp, 0) ? 'H' : 'L');
u8 sfr = opcodes.r8(pc + 1);
if (sfr >= 0xfe)
util::stream_format(stream, "PSW%c", BIT(sfr, 0) ? 'H' : 'L');
else
format_sfrp(stream, sfrp);
format_sfr(stream, sfr);
if (BIT(op, 1))
stream << ",A";
}