From 8aa8586b03568d3a3d6eba39269a1b79510bc835 Mon Sep 17 00:00:00 2001 From: mrb0nk500 Date: Tue, 6 Oct 2020 08:02:23 -0400 Subject: - Made the stack pointer 64 bit, rather than 16 bit. This is to allow for making the stack bigger for anything that needs to change the size of it. - Made the SuB Suite set the stack pointer to the end of the usable RAM, and allow for changing the stack size. In this case, the size of the stack is currently set to 192K, with the end of the heap being just below the stack. --- test/add-sub.s | 6 +++--- test/getramsize.s | 2 +- test/hello-world.s | 3 +-- test/load-store.s | 2 +- test/popcnt.s | 2 +- test/popcnt2.s | 2 +- test/rotate.s | 2 +- test/stack-frame.s | 3 +-- test/subroutine.s | 2 +- test/test-stack.s | 3 +-- 10 files changed, 12 insertions(+), 15 deletions(-) (limited to 'test') diff --git a/test/add-sub.s b/test/add-sub.s index 3dfdca4..d923cdc 100644 --- a/test/add-sub.s +++ b/test/add-sub.s @@ -6,7 +6,7 @@ .org 0 reset: cps ; Clear the processor status register. - ldx.w #$FFFF ; Reset the stack pointer. + ldx.d #$2FFFF ; Reset the stack pointer. txs ; and #0 ; Reset A. tab ; Reset B. @@ -15,11 +15,11 @@ up: inc ; Increment the counter. cmp #$FF ; Did the accumulator overflow? bcs down ; Yes, so start decrementing. - jmp up ; No, so keep incrementing. + bra up ; No, so keep incrementing. down: dec ; Did the accumulator underflow? beq up ; Yes, so start incrementing. - jmp down ; No, so keep decrementing. + bra down ; No, so keep decrementing. .org $FFC0 .qword reset diff --git a/test/getramsize.s b/test/getramsize.s index cd2c69b..3cf9e38 100644 --- a/test/getramsize.s +++ b/test/getramsize.s @@ -12,7 +12,7 @@ ptr1: .org $8000 reset: cps ; Boilerplate reset code. - ldx.w #$FFFF ; + ldx.d #$2FFFF ; txs ; and #0 ; Reset A. tax ; diff --git a/test/hello-world.s b/test/hello-world.s index f3b540a..cf2d2a8 100644 --- a/test/hello-world.s +++ b/test/hello-world.s @@ -19,7 +19,7 @@ buffer: .org $8000 reset: cps ; Reset the processor status. - ldx.w #$FFFF ; Set up the stack pointer. + ldx.d #$2FFFF ; Set up the stack pointer. txs ; Reset the stack pointer. ; Start of main program. @@ -65,4 +65,3 @@ spin: .qword spin a d - diff --git a/test/load-store.s b/test/load-store.s index 60a5a8f..abb7e74 100644 --- a/test/load-store.s +++ b/test/load-store.s @@ -2,7 +2,7 @@ reset: cps - ldx.w #$FFFF + ldx.d #$2FFFF txs @clear: and #0 diff --git a/test/popcnt.s b/test/popcnt.s index 7682653..cdb71c5 100644 --- a/test/popcnt.s +++ b/test/popcnt.s @@ -22,7 +22,7 @@ popcnt: reset: cps ; Boilerplate reset code. - ldx.w #$FFFF ; + ldx.d #$2FFFF ; txs ; and #0 ; Reset A. tab ; Reset B. diff --git a/test/popcnt2.s b/test/popcnt2.s index 503b074..5739fb7 100644 --- a/test/popcnt2.s +++ b/test/popcnt2.s @@ -19,7 +19,7 @@ popcnt: reset: cps ; Boilerplate reset code. - ldx.w #$FFFF ; + ldx.d #$2FFFF ; txs ; and #0 ; Reset A. tab ; Reset B. diff --git a/test/rotate.s b/test/rotate.s index 6115e94..90f16ba 100644 --- a/test/rotate.s +++ b/test/rotate.s @@ -9,7 +9,7 @@ tmp: .org $8000 reset: cps ; - ldx.w #$FFFF ; + ldx.d #$2FFFF ; txs ; and #0 ; tax ; diff --git a/test/stack-frame.s b/test/stack-frame.s index 0f631b9..fefb3d0 100644 --- a/test/stack-frame.s +++ b/test/stack-frame.s @@ -8,7 +8,7 @@ var: .org $8000 reset: cps ; - ldx.w #$FFFF ; + ldx.d #$2FFFF ; txs ; lda #0 ; tay ; @@ -35,4 +35,3 @@ a ;v ;q d - diff --git a/test/subroutine.s b/test/subroutine.s index b7d8d17..e06ac48 100644 --- a/test/subroutine.s +++ b/test/subroutine.s @@ -13,7 +13,7 @@ buf: .org $8000 reset: cps ; Reset the processor status register. - ldx.w #$FFFF ; Reset the stack pointer. + ldx.d #$2FFFF ; Reset the stack pointer. txs ; @bench: tay ; Reset Y. diff --git a/test/test-stack.s b/test/test-stack.s index a63f54a..c3160d3 100644 --- a/test/test-stack.s +++ b/test/test-stack.s @@ -1,6 +1,6 @@ init: cps - ldx.w #$FFFF + ldx.d #$2FFFF txs tax loop: @@ -22,4 +22,3 @@ loop: a done - -- cgit v1.2.3-13-gbd6f