From 09f0a828e347d288bb03f68ad40a17a5af7149d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rados=C5=82aw=20Kujawa?= Date: Mon, 23 Jan 2017 16:33:03 +0100 Subject: [PATCH] Add test cases for LDA addressing modes absolute X, absolute Y. --- test/Makefile | 1 + test/test_emulation.c | 12 ++++++++++++ test/test_emulation_lda_absx.s | 3 +++ test/test_emulation_lda_absy.s | 3 +++ 4 files changed, 19 insertions(+) create mode 100644 test/test_emulation_lda_absx.s create mode 100644 test/test_emulation_lda_absy.s diff --git a/test/Makefile b/test/Makefile index 2854abf..a36b3ee 100644 --- a/test/Makefile +++ b/test/Makefile @@ -14,6 +14,7 @@ TESTROMS=test_emulation_and_imm.rom \ test_emulation_nop.rom \ test_emulation_lda_imm.rom test_emulation_lda_zp.rom \ test_emulation_lda_abs.rom \ + test_emulation_lda_absx.rom test_emulation_lda_absy.rom \ test_emulation_stz_zp.rom all : $(TESTS) $(TESTROMS) diff --git a/test/test_emulation.c b/test/test_emulation.c index bd3668d..f364e07 100644 --- a/test/test_emulation.c +++ b/test/test_emulation.c @@ -105,6 +105,18 @@ ATF_TC_BODY(emul_lda, tc) ATF_REQUIRE(rom_start(&e, "test_emulation_lda_abs.rom")); ATF_CHECK(e.regs.A == 0xEA); + /* LDA absolute X */ + bus_write_1(&b, 0x2F5A, 0xEB); + e.regs.X = 0x5A; + ATF_REQUIRE(rom_start(&e, "test_emulation_lda_absx.rom")); + ATF_CHECK(e.regs.A == 0xEB); + + /* LDA absolute X */ + bus_write_1(&b, 0x2F5E, 0xEC); + e.regs.Y = 0x5E; + ATF_REQUIRE(rom_start(&e, "test_emulation_lda_absy.rom")); + ATF_CHECK(e.regs.A == 0xEC); + bus_finish(&b); } diff --git a/test/test_emulation_lda_absx.s b/test/test_emulation_lda_absx.s new file mode 100644 index 0000000..d896b70 --- /dev/null +++ b/test/test_emulation_lda_absx.s @@ -0,0 +1,3 @@ +start: lda 0x2F00,X + stp + diff --git a/test/test_emulation_lda_absy.s b/test/test_emulation_lda_absy.s new file mode 100644 index 0000000..fc2479a --- /dev/null +++ b/test/test_emulation_lda_absy.s @@ -0,0 +1,3 @@ +start: lda 0x2F00,Y + stp +