static UINT8 READ_EA_8(m68ki_cpu_core *m68k, int ea) { int mode = (ea >> 3) & 0x7; int reg = (ea & 0x7); switch (mode) { case 0: // Dn { return REG_D[reg]; } case 2: // (An) { UINT32 ea = REG_A[reg]; return m68ki_read_8(m68k, ea); } case 5: // (d16, An) { UINT32 ea = EA_AY_DI_8(m68k); return m68ki_read_8(m68k, ea); } case 6: // (An) + (Xn) + d8 { UINT32 ea = EA_AY_IX_8(m68k); return m68ki_read_8(m68k, ea); } case 7: { switch (reg) { case 1: // (xxx).L { UINT32 d1 = OPER_I_16(m68k); UINT32 d2 = OPER_I_16(m68k); UINT32 ea = (d1 << 16) | d2; return m68ki_read_8(m68k, ea); } case 4: // #<data> { return OPER_I_8(m68k); } default: fatalerror("MC68040: READ_EA_8: unhandled mode %d, reg %d at %08X\n", mode, reg, REG_PC); } break; } default: fatalerror("MC68040: READ_EA_8: unhandled mode %d, reg %d at %08X\n", mode, reg, REG_PC); } return 0; }
static UINT8 READ_EA_8(m68000_base_device *m68k, int ea) { int mode = (ea >> 3) & 0x7; int reg = (ea & 0x7); switch (mode) { case 0: // Dn { return REG_D(m68k)[reg]; } case 2: // (An) { UINT32 ea = REG_A(m68k)[reg]; return m68ki_read_8(m68k, ea); } case 3: // (An)+ { UINT32 ea = EA_AY_PI_8(m68k); return m68ki_read_8(m68k, ea); } case 4: // -(An) { UINT32 ea = EA_AY_PD_8(m68k); return m68ki_read_8(m68k, ea); } case 5: // (d16, An) { UINT32 ea = EA_AY_DI_8(m68k); return m68ki_read_8(m68k, ea); } case 6: // (An) + (Xn) + d8 { UINT32 ea = EA_AY_IX_8(m68k); return m68ki_read_8(m68k, ea); } case 7: { switch (reg) { case 0: // (xxx).W { UINT32 ea = (UINT32)OPER_I_16(m68k); return m68ki_read_8(m68k, ea); } case 1: // (xxx).L { UINT32 d1 = OPER_I_16(m68k); UINT32 d2 = OPER_I_16(m68k); UINT32 ea = (d1 << 16) | d2; return m68ki_read_8(m68k, ea); } case 2: // (d16, PC) { UINT32 ea = EA_PCDI_8(m68k); return m68ki_read_8(m68k, ea); } case 3: // (PC) + (Xn) + d8 { UINT32 ea = EA_PCIX_8(m68k); return m68ki_read_8(m68k, ea); } case 4: // #<data> { return OPER_I_8(m68k); } default: fatalerror("M68kFPU: READ_EA_8: unhandled mode %d, reg %d at %08X\n", mode, reg, REG_PC(m68k)); } break; } default: fatalerror("M68kFPU: READ_EA_8: unhandled mode %d, reg %d at %08X\n", mode, reg, REG_PC(m68k)); } return 0; }