mirror of
https://github.com/holub/mame
synced 2025-04-22 16:31:49 +03:00
xavix2: Finish the branches, hopefully [O. Galibert, N. Gilbert]
This commit is contained in:
parent
209a097492
commit
0d93f50384
@ -190,18 +190,20 @@ void xavix2_device::execute_run()
|
||||
case 0xac: case 0xad: m_r[r1(opcode)] = do_lsr(m_r[r2(opcode)], m_r[r3(opcode)]); break;
|
||||
case 0xae: case 0xaf: m_r[r1(opcode)] = do_lsl(m_r[r2(opcode)], m_r[r3(opcode)]); break;
|
||||
|
||||
// d0-d1
|
||||
case 0xd0: if(m_f & F_V) npc = m_pc + val8s(opcode); break;
|
||||
case 0xd1: if(((m_f & F_N) && !(m_f & F_V)) || ((m_f & F_V) && !(m_f & F_N))) npc = m_pc + val8s(opcode); break;
|
||||
case 0xd2: if(m_f & F_Z) npc = m_pc + val8s(opcode); break;
|
||||
case 0xd3: if((m_f & F_Z) || ((m_f & F_N) && !(m_f & F_V)) || ((m_f & F_V) && !(m_f & F_N))) npc = m_pc + val8s(opcode); break;
|
||||
case 0xd4: if(m_f & F_N) npc = m_pc + val8s(opcode); break;
|
||||
case 0xd5: npc = m_pc + val8s(opcode); break;
|
||||
case 0xd6: if(m_f & F_C) npc = m_pc + val8s(opcode); break;
|
||||
case 0xd7: if((m_f & F_Z) || (m_f & F_C)) npc = m_pc + val8s(opcode); break;
|
||||
// d8-d9
|
||||
case 0xd8: if(!(m_f & F_V)) npc = m_pc + val8s(opcode); break;
|
||||
case 0xd9: if(((m_f & F_N) && (m_f & F_V)) || (!(m_f & F_V) && !(m_f & F_N))) npc = m_pc + val8s(opcode); break;
|
||||
case 0xda: if(!(m_f & F_Z)) npc = m_pc + val8s(opcode); break;
|
||||
case 0xdb: if((!(m_f & F_Z) && (m_f & F_N) && (m_f & F_V)) || (!(m_f & F_Z) && !(m_f & F_V) && !(m_f & F_N))) npc = m_pc + val8s(opcode); break;
|
||||
case 0xdc: if(!(m_f & F_N)) npc = m_pc + val8s(opcode); break;
|
||||
// dd
|
||||
case 0xdd: break;
|
||||
case 0xde: if(!(m_f & F_C)) npc = m_pc + val8s(opcode); break;
|
||||
case 0xdf: if(!(m_f & F_Z) && !(m_f & F_C)) npc = m_pc + val8s(opcode); break;
|
||||
|
||||
|
@ -246,20 +246,20 @@ offs_t xavix2_disassembler::disassemble(std::ostream &stream, offs_t pc, const d
|
||||
case 0xb2: case 0xb3: util::stream_format(stream, "?b2 %s %s %s", r1(), r2(), r3()); break;
|
||||
// b4-cf
|
||||
|
||||
case 0xd0: util::stream_format(stream, "b?0 %s", rel8()); break;
|
||||
case 0xd1: util::stream_format(stream, "b?1 %s", rel8()); break;
|
||||
case 0xd0: util::stream_format(stream, "bvs %s", rel8()); break;
|
||||
case 0xd1: util::stream_format(stream, "blts %s", rel8()); break;
|
||||
case 0xd2: util::stream_format(stream, "beq %s", rel8()); break;
|
||||
case 0xd3: util::stream_format(stream, "bles %s", rel8()); break;
|
||||
case 0xd4: util::stream_format(stream, "bmi %s", rel8()); break;
|
||||
case 0xd5: util::stream_format(stream, "bra %s", rel8()); break;
|
||||
case 0xd6: util::stream_format(stream, "bltu %s", rel8()); break;
|
||||
case 0xd7: util::stream_format(stream, "bleu %s", rel8()); break;
|
||||
case 0xd8: util::stream_format(stream, "b?8 %s", rel8()); break;
|
||||
case 0xd9: util::stream_format(stream, "b?9 %s", rel8()); break;
|
||||
case 0xd8: util::stream_format(stream, "bvc %s", rel8()); break;
|
||||
case 0xd9: util::stream_format(stream, "bges %s", rel8()); break;
|
||||
case 0xda: util::stream_format(stream, "bne %s", rel8()); break;
|
||||
case 0xdb: util::stream_format(stream, "bgts %s", rel8()); break;
|
||||
case 0xdc: util::stream_format(stream, "bpl %s", rel8()); break;
|
||||
case 0xdd: util::stream_format(stream, "b?d %s", rel8()); break;
|
||||
case 0xdd: util::stream_format(stream, "bnv %s", rel8()); break;
|
||||
case 0xde: util::stream_format(stream, "bgeu %s", rel8()); break;
|
||||
case 0xdf: util::stream_format(stream, "bgtu %s", rel8()); break;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user