public void CheckAnd_Ani_() { // ANDI #<data>,<ea> // 0000 0010 0001 1001 0x0219 // 0000 0000 0000 0101 0x000A // ANDI #10,(A1) byte[] data = new byte[] { 0x02, 0x19, 0x00, 0x0A }; MegadriveState state = new MegadriveState(new Data(data), 0x00000000, 0x00000000, 0x000000, 0x3FFFFF, 0x0FF0000, 0xFFFFFF); state.WriteAReg(0x1, 0x00FF0000); state.WriteByte(0x00FF0000, 0xFF); state.WriteByte(0x00FF0002, 0xAA); state.WriteDReg(0x1, 0xFF); state.FetchOpCode(); var opcode = new ANDI(state); Assert.That(opcode.Assembly, Is.EqualTo("ANDI #10,(A1)+")); Assert.That(state.PC, Is.EqualTo(0x04)); Assert.That(state.ReadAReg(0x1), Is.EqualTo(0x00FF0001)); Assert.That(state.ReadByte(0x00FF0000), Is.EqualTo(0x0000000A)); }
public void CheckAndDn() { // ANDI #<data>,<ea> // 0000 0010 0000 0001 0x0201 // 0000 0000 0000 0101 0x000A // ANDI #10,D1 byte[] data = new byte[] { 0x02, 0x01, 0x00, 0x0A }; MegadriveState state = new MegadriveState(new Data(data), 0x00000000, 0x00000000, 0x000000, 0x3FFFFF, 0x0FF0000, 0xFFFFFF); state.WriteDReg(0x1, 0xFF); state.FetchOpCode(); var opcode = new ANDI(state); Assert.That(opcode.Assembly, Is.EqualTo("ANDI #10,D1")); Assert.That(state.PC, Is.EqualTo(0x04)); Assert.That(state.ReadDReg(0x1), Is.EqualTo(0x0000000A)); }