void pic16c62x_device::sublw() { m_ALU = (m_opcode.b.l & 0xff) - m_W; m_W = m_ALU; CALCULATE_Z_FLAG(); CALCULATE_SUB_CARRY(); CALCULATE_SUB_DIGITCARRY(); }
void pic16c62x_device::addlw() { m_ALU = (m_opcode.b.l & 0xff) + m_W; m_W = m_ALU; CALCULATE_Z_FLAG(); CALCULATE_ADD_CARRY(); CALCULATE_ADD_DIGITCARRY(); }
void pic16c62x_device::subwf() { m_old_data = GET_REGFILE(ADDR); m_ALU = m_old_data - m_W; STORE_RESULT(ADDR, m_ALU); CALCULATE_Z_FLAG(); CALCULATE_SUB_CARRY(); CALCULATE_SUB_DIGITCARRY(); }
static void subwf(void) { old_data = GET_REGFILE(ADDR); R.ALU = old_data - R.W; STORE_RESULT(ADDR, R.ALU); CALCULATE_Z_FLAG(); CALCULATE_SUB_CARRY(); CALCULATE_SUB_DIGITCARRY(); }
static void addwf(void) { old_data = GET_REGFILE(ADDR); R.ALU = old_data + R.W; STORE_RESULT(ADDR, R.ALU); CALCULATE_Z_FLAG(); CALCULATE_ADD_CARRY(); CALCULATE_ADD_DIGITCARRY(); }
void pic16c62x_device::xorwf() { m_ALU = GET_REGFILE(ADDR) ^ m_W; STORE_RESULT(ADDR, m_ALU); CALCULATE_Z_FLAG(); }
void pic16c62x_device::xorlw() { m_ALU = m_W ^ m_opcode.b.l; m_W = m_ALU; CALCULATE_Z_FLAG(); }
void pic16c62x_device::incf() { m_ALU = GET_REGFILE(ADDR) + 1; STORE_RESULT(ADDR, m_ALU); CALCULATE_Z_FLAG(); }
void pic16c62x_device::comf() { m_ALU = (UINT8)(~(GET_REGFILE(ADDR))); STORE_RESULT(ADDR, m_ALU); CALCULATE_Z_FLAG(); }
void pic16c62x_device::andlw() { m_ALU = m_opcode.b.l & m_W; m_W = m_ALU; CALCULATE_Z_FLAG(); }
static void xorwf(void) { R.ALU = GET_REGFILE(ADDR) ^ R.W; STORE_RESULT(ADDR, R.ALU); CALCULATE_Z_FLAG(); }
static void xorlw(void) { R.ALU = R.W ^ R.opcode.b.l; R.W = R.ALU; CALCULATE_Z_FLAG(); }
static void movf(void) { R.ALU = GET_REGFILE(ADDR); STORE_RESULT(ADDR, R.ALU); CALCULATE_Z_FLAG(); }
static void iorlw(void) { R.ALU = R.opcode.b.l | R.W; STORE_RESULT(ADDR, R.ALU); CALCULATE_Z_FLAG(); }
static void comf(void) { R.ALU = ~(GET_REGFILE(ADDR)); STORE_RESULT(ADDR, R.ALU); CALCULATE_Z_FLAG(); }
static void andlw(void) { R.ALU = R.opcode.b.l & R.W; R.W = R.ALU; CALCULATE_Z_FLAG(); }