Write ADDD result back.

This commit is contained in:
Thomas Harte committed 2026-03-16 15:03:48 -04:00
1 parent b825d07a70
commit d787af89c5
2 files changed
+5 -10

No files matched your search

+4 -10
View File
@@ -174,10 +174,10 @@ struct M6809Traits {
// Known failures, for transient enabling and disabling:
switch(opcode) {
case 0x30: // LEAX indirect.
case 0x31: // LEAY indirect.
case 0x32: // LEAS indirect.
case 0x33: // LEAU indirect.
case 0x30: // LEAX indexed.
case 0x31: // LEAY indexed.
case 0x32: // LEAS indexed.
case 0x33: // LEAU indexed.
case 0x60: // NEG indexed.
case 0x63: // COM indexed.
@@ -209,10 +209,6 @@ struct M6809Traits {
case 0xae: // LDX indexed.
case 0xaf: // STX indexed.
case 0xc3: // ADDD immediate.
case 0xd3: // ADDD direct.
case 0xe0: // SUBB indexed.
case 0xe1: // CMPB indexed.
case 0xe2: // SBCB indexed.
@@ -230,8 +226,6 @@ struct M6809Traits {
case 0xee: // LDU indexed.
case 0xef: // STD indexed.
case 0xf3: // ADDD extended.
case 0x1023: // LBLS
case 0x102f: // LBLE
+1
View File
@@ -129,6 +129,7 @@ inline void addd(Registers &registers, const uint16_t operand) {
registers.cc.set_nz(result);
registers.cc.set<ConditionCode::Carry>(result < operand);
registers.cc.set_overflow(result, source, operand);
registers.reg<R16::D>() = result;
}
template <R8 r, bool with_carry, bool store_result>