From 21724fd18982f90764e57b05fcac731fbd57e7e7 Mon Sep 17 00:00:00 2001 From: Anonymus Raccoon Date: Fri, 3 Apr 2020 15:54:55 +0200 Subject: [PATCH] Testing the ORA --- tests/CPU/Math/testOthersMath.cpp | 36 +++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/tests/CPU/Math/testOthersMath.cpp b/tests/CPU/Math/testOthersMath.cpp index 1d8ed65..3a65f92 100644 --- a/tests/CPU/Math/testOthersMath.cpp +++ b/tests/CPU/Math/testOthersMath.cpp @@ -116,4 +116,40 @@ Test(DEY, zero) cr_assert_eq(snes.cpu->_registers.y, 0, "The x index value should be 0 but it was 0x%x.", snes.cpu->_registers.y); cr_assert_eq(snes.cpu->_registers.p.n, false, "The negative flags should not be set."); cr_assert_eq(snes.cpu->_registers.p.z, true, "The zero flags should be set."); +} + +Test(ORA, simple) +{ + Init() + snes.cpu->_registers.p.m = true; + snes.cpu->_registers.a = 0x80; + snes.wram->_data[0] = 0x0F; + snes.cpu->ORA(0x0, ComSquare::CPU::AddressingMode::Implied); + cr_assert_eq(snes.cpu->_registers.a, 0x8F, "The accumulator's value should be 0x8F but it was 0x%x.", snes.cpu->_registers.a); + cr_assert_eq(snes.cpu->_registers.p.n, true, "The negative flags should be set."); + cr_assert_eq(snes.cpu->_registers.p.z, false, "The zero flags should not be set."); +} + +Test(ORA, simple2) +{ + Init() + snes.cpu->_registers.p.m = true; + snes.cpu->_registers.a = 0x80; + snes.wram->_data[0] = 0xF0; + snes.cpu->ORA(0x00, ComSquare::CPU::AddressingMode::Implied); + cr_assert_eq(snes.cpu->_registers.a, 0xF0, "The accumulator's value should be 0xF0 but it was 0x%x.", snes.cpu->_registers.a); + cr_assert_eq(snes.cpu->_registers.p.n, true, "The negative flags should be set."); + cr_assert_eq(snes.cpu->_registers.p.z, false, "The zero flags should not be set."); +} + +Test(ORA, zero) +{ + Init() + snes.cpu->_registers.p.m = true; + snes.cpu->_registers.a = 0x00; + snes.wram->_data[0] = 0x00; + snes.cpu->ORA(0x0, ComSquare::CPU::AddressingMode::Implied); + cr_assert_eq(snes.cpu->_registers.a, 0x00, "The accumulator's value should be 0x00 but it was 0x%x.", snes.cpu->_registers.a); + cr_assert_eq(snes.cpu->_registers.p.n, false, "The negative flags should not be set."); + cr_assert_eq(snes.cpu->_registers.p.z, true, "The zero flags should be set."); } \ No newline at end of file