From bc59392169c9fef5a8cfeeffa33d73fd1c431612 Mon Sep 17 00:00:00 2001 From: Xubiod Date: Wed, 13 Mar 2024 09:57:24 -0400 Subject: [PATCH] stack pushing testing --- cpu/core_test.go | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/cpu/core_test.go b/cpu/core_test.go index 7e2f33d..4c2d2c6 100644 --- a/cpu/core_test.go +++ b/cpu/core_test.go @@ -1,7 +1,9 @@ package cpu import ( + "strings" "testing" + "xubiod/6502-experiment/assembler" ) func TestExists(t *testing.T) { @@ -329,17 +331,26 @@ func TestDecimalSBC(t *testing.T) { } func TestGeneralStackOps(t *testing.T) { - // var prg []byte + var prg []byte + loopCount := 32 - // c := NewCore() - // asm := assembler.New() + c := NewCore() + asm := assembler.New() + + prg, _ = asm.Parse("LDX #$00\n" + strings.Repeat("TXA\nPHA\nINX\n", loopCount)) + + stdProcedure(c, prg) - // prg, _ = asm.Parse("LDX #$01\n" + strings.Repeat("TXA\nPHA\nINX\n", 32)) + var atStack byte - // stdProcedure(c, prg) + for number := range loopCount { + atStack = c.Memory[0x01FF-uint16(number)] + if atStack != byte(number) { + t.Errorf("general stack fail - expected %02x\tgot %02x", number, atStack) + } + } - // // incomplete test - // t.Fail() + t.Log("\n" + c.CompleteDump()) } // Writes reset procedure followed by the given program. Goes into a standard execution