More sharing of common implementation on the MC6809.

Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
This commit is contained in:
Adrian Conlon 2018-10-18 22:50:54 +01:00
parent 83497b0b9e
commit dbc3e192d7

View File

@ -793,9 +793,8 @@ uint8_t EightBit::mc6809::asr(uint8_t operand) {
} }
uint8_t EightBit::mc6809::clr() { uint8_t EightBit::mc6809::clr() {
clearFlag(CC(), NF | VF | CF); clearFlag(CC(), CF);
setFlag(CC(), ZF); return through((uint8_t)0U);
return 0;
} }
void EightBit::mc6809::cmp(const uint8_t operand, const uint8_t data) { void EightBit::mc6809::cmp(const uint8_t operand, const uint8_t data) {
@ -840,10 +839,8 @@ uint8_t EightBit::mc6809::dec(const uint8_t operand) {
return result; return result;
} }
uint8_t EightBit::mc6809::eor(uint8_t operand, const uint8_t data) { uint8_t EightBit::mc6809::eor(const uint8_t operand, const uint8_t data) {
clearFlag(CC(), VF); return through((uint8_t)(operand ^ data));
adjustNZ(operand ^= data);
return operand;
} }
uint8_t& EightBit::mc6809::referenceTransfer8(const int specifier) { uint8_t& EightBit::mc6809::referenceTransfer8(const int specifier) {
@ -929,10 +926,8 @@ uint8_t EightBit::mc6809::neg(uint8_t operand) {
return operand; return operand;
} }
uint8_t EightBit::mc6809::orr(uint8_t operand, const uint8_t data) { uint8_t EightBit::mc6809::orr(const uint8_t operand, const uint8_t data) {
clearFlag(CC(), VF); return through((uint8_t)(operand | data));
adjustNZ(operand |= data);
return operand;
} }
void EightBit::mc6809::psh(register16_t& stack, const uint8_t data) { void EightBit::mc6809::psh(register16_t& stack, const uint8_t data) {