Place the zero page variables into the ZEROPAGE segment

git-svn-id: svn://svn.cc65.org/cc65/trunk@322 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cuz
2000-09-07 21:49:13 +00:00
parent 5446245eb4
commit e0a619ff90
7 changed files with 148 additions and 103 deletions

View File

@@ -19,21 +19,29 @@
.exportzp tmp1, tmp2, tmp3, tmp4 .exportzp tmp1, tmp2, tmp3, tmp4
.exportzp regbank, zpspace .exportzp regbank, zpspace
; These zero page entries overlap with the sweet-16 registers. ; These zero page entries overlap with the sweet-16 registers in
; must be changed if sweet-16 is to be supported ; the standard apple2 linker config. They must be changed if sweet-16
sp = $00 ; stack pointer ; is to be supported
sreg = $02 ; secondary register/high 16 bit for longs
regsave = $04 ; slot to save/restore (E)AX into .zeropage
ptr1 = $08 ;
ptr2 = $0A zpstart = *
ptr3 = $0C sp: .res 2 ; Stack pointer
ptr4 = $0E sreg: .res 2 ; Secondary register/high 16 bit for longs
tmp1 = $10 regsave: .res 2 ; slot to save/restore (E)AX into
tmp2 = $11 ptr1: .res 2
tmp3 = $12 ptr2: .res 2
tmp4 = $13 ptr3: .res 2
regbank = $14 ; 6 byte register bank ptr4: .res 2
zpspace = $1A ; Zero page space allocated tmp1: .res 1
tmp2: .res 1
tmp3: .res 1
tmp4: .res 1
regbank: .res 6 ; 6 byte register bank
zpspace = * - zpstart ; Zero page space allocated
.code
; ------------------------------------------------------------------------ ; ------------------------------------------------------------------------
; Actual code ; Actual code

View File

@@ -26,20 +26,27 @@
.exportzp tmp1, tmp2, tmp3, tmp4 .exportzp tmp1, tmp2, tmp3, tmp4
.exportzp fntemp, regbank, zpspace .exportzp fntemp, regbank, zpspace
sp = $D2 ; (2bytes) stack pointer
sreg = $D4 ; (2bytes) secondary register/high 16 bit for longs .zeropage
regsave = $D6 ; (4bytes) slot to save/restore (E)AX into
ptr1 = $DA ; (2bytes) zpstart = *
ptr2 = $DC ; (2bytes) sp: .res 2 ; Stack pointer
ptr3 = $DE ; (2bytes) sreg: .res 2 ; Secondary register/high 16 bit for longs
ptr4 = $E0 ; (2bytes) regsave: .res 2 ; slot to save/restore (E)AX into
tmp1 = $E2 ; (1byte) ptr1: .res 2
tmp2 = $E3 ; (1byte) ptr2: .res 2
tmp3 = $E4 ; (1byte) ptr3: .res 2
tmp4 = $E5 ; (1byte) ptr4: .res 2
fntemp = $E6 ; (2bytes) pointer to file name tmp1: .res 1
regbank = $E8 ; (6bytes) 6 byte register bank tmp2: .res 1
zpspace = $EE - sp ; Zero page space allocated tmp3: .res 1
tmp4: .res 1
fntemp: .res 2 ; Pointer to file name
regbank: .res 6 ; 6 byte register bank
zpspace = * - zpstart ; Zero page space allocated
.code
; ------------------------------------------------------------------------ ; ------------------------------------------------------------------------
; EXE header ; EXE header

View File

@@ -19,19 +19,25 @@
.exportzp tmp1, tmp2, tmp3, tmp4 .exportzp tmp1, tmp2, tmp3, tmp4
.exportzp regbank, zpspace .exportzp regbank, zpspace
sp = $02 ; stack pointer .zeropage
sreg = $04 ; secondary register/high 16 bit for longs
regsave = $06 ; slot to save/restore (E)AX into zpstart = *
ptr1 = $0A ; sp: .res 2 ; Stack pointer
ptr2 = $0C sreg: .res 2 ; Secondary register/high 16 bit for longs
ptr3 = $0E regsave: .res 2 ; slot to save/restore (E)AX into
ptr4 = $10 ptr1: .res 2
tmp1 = $12 ptr2: .res 2
tmp2 = $13 ptr3: .res 2
tmp3 = $14 ptr4: .res 2
tmp4 = $15 tmp1: .res 1
regbank = $16 ; 6 byte register bank tmp2: .res 1
zpspace = $1A ; Zero page space allocated tmp3: .res 1
tmp4: .res 1
regbank: .res 6 ; 6 byte register bank
zpspace = * - zpstart ; Zero page space allocated
.code
; ------------------------------------------------------------------------ ; ------------------------------------------------------------------------
; BASIC header with a SYS call ; BASIC header with a SYS call

View File

@@ -19,19 +19,25 @@
.exportzp tmp1, tmp2, tmp3, tmp4 .exportzp tmp1, tmp2, tmp3, tmp4
.exportzp regbank, zpspace .exportzp regbank, zpspace
sp = $02 ; stack pointer .zeropage
sreg = $04 ; secondary register/high 16 bit for longs
regsave = $06 ; slot to save/restore (E)AX into zpstart = *
ptr1 = $0A ; sp: .res 2 ; Stack pointer
ptr2 = $0C sreg: .res 2 ; Secondary register/high 16 bit for longs
ptr3 = $0E regsave: .res 2 ; slot to save/restore (E)AX into
ptr4 = $10 ptr1: .res 2
tmp1 = $12 ptr2: .res 2
tmp2 = $13 ptr3: .res 2
tmp3 = $14 ptr4: .res 2
tmp4 = $15 tmp1: .res 1
regbank = $16 ; 6 byte register bank tmp2: .res 1
zpspace = $1A ; Zero page space allocated tmp3: .res 1
tmp4: .res 1
regbank: .res 6 ; 6 byte register bank
zpspace = * - zpstart ; Zero page space allocated
.code
; ------------------------------------------------------------------------ ; ------------------------------------------------------------------------
; BASIC header with a SYS call ; BASIC header with a SYS call

View File

@@ -25,19 +25,25 @@
.exportzp crtc, sid, IPCcia, cia, acia, tpi1, tpi2 .exportzp crtc, sid, IPCcia, cia, acia, tpi1, tpi2
.exportzp ktab1, ktab2, ktab3, ktab4, time, RecvBuf, SendBuf .exportzp ktab1, ktab2, ktab3, ktab4, time, RecvBuf, SendBuf
sp = $02 ; stack pointer .zeropage
sreg = $04 ; secondary register/high 16 bit for longs
regsave = $06 ; slot to save/restore (E)AX into zpstart = *
ptr1 = $0A ; sp: .res 2 ; Stack pointer
ptr2 = $0C sreg: .res 2 ; Secondary register/high 16 bit for longs
ptr3 = $0E regsave: .res 2 ; slot to save/restore (E)AX into
ptr4 = $10 ptr1: .res 2
tmp1 = $12 ptr2: .res 2
tmp2 = $13 ptr3: .res 2
tmp3 = $14 ptr4: .res 2
tmp4 = $15 tmp1: .res 1
regbank = $16 ; 6 byte register bank tmp2: .res 1
zpspace = $1A ; Zero page space allocated tmp3: .res 1
tmp4: .res 1
regbank: .res 6 ; 6 byte register bank
zpspace = * - zpstart ; Zero page space allocated
.code
; ------------------------------------------------------------------------ ; ------------------------------------------------------------------------
; BASIC header and a small BASIC program. Since it is not possible to start ; BASIC header and a small BASIC program. Since it is not possible to start

View File

@@ -19,19 +19,25 @@
.exportzp tmp1, tmp2, tmp3, tmp4 .exportzp tmp1, tmp2, tmp3, tmp4
.exportzp regbank, zpspace .exportzp regbank, zpspace
sp = $02 ; stack pointer .zeropage
sreg = $04 ; secondary register/high 16 bit for longs
regsave = $06 ; slot to save/restore (E)AX into zpstart = *
ptr1 = $0A ; sp: .res 2 ; Stack pointer
ptr2 = $0C sreg: .res 2 ; Secondary register/high 16 bit for longs
ptr3 = $0E regsave: .res 2 ; slot to save/restore (E)AX into
ptr4 = $10 ptr1: .res 2
tmp1 = $12 ptr2: .res 2
tmp2 = $13 ptr3: .res 2
tmp3 = $14 ptr4: .res 2
tmp4 = $15 tmp1: .res 1
regbank = $16 ; 6 byte register bank tmp2: .res 1
zpspace = $1A ; Zero page space allocated tmp3: .res 1
tmp4: .res 1
regbank: .res 6 ; 6 byte register bank
zpspace = * - zpstart ; Zero page space allocated
.code
; ------------------------------------------------------------------------ ; ------------------------------------------------------------------------
; BASIC header with a SYS call ; BASIC header with a SYS call

View File

@@ -19,19 +19,25 @@
.exportzp tmp1, tmp2, tmp3, tmp4 .exportzp tmp1, tmp2, tmp3, tmp4
.exportzp regbank, zpspace .exportzp regbank, zpspace
sp = $02 ; stack pointer .zeropage
sreg = $04 ; secondary register/high 16 bit for longs
regsave = $06 ; slot to save/restore (E)AX into zpstart = *
ptr1 = $0A ; sp: .res 2 ; Stack pointer
ptr2 = $0C sreg: .res 2 ; Secondary register/high 16 bit for longs
ptr3 = $0E regsave: .res 2 ; slot to save/restore (E)AX into
ptr4 = $10 ptr1: .res 2
tmp1 = $12 ptr2: .res 2
tmp2 = $13 ptr3: .res 2
tmp3 = $14 ptr4: .res 2
tmp4 = $15 tmp1: .res 1
regbank = $16 ; 6 byte register bank tmp2: .res 1
zpspace = $1A ; Zero page space allocated tmp3: .res 1
tmp4: .res 1
regbank: .res 6 ; 6 byte register bank
zpspace = * - zpstart ; Zero page space allocated
.code
; ------------------------------------------------------------------------ ; ------------------------------------------------------------------------
; BASIC header with a SYS call ; BASIC header with a SYS call