convert most of ZP of non CONFIG_SMALL into .res format

This commit is contained in:
Michael Steil 2008-10-12 04:31:52 +00:00
parent 018d320ba2
commit 091f190852
4 changed files with 333 additions and 277 deletions

View File

@ -23,65 +23,64 @@ LINNUM := $0053
TXPSV := $0053
INPUTBUFFER := $0200
INPUTBUFFERX := $0200
TEMPPT := $0063-14
LASTPT := $0064-14
INDEX := $0061
DEST := $0071-14
RESULT := $0073-14
RESULT_LAST := $0077-14
TXTTAB := $0078-14
VARTAB := $007A-14
ARYTAB := $007C-14
STREND := $007E-14
FRETOP := $0080-14
FRESPC := $0082-14
MEMSIZ := $0084-14
CURLIN := $0086-14
OLDLIN := $0088-14
OLDTEXT := $008A-14
Z8C := $008C-14
DATPTR := $008E-14
INPTR := $0090-14
VARNAM := $0092-14
VARPNT := $0094-14
FORPNT := $0096-14
LASTOP := $0098-14
CPRTYP := $009A-14
FNCNAM := $009B-14
TEMP3 := $009B-14 ; same
DSCPTR := $009D-14
DSCLEN := $00A0-14
JMPADRS := $00A1-14
Z52 := $00A2-14
LENGTH := $00A2-14
ARGEXTENSION := $00A3-14 ; overlap with JMPADRS! (same on c64)
TEMP1 := $00A4-14
HIGHDS := $00A5-14
HIGHTR := $00A7-14
TEMP2 := $00A9-14
INDX := $00AA-14
TMPEXP := $00AA-14 ; same
EXPON := $00AB-14
LOWTR := $00AC-14 ; $9D also EXPSGN
LOWTRX := $00AC-14 ; $9D also EXPSGN
EXPSGN := $00AD-14
FAC := $00AE-14
FAC_LAST := $00B2-14
FACSIGN := $00B3-14
SERLEN := $00B4-14
SHIFTSIGNEXT := $00B5-14
ARG := $00B6-14
ARG_LAST := $00BA-14
ARGSIGN := $00BB-14
STRNG1 := $00BC-14 ; TODO: also SGNCPR
FACEXTENSION := $00BD-14
STRNG2 := $00BE-14
CHRGET := $00C0-14
CHRGOT := $00C6-14
TXTPTR := $00C7-14
RNDSEED := $00D8-14
;TEMPPT := $0063-14
;LASTPT := $0064-14
;TEMPST := $58
;INDEX := $0061
;DEST := $0071-14
;RESULT := $0073-14
;RESULT_LAST := $0077-14
;TXTTAB := $0078-14
;VARTAB := $007A-14
;ARYTAB := $007C-14
;STREND := $007E-14
;FRETOP := $0080-14
;FRESPC := $0082-14
;MEMSIZ := $0084-14
;CURLIN := $0086-14
;OLDLIN := $0088-14
;OLDTEXT := $008A-14
;Z8C := $008C-14
;DATPTR := $008E-14
;INPTR := $0090-14
;VARNAM := $0092-14
;VARPNT := $0094-14
;FORPNT := $0096-14
;LASTOP := $0098-14
;CPRTYP := $009A-14
;FNCNAM := $009B-14
;TEMP3 := $009B-14 ; same
;DSCPTR := $009D-14
;DSCLEN := $00A0-14
;JMPADRS := $00A1-14
;Z52 := $00A2-14
;LENGTH := $00A2-14
;ARGEXTENSION := $00A3-14 ; overlap with JMPADRS! (same on c64)
;TEMP1 := $00A4-14
;HIGHDS := $00A5-14
;HIGHTR := $00A7-14
;TEMP2 := $00A9-14
;INDX := $00AA-14
;TMPEXP := $00AA-14 ; same
;EXPON := $00AB-14
;LOWTR := $00AC-14 ; $9D also EXPSGN
;LOWTRX := $00AC-14 ; $9D also EXPSGN
;EXPSGN := $00AD-14
;FAC := $00AE-14
;FAC_LAST := $00B2-14
;FACSIGN := $00B3-14
;SERLEN := $00B4-14
;SHIFTSIGNEXT := $00B5-14
;ARG := $00B6-14
;ARG_LAST := $00BA-14
;ARGSIGN := $00BB-14
;STRNG1 := $00BC-14 ; TODO: also SGNCPR
;FACEXTENSION := $00BD-14
;STRNG2 := $00BE-14
;CHRGET := $00C0-14
;CHRGOT := $00C6-14
;TXTPTR := $00C7-14
;RNDSEED := $00D8-14
L1800 := $1800
L1873 := $1873
@ -91,7 +90,6 @@ MONCOUT := $FDED
STACK_TOP := $F8
BYTES_PER_FRAME := $12
SPACE_FOR_GOSUB := $36
TEMPST := $58
FOR_STACK1 := $0F
FOR_STACK2 := $09
NUM_TOKENS := $1C

View File

@ -1,15 +1,15 @@
.ifdef CBM1
;USR := $0000
;Z00 := $0000
USR := $0000
Z00 := $0000
INPUTBUFFERX := $0000
;L0001 := $0001
;L0002 := $0002
;GOWARM := $0003
L0001 := $0001
L0002 := $0002
GOWARM := $0003
Z03 := $0003 ; same
GOSTROUT := $0006
GOGIVEAYF := $0008
;Z15 := $0004
Z15 := $0004
Z16 := $0005
Z17 := $0006
Z18 := $0007
@ -17,8 +17,8 @@ LINNUM := $0008
TXPSV := $0008
INPUTBUFFER := $000A
;CHARAC := $005A
;ENDCHR := $005B
CHARAC := $005A
ENDCHR := $005B
EOLPNTR := $005C
DIMFLG := $005D
VALTYP := $005E
@ -27,67 +27,94 @@ SUBFLG := $0061
INPUTFLG := $0062
CPRMASK := $0063
Z14 := $0064 ; Ctrl+O flag
TEMPPT := $0065
LASTPT := $0066
TEMPST := $0068
INDEX := $0071
DEST := $0073
RESULT := $0075
RESULT_LAST := $0079
TXTTAB := $007A
VARTAB := $007C
ARYTAB := $007E
STREND := $0080
FRETOP := $0082
FRESPC := $0084
MEMSIZ := $0086
CURLIN := $0088
OLDLIN := $008A
OLDTEXT := $008C
Z8C := $008E
DATPTR := $0090
INPTR := $0092
VARNAM := $0094
VARPNT := $0096
FORPNT := $0098
LASTOP := $009A
CPRTYP := $009C
FNCNAM := $009D
TEMP3 := $009D; ; same
DSCPTR := $009F
DSCLEN := $00A2
JMPADRS := $00A3
Z52 := $00A4;
LENGTH := $00A4
ARGEXTENSION := $00A5 ; overlap with JMPADRS! (same on c64)
TEMP1 := $00A6
HIGHDS := $00A7
HIGHTR := $00A9
TEMP2 := $00AB
INDX := $00AC
TMPEXP := $00AC ; same
EXPON := $00AD
LOWTR := $00AE ; $9D also EXPSGN
LOWTRX := $00AE ; $9D also EXPSGN
EXPSGN := $00AF
FAC := $00B0
FAC_LAST := $00B4
FACSIGN := $00B5
SERLEN := $00B6
SHIFTSIGNEXT := $00B7
ARG := $00B8
ARG_LAST := $00BC
ARGSIGN := $00BD
STRNG1 := $00BE ; TODO: also SGNCPR
FACEXTENSION := $00BF
STRNG2 := $00C0
CHRGET := $00C2
CHRGOT := $00C8
TXTPTR := $00C9
L00CF := $00CF
RNDSEED := $00DA
;TEMPPT := $0065
;LASTPT := $0066
;TEMPST := $0068
;INDEX := $0071
;DEST := $0073
;RESULT := $0075
;RESULT_LAST := $0079
;TXTTAB := $007A
;VARTAB := $007C
;ARYTAB := $007E
;STREND := $0080
;FRETOP := $0082
;FRESPC := $0084
;MEMSIZ := $0086
;CURLIN := $0088
;OLDLIN := $008A
;OLDTEXT := $008C
;Z8C := $008E
;DATPTR := $0090
;INPTR := $0092
;VARNAM := $0094
;VARPNT := $0096
;FORPNT := $0098
;LASTOP := $009A
;CPRTYP := $009C
;FNCNAM := $009D
;TEMP3 := $009D; ; same
;DSCPTR := $009F
;DSCLEN := $00A2
;JMPADRS := $00A3
;Z52 := $00A4;
;LENGTH := $00A4
;ARGEXTENSION := $00A5 ; overlap with JMPADRS! (same on c64)
;TEMP1 := $00A6
;HIGHDS := $00A7
;HIGHTR := $00A9
;TEMP2 := $00AB
;INDX := $00AC
;TMPEXP := $00AC ; same
;EXPON := $00AD
;LOWTR := $00AE ; $9D also EXPSGN
;LOWTRX := $00AE ; $9D also EXPSGN
;EXPSGN := $00AF
;FAC := $00B0
;FAC_LAST := $00B4
;FACSIGN := $00B5
;SERLEN := $00B6
;SHIFTSIGNEXT := $00B7
;ARG := $00B8
;ARG_LAST := $00BC
;ARGSIGN := $00BD
;STRNG1 := $00BE ; TODO: also SGNCPR
;FACEXTENSION := $00BF
;STRNG2 := $00C0
;CHRGET := $00C2
;CHRGOT := $00C8
;TXTPTR := $00C9
;L00CF := $00CF
;RNDSEED := $00DA
Z96 := $020C
.else
USR := $0000
Z00 := $0000
L0001 := $0001
L0002 := $0002
GOWARM := $0003
Z15 := $0004
CHARAC := $005A-82-5
ENDCHR := $005B-82-5
EOLPNTR := $005C-82-5
DIMFLG := $005D-82-5
VALTYP := $005E-82-5
DATAFLG := $0060-82-5
SUBFLG := $0061-82-5
INPUTFLG := $0062-82-5
CPRMASK := $0063-82-5
Z14 := $0064-82-5 ; Ctrl+O flag
Z17 := $0006
GOSTROUT := $0006
Z18 := $0007
GOGIVEAYF := $0008
Z03 := $000E;3 ; same
LINNUM := $0011;0008
Z96 := $00E8-82
Z16 := $0118-82
TXPSV = LASTOP
INPUTBUFFER := $0200;00A
INPUTBUFFERX := $0200
.endif

View File

@ -23,65 +23,65 @@ LINNUM := $0019
TXPSV := $0019
INPUTBUFFER := $001B
INPUTBUFFERX := $0000
TEMPPT := $0063
LASTPT := $0064
INDEX := $006F
DEST := $0071
RESULT := $0073
RESULT_LAST := $0077
TXTTAB := $0078
VARTAB := $007A
ARYTAB := $007C
STREND := $007E
FRETOP := $0080
FRESPC := $0082
MEMSIZ := $0084
CURLIN := $0086
OLDLIN := $0088
OLDTEXT := $008A
Z8C := $008C
DATPTR := $008E
INPTR := $0090
VARNAM := $0092
VARPNT := $0094
FORPNT := $0096
LASTOP := $0098
CPRTYP := $009A
FNCNAM := $009B
TEMP3 := $009B ; same
DSCPTR := $009D
;TEMPPT := $0063
;LASTPT := $0064
;TEMPST := $66
;INDEX := $006F
;DEST := $0071
;RESULT := $0073
;RESULT_LAST := $0077
;TXTTAB := $0078
;VARTAB := $007A
;ARYTAB := $007C
;STREND := $007E
;FRETOP := $0080
;FRESPC := $0082
;MEMSIZ := $0084
;CURLIN := $0086
;OLDLIN := $0088
;OLDTEXT := $008A
;Z8C := $008C
;DATPTR := $008E
;INPTR := $0090
;VARNAM := $0092
;VARPNT := $0094
;FORPNT := $0096
;LASTOP := $0098
;CPRTYP := $009A
;FNCNAM := $009B
;TEMP3 := $009B ; same
;DSCPTR := $009D
DSCLEN := $00A0
JMPADRS := $00A1
Z52 := $00A2
LENGTH := $00A2
ARGEXTENSION := $00A3 ; overlap with JMPADRS! (same on c64)
TEMP1 := $00A4
HIGHDS := $00A5
HIGHTR := $00A7
TEMP2 := $00A9
INDX := $00AA
TMPEXP := $00AA ; same
EXPON := $00AB
LOWTR := $00AC ; $9D also EXPSGN
LOWTRX := $00AC ; $9D also EXPSGN
EXPSGN := $00AD
FAC := $00AE
FAC_LAST := $00B2
FACSIGN := $00B3
SERLEN := $00B4
SHIFTSIGNEXT := $00B5
ARG := $00B6
ARG_LAST := $00BA
ARGSIGN := $00BB
STRNG1 := $00BC ; TODO: also SGNCPR
FACEXTENSION := $00BD
STRNG2 := $00BE
CHRGET := $00C0
CHRGOT := $00C6
TXTPTR := $00C7
RNDSEED := $00D8
;DSCLEN := $00A0
;JMPADRS := $00A1
;Z52 := $00A2
;LENGTH := $00A2
;ARGEXTENSION := $00A3 ; overlap with JMPADRS! (same on c64)
;TEMP1 := $00A4
;HIGHDS := $00A5
;HIGHTR := $00A7
;TEMP2 := $00A9
;INDX := $00AA
;TMPEXP := $00AA ; same
;EXPON := $00AB
;LOWTR := $00AC ; $9D also EXPSGN
;LOWTRX := $00AC ; $9D also EXPSGN
;EXPSGN := $00AD
;FAC := $00AE
;FAC_LAST := $00B2
;FACSIGN := $00B3
;SERLEN := $00B4
;SHIFTSIGNEXT := $00B5
;ARG := $00B6
;ARG_LAST := $00BA
;ARGSIGN := $00BB
;STRNG1 := $00BC ; TODO: also SGNCPR
;FACEXTENSION := $00BD
;STRNG2 := $00BE
;CHRGET := $00C0
;CHRGOT := $00C6
;TXTPTR := $00C7
;RNDSEED := $00D8
L1800 := $1800
L1873 := $1873
@ -91,7 +91,6 @@ MONCOUT := $1EA0
STACK_TOP := $FC
BYTES_PER_FRAME := $12
SPACE_FOR_GOSUB := $36
TEMPST := $66
FOR_STACK1 := $0F
FOR_STACK2 := $09
NUM_TOKENS := $1D

214
msbasic.s
View File

@ -81,101 +81,133 @@ CONFIG_SAFE_NAMENOTFOUND := 1
.include "macros.s"
.zeropage
.ifdef CONFIG_CBM_ALL
USR: .res 1
Z00 = USR
L0001: .res 1
L0002: .res 1
GOWARM: .res 1
Z15: .res 1
.ifndef CONFIG_SMALL
.ifdef CBM1
CHARAC = $5A
ENDCHR = $5B
.else
CHARAC = GOWARM
ENDCHR = Z15
.endif
.res $65
.endif
.ifdef CBM2
EOLPNTR: .res 1
Z17: .res 1
GOSTROUT = Z17
DIMFLG = Z17
Z18: .res 1
VALTYP = Z18
GOGIVEAYF: .res 1
DATAFLG: .res 1
SUBFLG: .res 1
INPUTFLG: .res 1
CPRMASK: .res 1
Z14: .res 1
Z03: .res 3
LINNUM: .res 2
TEMPPT: .res 1; := $0065-82
LASTPT: .res 2; := $0066-82
TEMPST: .res 9; := $0068-82
INDEX: .res 2; := $0071-82
DEST: .res 2; := $0073-82
RESULT: .res 4; := $0075-82
RESULT_LAST:.res 1; := $0079-82
TXTTAB: .res 2; := $007A-82
VARTAB: .res 2; := $007C-82
ARYTAB: .res 2; := $007E-82
STREND: .res 2; := $0080-82
FRETOP: .res 2; := $0082-82
FRESPC: .res 2; := $0084-82
MEMSIZ: .res 2; := $0086-82
CURLIN: .res 2; := $0088-82
OLDLIN: .res 2; := $008A-82
OLDTEXT: .res 2; := $008C-82
Z8C: .res 2; := $008E-82
DATPTR: .res 2; := $0090-82
INPTR: .res 2; := $0092-82
VARNAM: .res 2; := $0094-82
VARPNT: .res 2; := $0096-82
FORPNT: .res 2; := $0098-82
LASTOP: .res 2; := $009A-82
TXPSV = LASTOP
CPRTYP: .res 1; := $009C-82
FNCNAM: .res 2; := $009D-82
TEMP3 = FNCNAM
DSCPTR: .res 3; := $009F-82
DSCLEN: .res 1; := $00A2-82
JMPADRS: .res 1; := $00A3-82
Z52: .res 1; := $00A4-82;
LENGTH = Z52
ARGEXTENSION:.res 1; := $00A5-82 ; overlap with JMPADRS! (same on c64)
TEMP1: .res 1; := $00A6-82
HIGHDS: .res 2; := $00A7-82
HIGHTR: .res 2; := $00A9-82
TEMP2: .res 1; := $00AB-82
INDX: .res 1; := $00AC-82
TMPEXP = INDX
EXPON: .res 1; := $00AD-82
LOWTR: .res 1; := $00AE-82 ; $9D also EXPSGN
LOWTRX = LOWTR
EXPSGN: .res 1; := $00AF-82
FAC: .res 4; := $00B0-82
FAC_LAST: .res 1; := $00B4-82
FACSIGN: .res 1; := $00B5-82
SERLEN: .res 1; := $00B6-82
SHIFTSIGNEXT:.res 1; := $00B7-82
ARG: .res 4; := $00B8-82
ARG_LAST: .res 1; := $00BC-82
ARGSIGN: .res 1; := $00BD-82
STRNG1: .res 1; := $00BE-82 ; TODO: also SGNCPR
FACEXTENSION:.res 1; := $00BF-82
STRNG2: .res 2; := $00C0-82
CHRGET: .res 6; := $00C2-82
CHRGOT: .res 1; := $00C8-82
TXTPTR: .res 6; := $00C9-82
L00CF: .res 11; := $00CF-82
RNDSEED: .res 14; := $00DA-82
Z96: .res 48; := $00E8-82
Z16: .res 1; := $0118-82
.res $13
.endif
.ifdef KIM
.res $63
.endif
.ifdef APPLE
.res $55
.endif
TEMPPT:
.res 1
LASTPT:
.res 2
TEMPST:
.res 9
INDEX:
.res 2
DEST:
.res 2
RESULT:
.res 4
RESULT_LAST:
.res 1
TXTTAB:
.res 2
VARTAB:
.res 2
ARYTAB:
.res 2
STREND:
.res 2
FRETOP:
.res 2
FRESPC:
.res 2
MEMSIZ:
.res 2
CURLIN:
.res 2
OLDLIN:
.res 2
OLDTEXT:
.res 2
Z8C:
.res 2
DATPTR:
.res 2
INPTR:
.res 2
VARNAM:
.res 2
VARPNT:
.res 2
FORPNT:
.res 2
LASTOP:
.res 2
CPRTYP:
.res 1
FNCNAM:
TEMP3:
.res 2
DSCPTR:
.res 3
DSCLEN:
.res 1
JMPADRS:
.res 1
LENGTH:
Z52:
.res 1
ARGEXTENSION:
.res 1
TEMP1:
.res 1
HIGHDS:
.res 2
HIGHTR:
.res 2
TEMP2:
.res 1
INDX:
TMPEXP:
.res 1
EXPON:
.res 1
LOWTR:
LOWTRX:
.res 1
EXPSGN:
.res 1
FAC:
.res 4
FAC_LAST:
.res 1
FACSIGN:
.res 1
SERLEN:
.res 1
SHIFTSIGNEXT:
.res 1
ARG:
.res 4
ARG_LAST:
.res 1
ARGSIGN:
.res 1
STRNG1:
.res 1
FACEXTENSION:
.res 1
STRNG2:
.res 2
CHRGET:
.res 6
CHRGOT:
.res 1
TXTPTR:
.res 6
L00CF:
.res 11
RNDSEED:
.endif
.setcpu "6502"