summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/f2mc16/f2mc16dasm.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/f2mc16/f2mc16dasm.cpp')
-rw-r--r--src/devices/cpu/f2mc16/f2mc16dasm.cpp39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/devices/cpu/f2mc16/f2mc16dasm.cpp b/src/devices/cpu/f2mc16/f2mc16dasm.cpp
index ede0b35ac65..28d2b9ae464 100644
--- a/src/devices/cpu/f2mc16/f2mc16dasm.cpp
+++ b/src/devices/cpu/f2mc16/f2mc16dasm.cpp
@@ -396,6 +396,11 @@ offs_t f2mc16_disassembler::disassemble(std::ostream &stream, offs_t pc, const d
bytes = 3;
break;
+ case 0x3e:
+ util::stream_format(stream, "XORW A, #$%04x", opcodes.r16(pc+1));
+ bytes = 3;
+ break;
+
case 0x3f:
stream << "NOTW A";
break;
@@ -778,6 +783,20 @@ offs_t f2mc16_disassembler::disassemble(std::ostream &stream, offs_t pc, const d
}
break;
+ case 0x8:
+ switch (operand & 0xf)
+ {
+ case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7:
+ util::stream_format(stream, "ANDL A, RL%d", (operand & 0x6)>>1);
+ bytes = 2;
+ break;
+
+ default:
+ stream << "UNK ea-type 70 8x";
+ break;
+ }
+ break;
+
default:
stream << "UNK ea-type 70";
break;
@@ -792,6 +811,11 @@ offs_t f2mc16_disassembler::disassemble(std::ostream &stream, offs_t pc, const d
bytes = ea_form1_helper_noA(stream, "CALLP @", pc, operand, opcodes.r16(pc+2));
break;
+ case 0x40: case 0x41: case 0x42: case 0x43: case 0x44: case 0x45: case 0x46: case 0x47:
+ util::stream_format(stream, "INCL RL%d", ((operand>>1) & 0x3));
+ bytes = 2;
+ break;
+
case 0x50: case 0x51: case 0x52: case 0x53: case 0x54: case 0x55: case 0x56: case 0x57:
util::stream_format(stream, "INCL @RW%d + #$%02x", (operand & 0x7), opcodes.r8(pc+2));
bytes = 3;
@@ -887,6 +911,11 @@ offs_t f2mc16_disassembler::disassemble(std::ostream &stream, offs_t pc, const d
bytes = 3;
break;
+ case 0xf0: case 0xf1: case 0xf2: case 0xf3: case 0xf4: case 0xf5: case 0xf6: case 0xf7:
+ util::stream_format(stream, "MOVEA A, @RW%d + #$%02x", (operand & 0x7), opcodes.r8(pc+2));
+ bytes = 3;
+ break;
+
default:
stream << "UNK ea-type 71";
break;
@@ -1069,6 +1098,11 @@ offs_t f2mc16_disassembler::disassemble(std::ostream &stream, offs_t pc, const d
bytes = 4;
break;
+ case 0xe0: case 0xe1: case 0xe2: case 0xe3: case 0xe4: case 0xe5: case 0xe6: case 0xe7:
+ util::stream_format(stream, "DBNZ R%d, $%04x", (operand & 0x7), (s8)opcodes.r8(pc+2) + (pc & 0xffff) + 3);
+ bytes = 3;
+ break;
+
default:
stream << "UNK ea-type 74";
break;
@@ -1197,6 +1231,11 @@ offs_t f2mc16_disassembler::disassemble(std::ostream &stream, offs_t pc, const d
bytes = 2;
break;
+ case 0xb0: case 0xb1: case 0xb2: case 0xb3: case 0xb4: case 0xb5: case 0xb6: case 0xb7:
+ util::stream_format(stream, "ORW A, @RW%d + #$%02x", (operand & 0x7), opcodes.r8(pc+2));
+ bytes = 3;
+ break;
+
default:
stream << "UNK ea-type 76";
break;