mirror of
https://github.com/A2osX/A2osX.git
synced 2024-06-30 18:29:32 +00:00
Kernel 0.94
This commit is contained in:
parent
e7c10fcc24
commit
111c24d7bc
Binary file not shown.
|
@ -10,6 +10,7 @@ CSH.LookupOpt .BS 1
|
||||||
|
|
||||||
CSH.hDefines .BS 1
|
CSH.hDefines .BS 1
|
||||||
CSH.hSymbols .BS 1
|
CSH.hSymbols .BS 1
|
||||||
|
CSH.hTags .BS 1
|
||||||
|
|
||||||
CSH.hConst .BS 1
|
CSH.hConst .BS 1
|
||||||
CSH.ConstPtr .BS 2
|
CSH.ConstPtr .BS 2
|
||||||
|
|
|
@ -90,6 +90,9 @@ CSH.KW >PSTR "if"
|
||||||
>PSTR "case"
|
>PSTR "case"
|
||||||
>PSTR "break"
|
>PSTR "break"
|
||||||
>PSTR "continue"
|
>PSTR "continue"
|
||||||
|
>PSTR "typedef"
|
||||||
|
>PSTR "struct"
|
||||||
|
>PSTR "sizeof"
|
||||||
>PSTR "void"
|
>PSTR "void"
|
||||||
>PSTR "float"
|
>PSTR "float"
|
||||||
>PSTR "signed" char,int,long
|
>PSTR "signed" char,int,long
|
||||||
|
|
|
@ -59,6 +59,9 @@ J.CSH.KW .DA CSH.IF
|
||||||
.DA CSH.CASE
|
.DA CSH.CASE
|
||||||
.DA CSH.BREAK
|
.DA CSH.BREAK
|
||||||
.DA CSH.CONTINUE
|
.DA CSH.CONTINUE
|
||||||
|
.DA CSH.TYPEDEF
|
||||||
|
.DA CSH.STRUCT
|
||||||
|
.DA CSH.SIZEOF
|
||||||
.DA CSH.VOID
|
.DA CSH.VOID
|
||||||
.DA CSH.FLOAT
|
.DA CSH.FLOAT
|
||||||
.DA CSH.SIGNED
|
.DA CSH.SIGNED
|
||||||
|
|
|
@ -5,12 +5,17 @@ NEW
|
||||||
CSH.Init >SYSCALL SListNew
|
CSH.Init >SYSCALL SListNew
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>STA.G CSH.hSymbols
|
>STA.G CSH.hDefines
|
||||||
|
|
||||||
>SYSCALL SListNew
|
>SYSCALL SListNew
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>STA.G CSH.hDefines
|
>STA.G CSH.hTags
|
||||||
|
|
||||||
|
>SYSCALL SListNew
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
>STA.G CSH.hSymbols
|
||||||
|
|
||||||
>LDYAI 256
|
>LDYAI 256
|
||||||
>SYSCALL GetMem
|
>SYSCALL GetMem
|
||||||
|
@ -53,13 +58,19 @@ CSH.Quit >LDA.G CSH.hSymbols
|
||||||
>PUSHA
|
>PUSHA
|
||||||
>SYSCALL SListFree
|
>SYSCALL SListFree
|
||||||
|
|
||||||
.1 >LDA.G CSH.hDefines
|
.1 >LDA.G CSH.hTags
|
||||||
beq .2
|
beq .2
|
||||||
|
|
||||||
>PUSHA
|
>PUSHA
|
||||||
>SYSCALL SListFree
|
>SYSCALL SListFree
|
||||||
|
|
||||||
.2 lda ZPhMacro
|
.2 >LDA.G CSH.hDefines
|
||||||
|
beq .3
|
||||||
|
|
||||||
|
>PUSHA
|
||||||
|
>SYSCALL SListFree
|
||||||
|
|
||||||
|
.3 lda ZPhMacro
|
||||||
jsr .7
|
jsr .7
|
||||||
|
|
||||||
>LDA.G hFileBuf
|
>LDA.G hFileBuf
|
||||||
|
@ -157,7 +168,7 @@ CSH.Run.1 cmp #C.CR empty line....
|
||||||
jsr CSH.fCall
|
jsr CSH.fCall
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
jsr CSH.SIZEOF X = returned value type
|
jsr CSH.GetVarSize X = returned value type
|
||||||
clc A = Sizeof
|
clc A = Sizeof
|
||||||
adc pStack
|
adc pStack
|
||||||
sta pStack Discard value on stack
|
sta pStack Discard value on stack
|
||||||
|
@ -254,7 +265,6 @@ CSH.SkipLine jsr CSH.GetNextChar
|
||||||
bne CSH.SkipLine
|
bne CSH.SkipLine
|
||||||
|
|
||||||
clc
|
clc
|
||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Built in Keywords
|
* Built in Keywords
|
||||||
|
@ -344,11 +354,34 @@ CSH.SWITCH
|
||||||
CSH.CASE
|
CSH.CASE
|
||||||
CSH.BREAK
|
CSH.BREAK
|
||||||
CSH.CONTINUE
|
CSH.CONTINUE
|
||||||
|
CSH.TYPEDEF
|
||||||
|
CSH.SIZEOF
|
||||||
lda #CSH.E.SYNTAX
|
lda #CSH.E.SYNTAX
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
CSH.STRUCT jsr CSH.GetCharNB
|
||||||
|
bcs .99
|
||||||
|
|
||||||
|
>LDA.G CSH.hTags
|
||||||
|
jsr CSH.NewKey
|
||||||
|
bcs .99
|
||||||
|
|
||||||
|
jsr CSH.GetNextCharNB
|
||||||
|
bcs .99
|
||||||
|
cmp #'{'
|
||||||
|
bne .99
|
||||||
|
|
||||||
|
.1 jsr CSH.GetNextCharNB
|
||||||
|
bcs .99
|
||||||
|
cmp #'}'
|
||||||
|
bne .1
|
||||||
|
|
||||||
|
jsr CSH.GetNextCharNB skip }
|
||||||
|
|
||||||
|
clc
|
||||||
|
.99 rts
|
||||||
|
*--------------------------------------
|
||||||
* Built in Types
|
* Built in Types
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CSH.SIGNED sec
|
CSH.SIGNED sec
|
||||||
|
@ -498,7 +531,7 @@ CSH.fCall ldx ZPPtr1
|
||||||
lda (ZPPtr1) get current arg type
|
lda (ZPPtr1) get current arg type
|
||||||
eor #CSH.T.VARIADIC
|
eor #CSH.T.VARIADIC
|
||||||
bne .5
|
bne .5
|
||||||
jsr CSH.SIZEOF X = Var Type
|
jsr CSH.GetVarSize X = Var Type
|
||||||
* clc
|
* clc
|
||||||
|
|
||||||
adc ZPPtr2+1
|
adc ZPPtr2+1
|
||||||
|
@ -909,7 +942,7 @@ CSH.AddVar >LDA.G CSH.hSymbols
|
||||||
|
|
||||||
>STYA ZPVarID
|
>STYA ZPVarID
|
||||||
ldx ZPVarType
|
ldx ZPVarType
|
||||||
jsr CSH.SizeOf
|
jsr CSH.GetVarSize
|
||||||
sta ZPVarSizeOf
|
sta ZPVarSizeOf
|
||||||
|
|
||||||
lda ZPCSHData
|
lda ZPCSHData
|
||||||
|
@ -1095,7 +1128,7 @@ CSH.GetVarValueOnStack
|
||||||
beq *
|
beq *
|
||||||
|
|
||||||
.2 tax
|
.2 tax
|
||||||
jsr CSH.SIZEOF
|
jsr CSH.GetVarSize
|
||||||
pha
|
pha
|
||||||
|
|
||||||
>LDA.G CSH.VarDef+4
|
>LDA.G CSH.VarDef+4
|
||||||
|
@ -1134,7 +1167,7 @@ CSH.IsValue0 cpx #CSH.T.FLOAT
|
||||||
.8 clc
|
.8 clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.1 jsr CSH.SIZEOF
|
.1 jsr CSH.GetVarSize
|
||||||
tax
|
tax
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
|
@ -1364,7 +1397,7 @@ CSH.IsDigit10 cmp #'0'
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* in : X = type, out : X = type, A = size
|
* in : X = type, out : X = type, A = size
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CSH.SIZEOF txa
|
CSH.GetVarSize txa
|
||||||
and #CSH.Q.PPPOINTER
|
and #CSH.Q.PPPOINTER
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
|
@ -1380,22 +1413,17 @@ CSH.SIZEOF txa
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DEBUG.VAR >SYSCALL putchar
|
DEBUG.VAR >SYSCALL putchar
|
||||||
|
|
||||||
>PUSHW L.MSG.DBGVAR
|
>PUSHW L.MSG.DBGVAR
|
||||||
>PUSHW ZPVarID
|
>PUSHW ZPVarID
|
||||||
>PUSHW ZPVarType
|
>PUSHW ZPVarType
|
||||||
>PUSHW ZPVarSizeOf
|
>PUSHW ZPVarSizeOf
|
||||||
>PUSHW ZPVarDataPtr
|
>PUSHW ZPVarDataPtr
|
||||||
|
|
||||||
ldy #3
|
ldy #3
|
||||||
|
|
||||||
.1 >PUSHB (ZPVarDataPtr),y
|
.1 >PUSHB (ZPVarDataPtr),y
|
||||||
dey
|
dey
|
||||||
bpl .1
|
bpl .1
|
||||||
|
|
||||||
>PUSHBI 12
|
>PUSHBI 12
|
||||||
>SYSCALL printf
|
>SYSCALL printf
|
||||||
* >DEBUG
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
|
|
Loading…
Reference in New Issue
Block a user