Add test for ANDA immediate

Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
This commit is contained in:
Adrian Conlon 2018-10-07 10:08:12 +01:00
parent 1f4a84b803
commit 7719c8e875

View File

@ -54,7 +54,6 @@ TEST_CASE("Add Memory to Accumulator A", "[ADD][ADDA]") {
SECTION("Immediate (byte)") {
board.poke(0, 0x8b);
board.poke(1, 0x8b);
EightBit::Chip::setFlag(cpu.CC(), EightBit::mc6809::CF);
cpu.A() = 0x24;
cpu.step();
REQUIRE(cpu.A() == 0xaf);
@ -66,3 +65,23 @@ TEST_CASE("Add Memory to Accumulator A", "[ADD][ADDA]") {
REQUIRE(cpu.cycles() == 2);
}
}
TEST_CASE("Logical AND Accumulator", "[AND][ANDA]") {
Board board;
board.initialise();
auto& cpu = board.CPU();
cpu.step(); // Step over the reset
SECTION("Immediate (byte)") {
board.poke(0, 0x84);
board.poke(1, 0x13);
cpu.A() = 0xfc;
cpu.step();
REQUIRE(cpu.A() == 0x10);
REQUIRE((cpu.CC() & EightBit::mc6809::ZF) == 0);
REQUIRE((cpu.CC() & EightBit::mc6809::VF) == 0);
REQUIRE((cpu.CC() & EightBit::mc6809::NF) == 0);
REQUIRE(cpu.cycles() == 2);
}
}