summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/nec/necdasm.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/nec/necdasm.cpp')
-rw-r--r--src/devices/cpu/nec/necdasm.cpp82
1 files changed, 41 insertions, 41 deletions
diff --git a/src/devices/cpu/nec/necdasm.cpp b/src/devices/cpu/nec/necdasm.cpp
index e09acb5118a..4267d20dd1c 100644
--- a/src/devices/cpu/nec/necdasm.cpp
+++ b/src/devices/cpu/nec/necdasm.cpp
@@ -132,22 +132,22 @@ const nec_disassembler::NEC_I386_OPCODE nec_disassembler::necv_opcode_table1[256
{"outmb", 0, 0, 0, 0 },
{"outmw", 0, 0, 0, 0 },
// 0x70
- {"bv", 0, PARAM_REL8, 0, 0 },
- {"bnv", 0, PARAM_REL8, 0, 0 },
- {"bc", 0, PARAM_REL8, 0, 0 },
- {"bnc", 0, PARAM_REL8, 0, 0 },
- {"be", 0, PARAM_REL8, 0, 0 },
- {"bne", 0, PARAM_REL8, 0, 0 },
- {"bnh", 0, PARAM_REL8, 0, 0 },
- {"bh", 0, PARAM_REL8, 0, 0 },
- {"bn", 0, PARAM_REL8, 0, 0 },
- {"bp", 0, PARAM_REL8, 0, 0 },
- {"bpe", 0, PARAM_REL8, 0, 0 },
- {"bpo", 0, PARAM_REL8, 0, 0 },
- {"blt", 0, PARAM_REL8, 0, 0 },
- {"bge", 0, PARAM_REL8, 0, 0 },
- {"ble", 0, PARAM_REL8, 0, 0 },
- {"bgt", 0, PARAM_REL8, 0, 0 },
+ {"bv", 0, PARAM_REL8, 0, 0, STEP_COND},
+ {"bnv", 0, PARAM_REL8, 0, 0, STEP_COND},
+ {"bc", 0, PARAM_REL8, 0, 0, STEP_COND},
+ {"bnc", 0, PARAM_REL8, 0, 0, STEP_COND},
+ {"be", 0, PARAM_REL8, 0, 0, STEP_COND},
+ {"bne", 0, PARAM_REL8, 0, 0, STEP_COND},
+ {"bnh", 0, PARAM_REL8, 0, 0, STEP_COND},
+ {"bh", 0, PARAM_REL8, 0, 0, STEP_COND},
+ {"bn", 0, PARAM_REL8, 0, 0, STEP_COND},
+ {"bp", 0, PARAM_REL8, 0, 0, STEP_COND},
+ {"bpe", 0, PARAM_REL8, 0, 0, STEP_COND},
+ {"bpo", 0, PARAM_REL8, 0, 0, STEP_COND},
+ {"blt", 0, PARAM_REL8, 0, 0, STEP_COND},
+ {"bge", 0, PARAM_REL8, 0, 0, STEP_COND},
+ {"ble", 0, PARAM_REL8, 0, 0, STEP_COND},
+ {"bgt", 0, PARAM_REL8, 0, 0, STEP_COND},
// 0x80
{"immb", GROUP, 0, 0, 0 },
{"immw", GROUP, 0, 0, 0 },
@@ -231,7 +231,7 @@ const nec_disassembler::NEC_I386_OPCODE nec_disassembler::necv_opcode_table1[256
{"retf", 0, 0, 0, 0, STEP_OUT},
{"brk 3", 0, 0, 0, 0, STEP_OVER},
{"brk", 0, PARAM_UI8, 0, 0, STEP_OVER},
- {"brkv", 0, 0, 0, 0 },
+ {"brkv", 0, 0, 0, 0, STEP_OVER | STEP_COND},
{"reti", 0, 0, 0, 0, STEP_OUT},
// 0xd0
{"shiftb", GROUP, 0, 0, 0 },
@@ -251,10 +251,10 @@ const nec_disassembler::NEC_I386_OPCODE nec_disassembler::necv_opcode_table1[256
{"escape", FPU, 0, 0, 0 },
{"escape", FPU, 0, 0, 0 },
// 0xe0
- {"dbnzne", 0, PARAM_REL8, 0, 0, STEP_OVER},
- {"dbnze", 0, PARAM_REL8, 0, 0, STEP_OVER},
- {"dbnz", 0, PARAM_REL8, 0, 0, STEP_OVER},
- {"bcwz", 0, PARAM_REL8, 0, 0 },
+ {"dbnzne", 0, PARAM_REL8, 0, 0, STEP_COND},
+ {"dbnze", 0, PARAM_REL8, 0, 0, STEP_COND},
+ {"dbnz", 0, PARAM_REL8, 0, 0, STEP_COND},
+ {"bcwz", 0, PARAM_REL8, 0, 0, STEP_COND},
{"in", 0, PARAM_AL, PARAM_UI8, 0 },
{"in", 0, PARAM_AW, PARAM_UI8, 0 },
{"out", 0, PARAM_UI8, PARAM_AL, 0 },
@@ -454,7 +454,7 @@ const nec_disassembler::NEC_I386_OPCODE nec_disassembler::necv_opcode_table2[256
{"???", 0, 0, 0, 0 },
{"???", 0, 0, 0, 0 },
{"???", 0, 0, 0, 0 },
- {"btclr", 0, PARAM_SFREG, PARAM_I3, PARAM_REL8 }, /* V25/V35 only */
+ {"btclr", 0, PARAM_SFREG, PARAM_I3, PARAM_REL8, STEP_COND}, /* V25/V35 only */
{"???", 0, 0, 0, 0 },
{"stop", 0, 0, 0, 0 }, /* V25/V35 only */
{"???", 0, 0, 0, 0 },
@@ -1654,51 +1654,51 @@ offs_t nec_disassembler::dis80(std::ostream &stream, offs_t pc, const data_buffe
case 0xbd: util::stream_format(stream, "cmp bl"); break;
case 0xbe: util::stream_format(stream, "cmp m"); break;
case 0xbf: util::stream_format(stream, "cmp al"); break;
- case 0xc0: util::stream_format(stream, "rnz"); flags = STEP_OUT; break;
+ case 0xc0: util::stream_format(stream, "rnz"); flags = STEP_OUT | STEP_COND; break;
case 0xc1: util::stream_format(stream, "pop cw"); break;
- case 0xc2: util::stream_format(stream, "jnz $%04x", params.r16(pc)); pc+=2; break;
+ case 0xc2: util::stream_format(stream, "jnz $%04x", params.r16(pc)); pc+=2; flags = STEP_COND; break;
case 0xc3: util::stream_format(stream, "jmp $%04x", params.r16(pc)); pc+=2; break;
case 0xc4: util::stream_format(stream, "cnz $%04x", params.r16(pc)); pc+=2; flags = STEP_OVER; break;
case 0xc5: util::stream_format(stream, "push cw"); break;
case 0xc6: util::stream_format(stream, "adi $%02x", params.r8(pc)); pc++; break;
case 0xc7: util::stream_format(stream, "rst 0"); flags = STEP_OVER; break;
- case 0xc8: util::stream_format(stream, "rz"); flags = STEP_OUT; break;
+ case 0xc8: util::stream_format(stream, "rz"); flags = STEP_OUT | STEP_COND; break;
case 0xc9: util::stream_format(stream, "ret"); flags = STEP_OUT; break;
- case 0xca: util::stream_format(stream, "jz $%04x", params.r16(pc)); pc+=2; break;
+ case 0xca: util::stream_format(stream, "jz $%04x", params.r16(pc)); pc+=2; flags = STEP_COND; break;
case 0xcb: util::stream_format(stream, "jmp $%04x", params.r16(pc)); pc+=2; break;
case 0xcc: util::stream_format(stream, "cz $%04x", params.r16(pc)); pc+=2; flags = STEP_OVER; break;
case 0xcd: util::stream_format(stream, "call $%04x", params.r16(pc)); pc+=2; flags = STEP_OVER; break;
case 0xce: util::stream_format(stream, "aci $%02x", params.r8(pc)); pc++; break;
case 0xcf: util::stream_format(stream, "rst 1"); flags = STEP_OVER; break;
- case 0xd0: util::stream_format(stream, "rnc"); flags = STEP_OUT; break;
+ case 0xd0: util::stream_format(stream, "rnc"); flags = STEP_OUT | STEP_COND; break;
case 0xd1: util::stream_format(stream, "pop dw"); break;
- case 0xd2: util::stream_format(stream, "jnc $%04x", params.r16(pc)); pc+=2; break;
+ case 0xd2: util::stream_format(stream, "jnc $%04x", params.r16(pc)); pc+=2; flags = STEP_COND; break;
case 0xd3: util::stream_format(stream, "out $%02x", params.r8(pc)); pc++; break;
case 0xd4: util::stream_format(stream, "cnc $%04x", params.r16(pc)); pc+=2; flags = STEP_OVER; break;
case 0xd5: util::stream_format(stream, "push dw"); break;
case 0xd6: util::stream_format(stream, "sui $%02x", params.r8(pc)); pc++; break;
case 0xd7: util::stream_format(stream, "rst 2"); flags = STEP_OVER; break;
- case 0xd8: util::stream_format(stream, "rc"); flags = STEP_OUT; break;
+ case 0xd8: util::stream_format(stream, "rc"); flags = STEP_OUT | STEP_COND; break;
case 0xd9: util::stream_format(stream, "shlx d (*)"); break;
- case 0xda: util::stream_format(stream, "jc $%04x", params.r16(pc)); pc+=2; break;
+ case 0xda: util::stream_format(stream, "jc $%04x", params.r16(pc)); pc+=2; flags = STEP_COND; break;
case 0xdb: util::stream_format(stream, "in $%02x", params.r8(pc)); pc++; break;
case 0xdc: util::stream_format(stream, "cc $%04x", params.r16(pc)); pc+=2; flags = STEP_OVER; break;
case 0xdd: util::stream_format(stream, "call $%04x", params.r16(pc)); pc+=2; flags = STEP_OVER; break;
case 0xde: util::stream_format(stream, "sbi $%02x", params.r8(pc)); pc++; break;
case 0xdf: util::stream_format(stream, "rst 3"); flags = STEP_OVER; break;
- case 0xe0: util::stream_format(stream, "rpo"); flags = STEP_OUT; break;
+ case 0xe0: util::stream_format(stream, "rpo"); flags = STEP_OUT | STEP_COND; break;
case 0xe1: util::stream_format(stream, "pop bw"); break;
- case 0xe2: util::stream_format(stream, "jpo $%04x", params.r16(pc)); pc+=2; break;
+ case 0xe2: util::stream_format(stream, "jpo $%04x", params.r16(pc)); pc+=2; flags = STEP_COND; break;
case 0xe3: util::stream_format(stream, "xthl"); break;
- case 0xe4: util::stream_format(stream, "cpo $%04x", params.r16(pc)); pc+=2; flags = STEP_OVER; break;
+ case 0xe4: util::stream_format(stream, "cpo $%04x", params.r16(pc)); pc+=2; flags = STEP_OVER | STEP_COND; break;
case 0xe5: util::stream_format(stream, "push bw"); break;
case 0xe6: util::stream_format(stream, "ani $%02x", params.r8(pc)); pc++; break;
case 0xe7: util::stream_format(stream, "rst 4"); flags = STEP_OVER; break;
- case 0xe8: util::stream_format(stream, "rpe"); flags = STEP_OUT; break;
+ case 0xe8: util::stream_format(stream, "rpe"); flags = STEP_OUT | STEP_COND; break;
case 0xe9: util::stream_format(stream, "pchl"); break;
- case 0xea: util::stream_format(stream, "jpe $%04x", params.r16(pc)); pc+=2; break;
+ case 0xea: util::stream_format(stream, "jpe $%04x", params.r16(pc)); pc+=2; flags = STEP_COND; break;
case 0xeb: util::stream_format(stream, "xchg"); break;
- case 0xec: util::stream_format(stream, "cpe $%04x", params.r16(pc)); pc+=2; flags = STEP_OVER; break;
+ case 0xec: util::stream_format(stream, "cpe $%04x", params.r16(pc)); pc+=2; flags = STEP_OVER | STEP_COND; break;
case 0xed:
switch (params.r8(pc))
{
@@ -1712,19 +1712,19 @@ offs_t nec_disassembler::dis80(std::ostream &stream, offs_t pc, const data_buffe
break;
case 0xee: util::stream_format(stream, "xri $%02x", params.r8(pc)); pc++; break;
case 0xef: util::stream_format(stream, "rst 5"); flags = STEP_OVER; break;
- case 0xf0: util::stream_format(stream, "rp"); flags = STEP_OUT; break;
+ case 0xf0: util::stream_format(stream, "rp"); flags = STEP_OUT | STEP_COND; break;
case 0xf1: util::stream_format(stream, "pop psw"); break;
- case 0xf2: util::stream_format(stream, "jp $%04x", params.r16(pc)); pc+=2; break;
+ case 0xf2: util::stream_format(stream, "jp $%04x", params.r16(pc)); pc+=2; flags = STEP_COND; break;
case 0xf3: util::stream_format(stream, "di"); break;
- case 0xf4: util::stream_format(stream, "cp $%04x", params.r16(pc)); pc+=2; break;
+ case 0xf4: util::stream_format(stream, "cp $%04x", params.r16(pc)); pc+=2; flags = STEP_OVER | STEP_COND; break;
case 0xf5: util::stream_format(stream, "push psw"); break;
case 0xf6: util::stream_format(stream, "ori $%02x", params.r8(pc)); pc++; break;
case 0xf7: util::stream_format(stream, "rst 6"); flags = STEP_OVER; break;
- case 0xf8: util::stream_format(stream, "rm"); flags = STEP_OUT; break;
+ case 0xf8: util::stream_format(stream, "rm"); flags = STEP_OUT | STEP_COND; break;
case 0xf9: util::stream_format(stream, "sphl"); break;
case 0xfa: util::stream_format(stream, "jm $%04x", params.r16(pc)); pc+=2; break;
case 0xfb: util::stream_format(stream, "ei"); break;
- case 0xfc: util::stream_format(stream, "cm $%04x", params.r16(pc)); pc+=2; flags = STEP_OVER; break;
+ case 0xfc: util::stream_format(stream, "cm $%04x", params.r16(pc)); pc+=2; flags = STEP_OVER | STEP_COND; break;
case 0xfd: util::stream_format(stream, "call $%04x", params.r16(pc)); pc+=2; flags = STEP_OVER; break;
case 0xfe: util::stream_format(stream, "cpi $%02x", params.r8(pc)); pc++; break;
case 0xff: util::stream_format(stream, "rst 7"); flags = STEP_OVER; break;