msbasic/defines_cbm.s

258 lines
5.8 KiB
ArmAsm
Raw Normal View History

2008-10-07 05:51:08 +00:00
.ifdef CBM1
2008-10-07 10:36:34 +00:00
USR := $0000
2008-10-07 04:44:27 +00:00
Z00 := $0000
L0001 := $0001
L0002 := $0002
GOWARM := $0003
Z03 := $0003 ; same
GOSTROUT := $0006
GOGIVEAYF := $0008
2008-10-07 05:51:08 +00:00
CHARAC := $005A
ENDCHR := $005B
2008-10-07 04:44:27 +00:00
EOLPNTR := $005C
2008-10-07 05:51:08 +00:00
DIMFLG := $005D
VALTYP := $005E
DATAFLG := $0060
SUBFLG := $0061
INPUTFLG := $0062
CPRMASK := $0063
2008-10-07 04:44:27 +00:00
Z14 := $0064 ; Ctrl+O flag
2008-10-07 05:51:08 +00:00
Z15 := $0004
Z16 := $0005
2008-10-07 04:44:27 +00:00
Z17 := $0006
Z18 := $0007
2008-10-07 05:51:08 +00:00
LINNUM := $0008
TXPSV := $0008
2008-10-07 04:44:27 +00:00
INPUTBUFFER := $000A
2008-10-09 07:32:26 +00:00
INPUTBUFFERX := $0000
2008-10-07 05:51:08 +00:00
TEMPPT := $0065
LASTPT := $0066
2008-10-07 08:03:36 +00:00
TEMPST := $0068
2008-10-07 05:51:08 +00:00
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
2008-10-07 04:44:27 +00:00
TEMP3 := $009D; ; same
2008-10-07 05:51:08 +00:00
DSCPTR := $009F
DSCLEN := $00A2
JMPADRS := $00A3
2008-10-08 11:42:15 +00:00
Z52 := $00A4;
2008-10-08 05:07:59 +00:00
LENGTH := $00A4
2008-10-07 05:51:08 +00:00
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
2008-10-08 11:42:15 +00:00
LOWTRX := $00AE ; $9D also EXPSGN
2008-10-07 05:51:08 +00:00
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
2008-10-09 10:10:09 +00:00
Z96 := $020C
2008-10-07 05:51:08 +00:00
.else
2008-10-11 23:57:13 +00:00
;USR := $0000
;Z00 := $0000
;L0001 := $0001
;L0002 := $0002
;GOWARM := $0003
;Z15 := $0004
;Z17 := $0006
;GOSTROUT := $0006
;Z18 := $0007
;GOGIVEAYF := $0008
;Z03 := $000E;3 ; same
;LINNUM := $0011;0008
2008-10-07 08:03:36 +00:00
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
2008-10-11 23:57:13 +00:00
;TEMPPT := $0065-82
;LASTPT := $0066-82
;TEMPST := $0068-82
;INDEX := $0071-82
;DEST := $0073-82
;RESULT := $0075-82
;RESULT_LAST := $0079-82
;TXTTAB := $007A-82
;VARTAB := $007C-82
;ARYTAB := $007E-82
;STREND := $0080-82
;FRETOP := $0082-82
;FRESPC := $0084-82
;MEMSIZ := $0086-82
;CURLIN := $0088-82
;OLDLIN := $008A-82
;OLDTEXT := $008C-82
;Z8C := $008E-82
;DATPTR := $0090-82
;INPTR := $0092-82
;VARNAM := $0094-82
;VARPNT := $0096-82
;FORPNT := $0098-82
;LASTOP := $009A-82
;TXPSV := $009A-82
;CPRTYP := $009C-82
;FNCNAM := $009D-82
;TEMP3 := $009D-82 ; same
;DSCPTR := $009F-82
;DSCLEN := $00A2-82
;JMPADRS := $00A3-82
;Z52 := $00A4-82;
;LENGTH := $00A4-82
;ARGEXTENSION := $00A5-82 ; overlap with JMPADRS! (same on c64)
;TEMP1 := $00A6-82
;HIGHDS := $00A7-82
;HIGHTR := $00A9-82
;TEMP2 := $00AB-82
;INDX := $00AC-82
;TMPEXP := $00AC-82 ; same
;EXPON := $00AD-82
;LOWTR := $00AE-82 ; $9D also EXPSGN
;LOWTRX := $00AE-82 ; $9D also EXPSGN
;EXPSGN := $00AF-82
;FAC := $00B0-82
;FAC_LAST := $00B4-82
;FACSIGN := $00B5-82
;SERLEN := $00B6-82
;SHIFTSIGNEXT := $00B7-82
;ARG := $00B8-82
;ARG_LAST := $00BC-82
;ARGSIGN := $00BD-82
;STRNG1 := $00BE-82 ; TODO: also SGNCPR
;FACEXTENSION := $00BF-82
;STRNG2 := $00C0-82
;CHRGET := $00C2-82
;CHRGOT := $00C8-82
;TXTPTR := $00C9-82
;L00CF := $00CF-82
;RNDSEED := $00DA-82
;Z96 := $00E8-82
;Z16 := $0118-82
INPUTBUFFER := $0200;00A
INPUTBUFFERX := $0200
2008-10-07 05:51:08 +00:00
.endif
2008-10-07 04:44:27 +00:00
BYTES_PER_FRAME := $12
.ifdef CBM1
2008-10-07 04:44:27 +00:00
SPACE_FOR_GOSUB := $36
2008-10-09 08:23:42 +00:00
STACK_TOP := $FC
.else
SPACE_FOR_GOSUB := $3E
2008-10-09 08:23:42 +00:00
STACK_TOP := $FA
.endif
2008-10-07 04:44:27 +00:00
FOR_STACK1 := $0F
FOR_STACK2 := $09
2008-10-07 05:51:08 +00:00
NUM_TOKENS := $23
NULL_MAX := $0A
2008-10-07 04:44:27 +00:00
BYTES_PER_ELEMENT := 5
BYTES_PER_VARIABLE := 7
BYTES_FP := 5
MANTISSA_BYTES := BYTES_FP-1
2008-10-09 10:35:37 +00:00
.ifdef CBM1
MAX_EXPON = 12
.else
MAX_EXPON = 10
.endif
2008-10-07 04:44:27 +00:00
RAMSTART2 := $0400
RAMSTART3 := $0400
2008-10-07 05:51:08 +00:00
TOKEN_GOTO := $89
TOKEN_GOSUB := $8D
2008-10-09 08:23:42 +00:00
TOKEN_REM := $8F
TOKEN_PRINT := $99
2008-10-07 05:51:08 +00:00
TOKEN_TAB := $A3
TOKEN_TO := $A4
TOKEN_FN := $A5
TOKEN_SPC := $A6
TOKEN_THEN := $A7
TOKEN_NOT := $A8
TOKEN_STEP := $A9
TOKEN_PLUS := $AA
TOKEN_MINUS := $AB
TOKEN_GREATER := $B1
TOKEN_EQUAL := $B2
TOKEN_SGN := $B4
TOKEN_LEFTSTR := $C8
2008-10-07 04:44:27 +00:00
OPEN := $FFC0
CLOSE := $FFC3
CHKIN := $FFC6
CHKOUT := $FFC9
CLRCH := $FFCC
CHRIN := $FFCF
CHROUT := $FFD2
LOAD := $FFD5
SAVE := $FFD8
VERIFY := $FFDB
SYS := $FFDE
ISCNTC := $FFE1
GETIN := $FFE4
CLALL := $FFE7
LE7F3 := $E7F3
MONCOUT := CHROUT
MONRDKEY := GETIN
2008-10-07 08:03:36 +00:00
.ifdef CBM1
ENTROPY = $9044
.else
ENTROPY = $E844
.endif
2008-10-07 08:03:36 +00:00