void Apu69() { // CMP dp(dest), dp(src) uint8_t W1 = S9xAPUGetByteZ(OP1); uint8_t Work8 = S9xAPUGetByteZ(OP2); CMP(Work8, W1); IAPU.PC += 3; }
void ApuBA() { // MOVW YA,dp IAPU.Registers.YA.B.A = S9xAPUGetByteZ(OP1); IAPU.Registers.YA.B.Y = S9xAPUGetByteZ(OP1 + 1); APUSetZN16(IAPU.Registers.YA.W); IAPU.PC += 2; }
void Apu39() { // AND (X),(Y) uint8 Work8 = S9xAPUGetByteZ(IAPU.X) & S9xAPUGetByteZ(IAPU.YA.B.Y); APUSetZN8(Work8); S9xAPUSetByteZ(Work8, IAPU.X); IAPU.PC++; }
void Apu19() { // OR (X),(Y) uint8 Work8 = S9xAPUGetByteZ(IAPU.X) | S9xAPUGetByteZ(IAPU.YA.B.Y); APUSetZN8(Work8); S9xAPUSetByteZ(Work8, IAPU.X); IAPU.PC++; }
void Apu79() { // CMP (X),(Y) uint8 W1 = S9xAPUGetByteZ(IAPU.X); uint8 Work8 = S9xAPUGetByteZ(IAPU.YA.B.Y); CMP(W1, Work8); IAPU.PC++; }
void Apu79() { // CMP (X),(Y) uint8_t W1 = S9xAPUGetByteZ(IAPU.Registers.X); uint8_t Work8 = S9xAPUGetByteZ(IAPU.Registers.YA.B.Y); CMP(W1, Work8); IAPU.PC++; }
void Apu59() { // EOR (X),(Y) uint8_t Work8 = S9xAPUGetByteZ(IAPU.Registers.X) ^ S9xAPUGetByteZ( IAPU.Registers.YA.B.Y); APUSetZN8(Work8); S9xAPUSetByteZ(Work8, IAPU.Registers.X); IAPU.PC++; }
void Apu5A() { // CMPW YA,dp uint16_t Work16 = S9xAPUGetByteZ(OP1) + (S9xAPUGetByteZ(OP1 + 1) << 8); int32_t Int32 = (long) IAPU.Registers.YA.W - (long) Work16; IAPU._Carry = Int32 >= 0; APUSetZN16((uint16_t) Int32); IAPU.PC += 2; }
void Apu89() { // ADC dp(dest),dp(src) uint8_t Work8 = S9xAPUGetByteZ(OP1); uint8_t W1 = S9xAPUGetByteZ(OP2); ADC(W1, Work8); S9xAPUSetByteZ(W1, OP2); IAPU.PC += 3; }
void Apu99() { // ADC (X),(Y) uint8_t W1 = S9xAPUGetByteZ(IAPU.Registers.X); uint8_t Work8 = S9xAPUGetByteZ(IAPU.Registers.YA.B.Y); ADC(W1, Work8); S9xAPUSetByteZ(W1, IAPU.Registers.X); IAPU.PC++; }
void Apu09() { // OR dp(dest),dp(src) uint8_t Work8 = S9xAPUGetByteZ(OP1); Work8 |= S9xAPUGetByteZ(OP2); S9xAPUSetByteZ(Work8, OP2); APUSetZN8(Work8); IAPU.PC += 3; }
void Apu49() { // EOR dp(dest),dp(src) uint8 Work8 = S9xAPUGetByteZ(OP1); Work8 ^= S9xAPUGetByteZ(OP2); S9xAPUSetByteZ(Work8, OP2); APUSetZN8(Work8); IAPU.PC += 3; }
void Apu5A() { // CMPW YA,dp uint16 Work16 = S9xAPUGetByteZ(OP1) + (S9xAPUGetByteZ(OP1 + 1) << 8); long Int32 = (long) IAPU.YA.W - (long) Work16; IAPU._Carry = Int32 >= 0; APUSetZN16((uint16) Int32); IAPU.PC += 2; }
void Apu3A() { // INCW dp uint16_t Work16 = S9xAPUGetByteZ(OP1) + (S9xAPUGetByteZ(OP1 + 1) << 8); Work16++; S9xAPUSetByteZ((uint8_t) Work16, OP1); S9xAPUSetByteZ(Work16 >> 8, OP1 + 1); APUSetZN16(Work16); IAPU.PC += 2; }
void Apu1A() { // DECW dp uint16 Work16 = S9xAPUGetByteZ(OP1) + (S9xAPUGetByteZ(OP1 + 1) << 8); Work16--; S9xAPUSetByteZ((uint8) Work16, OP1); S9xAPUSetByteZ(Work16 >> 8, OP1 + 1); APUSetZN16(Work16); IAPU.PC += 2; }
void Apu84() { // ADC A,dp uint8 Work8 = S9xAPUGetByteZ(OP1); ADC(IAPU.YA.B.A, Work8); IAPU.PC += 2; }
void Apu14() { // OR A,dp+X IAPU.Registers.YA.B.A |= S9xAPUGetByteZ(OP1 + IAPU.Registers.X); APUSetZN8(IAPU.Registers.YA.B.A); IAPU.PC += 2; }
void Apu04() { // OR A,dp IAPU.Registers.YA.B.A |= S9xAPUGetByteZ(OP1); APUSetZN8(IAPU.Registers.YA.B.A); IAPU.PC += 2; }
void Apu06() { // OR A,(X) IAPU.Registers.YA.B.A |= S9xAPUGetByteZ(IAPU.Registers.X); APUSetZN8(IAPU.Registers.YA.B.A); IAPU.PC++; }
void Apu94() { // ADC A,dp+X uint8_t Work8 = S9xAPUGetByteZ(OP1 + IAPU.Registers.X); ADC(IAPU.Registers.YA.B.A, Work8); IAPU.PC += 2; }
void Apu86() { // ADC A,(X) uint8 Work8 = S9xAPUGetByteZ(IAPU.X); ADC(IAPU.YA.B.A, Work8); IAPU.PC++; }
void Apu86() { // ADC A,(X) uint8_t Work8 = S9xAPUGetByteZ(IAPU.Registers.X); ADC(IAPU.Registers.YA.B.A, Work8); IAPU.PC++; }
void Apu94() { // ADC A,dp+X uint8 Work8 = S9xAPUGetByteZ(OP1 + IAPU.X); ADC(IAPU.YA.B.A, Work8); IAPU.PC += 2; }
void Apu34() { // AND A,dp+X IAPU.Registers.YA.B.A &= S9xAPUGetByteZ(OP1 + IAPU.Registers.X); APUSetZN8(IAPU.Registers.YA.B.A); IAPU.PC += 2; }
void Apu66() { // CMP A,(X) uint8_t Work8 = S9xAPUGetByteZ(IAPU.Registers.X); CMP(IAPU.Registers.YA.B.A, Work8); IAPU.PC++; }
void Apu26() { // AND A,(X) IAPU.Registers.YA.B.A &= S9xAPUGetByteZ(IAPU.Registers.X); APUSetZN8(IAPU.Registers.YA.B.A); IAPU.PC++; }
void Apu24() { // AND A,dp IAPU.Registers.YA.B.A &= S9xAPUGetByteZ(OP1); APUSetZN8(IAPU.Registers.YA.B.A); IAPU.PC += 2; }
void Apu7E() { // CMP Y,dp uint8_t Work8 = S9xAPUGetByteZ(OP1); CMP(IAPU.Registers.YA.B.Y, Work8); IAPU.PC += 2; }
void Apu3E() { // CMP X,dp uint8_t Work8 = S9xAPUGetByteZ(OP1); CMP(IAPU.Registers.X, Work8); IAPU.PC += 2; }
void Apu74() { // CMP A, dp+X uint8_t Work8 = S9xAPUGetByteZ(OP1 + IAPU.Registers.X); CMP(IAPU.Registers.YA.B.A, Work8); IAPU.PC += 2; }