From 52f76db6bb4310c0c553c89d9fe9b471ee976d77 Mon Sep 17 00:00:00 2001 From: mrb0nk500 Date: Tue, 18 Jan 2022 09:00:24 -0400 Subject: Add the rest of the load opcodes to the other register bitmasks. --- sux.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sux.h b/sux.h index 23ab73a..e89dbc7 100644 --- a/sux.h +++ b/sux.h @@ -1811,9 +1811,9 @@ static /*inline*/ void inst_##op(struct sux *cpu, uint8_t prefix, uint8_t size, t(0, 0x07101210, 0x17101410, 0x14001400, 0x10001000, 0x10000000, 0x40000000, 0x40000000, 0x00000000) { addr = ind_idx_addr(cpu, prefix, inc_clk, ZM, inc_pc, idx, pre_idx); } /* Indirect addressing, with indexing. */ \ /* Load Source. */ \ t(0, 0x02220022, 0x03760576, 0x00220432, 0x00661076, 0x00660066, 0x00660466, 0x51665466, 0x00660466) { reg = &cpu->a; } /* Most operations use the accumulator as an operand */ \ - t(0, 0x04100000, 0x04000000, 0x04000200, 0x02000000, 0x10000000, 0x51005000, 0x00000000, 0x04100110) { reg = &cpu->b; } /* stb, cpb, inb, deb, tba */ \ - t(0, 0x00000000, 0x00001200, 0x02000000, 0x00001000, 0x05001000, 0x04000000, 0x00100110, 0x00000000) { reg = &cpu->x; } /* stx, cpx, inx, dex, txa, txy */ \ - t(0, 0x00000000, 0x00000000, 0x00000000, 0x10001200, 0x02000400, 0x00100110, 0x04000000, 0x01001000) { reg = &cpu->y; } /* sty, cpy, iny, dey, tya, tyx */ \ + t(0, 0x05540354, 0x04000000, 0x04000200, 0x02000000, 0x10000000, 0x51005000, 0x00000000, 0x04100110) { reg = &cpu->b; } /* ldb, stb, cpb, inb, deb, tba */ \ + t(0, 0x00000000, 0x00001200, 0x12000000, 0x00001000, 0x05101110, 0x04000000, 0x00100110, 0x00000000) { reg = &cpu->x; } /* ldx, stx, cpx, inx, dex, txa, txy */ \ + t(0, 0x00000000, 0x00000000, 0x00041044, 0x10001200, 0x02000400, 0x00100110, 0x04000000, 0x01001000) { reg = &cpu->y; } /* ldy, sty, cpy, iny, dey, tya, tyx */ \ t(0, 0x00000000, 0x00000000, 0x00000000, 0x00000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000) { reg = &cpu->sp; } /* tsx */ \ t(0, 0x07561370, 0x17561570, 0x14161560, 0x10161160, 0x11161160, 0x51165161, 0x51175161, 0x01171160) { tmp = read_value(cpu, 0, addr, rs, inc_clk, 1); } /* Read data from memory. */ \ t(0, 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000016, 0x00000016, 0x00000016, 0x00000016) { tmp = read_value(cpu, 0, cpu->pc, rs, inc_clk, 0); cpu->pc += rs; } /* Immediate data. */ \ -- cgit v1.2.3-13-gbd6f