예제 #1
0
void Apu54()
{
   // EOR A,dp+X
   IAPU.YA.B.A ^= S9xAPUGetByteZ(OP1 + IAPU.X);
   APUSetZN8(IAPU.YA.B.A);
   IAPU.PC += 2;
}
예제 #2
0
void Apu48()
{
   // EOR A,#00
   IAPU.Registers.YA.B.A ^= OP1;
   APUSetZN8(IAPU.Registers.YA.B.A);
   IAPU.PC += 2;
}
예제 #3
0
void Apu44()
{
   // EOR A,dp
   IAPU.YA.B.A ^= S9xAPUGetByteZ(OP1);
   APUSetZN8(IAPU.YA.B.A);
   IAPU.PC += 2;
}
예제 #4
0
void Apu5D()
{
   // MOV X,A
   IAPU.X = IAPU.YA.B.A;
   APUSetZN8(IAPU.X);
   IAPU.PC++;
}
예제 #5
0
void Apu9D()
{
   //MOV X,SP
   IAPU.X = IAPU.S;
   APUSetZN8(IAPU.X);
   IAPU.PC++;
}
예제 #6
0
void Apu7D()
{
   // MOV A,X
   IAPU.YA.B.A = IAPU.X;
   APUSetZN8(IAPU.YA.B.A);
   IAPU.PC++;
}
예제 #7
0
void Apu46()
{
   // EOR A,(X)
   IAPU.YA.B.A ^= S9xAPUGetByteZ(IAPU.X);
   APUSetZN8(IAPU.YA.B.A);
   IAPU.PC++;
}
예제 #8
0
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;
}
예제 #9
0
void Apu24()
{
   // AND A,dp
   IAPU.Registers.YA.B.A &= S9xAPUGetByteZ(OP1);
   APUSetZN8(IAPU.Registers.YA.B.A);
   IAPU.PC += 2;
}
예제 #10
0
void Apu7D()
{
   // MOV A,X
   IAPU.Registers.YA.B.A = IAPU.Registers.X;
   APUSetZN8(IAPU.Registers.YA.B.A);
   IAPU.PC++;
}
예제 #11
0
void ApuDD()
{
   // MOV A,Y
   IAPU.Registers.YA.B.A = IAPU.Registers.YA.B.Y;
   APUSetZN8(IAPU.Registers.YA.B.A);
   IAPU.PC++;
}
예제 #12
0
void Apu06()
{
   // OR A,(X)
   IAPU.Registers.YA.B.A |= S9xAPUGetByteZ(IAPU.Registers.X);
   APUSetZN8(IAPU.Registers.YA.B.A);
   IAPU.PC++;
}
예제 #13
0
void Apu8D()
{
   // MOV Y,#00
   IAPU.Registers.YA.B.Y = OP1;
   APUSetZN8(IAPU.Registers.YA.B.Y);
   IAPU.PC += 2;
}
예제 #14
0
void Apu04()
{
   // OR A,dp
   IAPU.Registers.YA.B.A |= S9xAPUGetByteZ(OP1);
   APUSetZN8(IAPU.Registers.YA.B.A);
   IAPU.PC += 2;
}
예제 #15
0
void ApuFD()
{
   // MOV Y,A
   IAPU.Registers.YA.B.Y = IAPU.Registers.YA.B.A;
   APUSetZN8(IAPU.Registers.YA.B.Y);
   IAPU.PC++;
}
예제 #16
0
void Apu9D()
{
   //MOV X,SP
   IAPU.Registers.X = IAPU.Registers.S;
   APUSetZN8(IAPU.Registers.X);
   IAPU.PC++;
}
예제 #17
0
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;
}
예제 #18
0
void Apu5D()
{
   // MOV X,A
   IAPU.Registers.X = IAPU.Registers.YA.B.A;
   APUSetZN8(IAPU.Registers.X);
   IAPU.PC++;
}
예제 #19
0
void Apu08()
{
   // OR A,#00
   IAPU.Registers.YA.B.A |= OP1;
   APUSetZN8(IAPU.Registers.YA.B.A);
   IAPU.PC += 2;
}
예제 #20
0
void Apu28()
{
   // AND A,#00
   IAPU.Registers.YA.B.A &= OP1;
   APUSetZN8(IAPU.Registers.YA.B.A);
   IAPU.PC += 2;
}
예제 #21
0
void Apu26()
{
   // AND A,(X)
   IAPU.Registers.YA.B.A &= S9xAPUGetByteZ(IAPU.Registers.X);
   APUSetZN8(IAPU.Registers.YA.B.A);
   IAPU.PC++;
}
예제 #22
0
void Apu07()
{
   // OR A,(dp+X)
   IndexedXIndirect();
   IAPU.Registers.YA.B.A |= S9xAPUGetByte(IAPU.Address);
   APUSetZN8(IAPU.Registers.YA.B.A);
   IAPU.PC += 2;
}
예제 #23
0
void Apu19()
{
   // OR (X),(Y)
   uint8 Work8 = S9xAPUGetByteZ(IAPU.X) | S9xAPUGetByteZ(IAPU.YA.B.Y);
   APUSetZN8(Work8);
   S9xAPUSetByteZ(Work8, IAPU.X);
   IAPU.PC++;
}
예제 #24
0
void Apu57()
{
   // EOR A,(dp)+Y
   IndirectIndexedY();
   IAPU.YA.B.A ^= S9xAPUGetByte(IAPU.Address);
   APUSetZN8(IAPU.YA.B.A);
   IAPU.PC += 2;
}
예제 #25
0
void Apu16()
{
   // OR A,abs+Y
   AbsoluteY();
   IAPU.Registers.YA.B.A |= S9xAPUGetByte(IAPU.Address);
   APUSetZN8(IAPU.Registers.YA.B.A);
   IAPU.PC += 3;
}
예제 #26
0
void Apu25()
{
   // AND A,abs
   Absolute();
   IAPU.Registers.YA.B.A &= S9xAPUGetByte(IAPU.Address);
   APUSetZN8(IAPU.Registers.YA.B.A);
   IAPU.PC += 3;
}
예제 #27
0
void Apu55()
{
   // EOR A,abs+X
   AbsoluteX();
   IAPU.Registers.YA.B.A ^= S9xAPUGetByte(IAPU.Address);
   APUSetZN8(IAPU.Registers.YA.B.A);
   IAPU.PC += 3;
}
예제 #28
0
void Apu15()
{
   // OR A,abs+X
   AbsoluteX();
   IAPU.YA.B.A |= S9xAPUGetByte(IAPU.Address);
   APUSetZN8(IAPU.YA.B.A);
   IAPU.PC += 3;
}
예제 #29
0
void Apu17()
{
   // OR A,(dp)+Y
   IndirectIndexedY();
   IAPU.Registers.YA.B.A |= S9xAPUGetByte(IAPU.Address);
   APUSetZN8(IAPU.Registers.YA.B.A);
   IAPU.PC += 2;
}
예제 #30
0
void Apu56()
{
   // EOR A,abs+Y
   AbsoluteY();
   IAPU.YA.B.A ^= S9xAPUGetByte(IAPU.Address);
   APUSetZN8(IAPU.YA.B.A);
   IAPU.PC += 3;
}