-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy pathbytes.asm
More file actions
66 lines (57 loc) · 2.07 KB
/
bytes.asm
File metadata and controls
66 lines (57 loc) · 2.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
; ************************************************************************************************
; ************************************************************************************************
;
; Name: bytes.asm
; Purpose: Push/Pull single bytes on the stack
; Created: 5th October 2022
; Reviewed: 28th November 2022
; Author: Paul Robson ([email protected])
;
; ************************************************************************************************
; ************************************************************************************************
.section code
; ************************************************************************************************
;
; Push A on the BASIC stack
;
; ************************************************************************************************
StackPushByte:
pha ; save byte on stack
lda basicStack ; decrement basic stack pointer
bne _SPBNoBorrow
dec basicStack+1 ; borrow
lda basicStack+1 ; check range.
cmp #BasicStackBase >> 8
bcc _SPBMemory
_SPBNoBorrow:
dec basicStack
pla ; get back and write
sta (basicStack)
rts
_SPBMemory:
.error_stack
; ************************************************************************************************
;
; Pop A off the BASIC stack
;
; ************************************************************************************************
StackPopByte:
lda (basicStack) ; bump the stack pointer.
inc basicStack
bne _SPBNoCarry
inc basicStack+1
_SPBNoCarry:
rts
.send code
; ************************************************************************************************
;
; Changes and Updates
;
; ************************************************************************************************
;
; Date Notes
; ==== =====
; 28/11/22 Removed spurious PHA after dec basicStack+1. Not actually caused an error
; probably because never pushed the stack hard enough.
;
; ************************************************************************************************