mirror of
https://github.com/holub/mame
synced 2025-06-26 14:24:12 +03:00
hphybrid: fixed indirect EXE instruction
This commit is contained in:
parent
7657035662
commit
d030ab2755
@ -265,7 +265,15 @@ UINT16 hp_hybrid_cpu_device::execute_one(UINT16 opcode)
|
|||||||
if ((opcode & 0x7fe0) == 0x7000) {
|
if ((opcode & 0x7fe0) == 0x7000) {
|
||||||
// EXE
|
// EXE
|
||||||
m_icount -= 8;
|
m_icount -= 8;
|
||||||
return RM(opcode & 0x1f);
|
// Indirect addressing in EXE instruction seems to use AEC case A instead of case C
|
||||||
|
// (because it's an opcode fetch)
|
||||||
|
UINT16 reg = RM(opcode & 0x1f);
|
||||||
|
if (BIT(opcode , 15)) {
|
||||||
|
m_icount -= 6;
|
||||||
|
return RM(add_mae(AEC_CASE_A , reg));
|
||||||
|
} else {
|
||||||
|
return reg;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
m_reg_P = execute_one_sub(opcode);
|
m_reg_P = execute_one_sub(opcode);
|
||||||
return fetch();
|
return fetch();
|
||||||
|
Loading…
Reference in New Issue
Block a user