void pic16c62x_device::tris() { switch(m_opcode.b.l & 0x7) { case 05: STORE_REGFILE(0x85, m_W); break; case 06: STORE_REGFILE(0x86, m_W); break; default: illegal(); break; } }
void pic16c62x_device::STORE_RESULT(offs_t addr, UINT8 data) { if (m_opcode.b.l & 0x80) { STORE_REGFILE(addr, data); } else { m_W = data; } }
INLINE void STORE_RESULT(offs_t addr, UINT8 data) { if (R.opcode.b.l & 0x20) { STORE_REGFILE(addr, data); } else { R.W = data; } }
void pic16c62x_device::movwf() { STORE_REGFILE(ADDR, m_W); }
void pic16c62x_device::clrf() { STORE_REGFILE(ADDR, 0); SET(STATUS, Z_FLAG); }
void pic16c62x_device::bsf() { m_ALU = GET_REGFILE(ADDR); m_ALU |= bit_set[POS]; STORE_REGFILE(ADDR, m_ALU); }
void pic16c62x_device::bcf() { m_ALU = GET_REGFILE(ADDR); m_ALU &= bit_clr[POS]; STORE_REGFILE(ADDR, m_ALU); }
static void movwf(void) { STORE_REGFILE(ADDR, R.W); }
static void clrf(void) { STORE_REGFILE(ADDR, 0); SET(Z_FLAG); }
static void bsf(void) { R.ALU = GET_REGFILE(ADDR); R.ALU |= bit_set[POS]; STORE_REGFILE(ADDR, R.ALU); }
static void bcf(void) { R.ALU = GET_REGFILE(ADDR); R.ALU &= bit_clr[POS]; STORE_REGFILE(ADDR, R.ALU); }