Fix bug introduced in #2260

bne should have applied to A, not X, but adding a cmp #$00 before
makes the change less optimized than the existing.
This commit is contained in:
Colin Leroy-Mira
2023-12-09 16:43:23 +01:00
parent 519a52d92c
commit 2a2cc6cad6
2 changed files with 28 additions and 7 deletions

View File

@@ -3697,13 +3697,7 @@ void g_dec (unsigned flags, unsigned long val)
} else {
/* Inline the code */
if (val < 0x300) {
if ((CPUIsets[CPU] & CPU_ISET_65SC02) != 0 && val == 1) {
unsigned L = GetLocalLabel();
AddCodeLine ("bne %s", LocalLabelName (L));
AddCodeLine ("dex");
g_defcodelabel (L);
AddCodeLine ("dea");
} else if ((val & 0xFF) != 0) {
if ((val & 0xFF) != 0) {
unsigned L = GetLocalLabel();
AddCodeLine ("sec");
AddCodeLine ("sbc #$%02X", (unsigned char) val);