26 lines
771 B
C++
26 lines
771 B
C++
#include "gtest/gtest.h"
|
|
#include "test-utils.h"
|
|
|
|
using namespace std;
|
|
using namespace emu_6502;
|
|
|
|
const uint8_t NOP = 0xEA;
|
|
const uint8_t LDA_IMM = 0xA9;
|
|
|
|
TEST(SystemOpcodeHandlerContainer, NOP) {
|
|
auto machine = create_machine({NOP, NOP, NOP, NOP});
|
|
machine->execute();
|
|
|
|
ASSERT_TRUE(are_flags_set(machine->get_cpu().get_ps(), RegisterFlagSet{}));
|
|
ASSERT_EQ(0x604, machine->get_cpu().get_pc().get_value());
|
|
}
|
|
|
|
TEST(SystemOpcodeHandlerContainer, NOP2) {
|
|
auto machine = create_machine({NOP, NOP, NOP, LDA_IMM, 0x35, NOP});
|
|
machine->execute();
|
|
|
|
ASSERT_EQ(0x35, machine->get_cpu().get_a().get_value());
|
|
ASSERT_TRUE(are_flags_set(machine->get_cpu().get_ps(), RegisterFlagSet{}));
|
|
ASSERT_EQ(0x606, machine->get_cpu().get_pc().get_value());
|
|
}
|