mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-21 21:29:05 +00:00
Kernel 0.94
This commit is contained in:
parent
bc6eec2c22
commit
b2a4faedb7
Binary file not shown.
@ -41,6 +41,9 @@ CSH.Init >SYSCALL SListNew
|
|||||||
>STA.G CSH.StackPtr
|
>STA.G CSH.StackPtr
|
||||||
sta (ZPCSHConst)
|
sta (ZPCSHConst)
|
||||||
sta (ZPCSHStack)
|
sta (ZPCSHStack)
|
||||||
|
>DEBUG
|
||||||
|
>DEC.G bTrace
|
||||||
|
>DEC.G bDebug
|
||||||
* clc
|
* clc
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -575,13 +578,13 @@ CSH.ExpEval ldx ZPPtr1
|
|||||||
phx
|
phx
|
||||||
ldx ZPPtr2 local : VarType
|
ldx ZPPtr2 local : VarType
|
||||||
phx
|
phx
|
||||||
ldx ZPPtr2+1 local : BOP1
|
ldx ZPPtr2+1 local : BOP
|
||||||
phx
|
phx
|
||||||
|
|
||||||
sta ZPPtr2 local : expected type
|
sta ZPPtr2 local : expected type
|
||||||
|
|
||||||
.13 sec
|
lda #$ff
|
||||||
ror ZPPtr2+1 Reset BOP1
|
pha
|
||||||
|
|
||||||
.10 jsr CSH.GetCharNB
|
.10 jsr CSH.GetCharNB
|
||||||
bcs .19
|
bcs .19
|
||||||
@ -607,9 +610,8 @@ CSH.ExpEval ldx ZPPtr1
|
|||||||
|
|
||||||
bcs .19
|
bcs .19
|
||||||
jmp .12
|
jmp .12
|
||||||
|
|
||||||
.19 jmp .90
|
.19 jmp .90
|
||||||
|
*--------------------------------------
|
||||||
.20 jsr CSH.IsLetter define, Fnc or Var ?
|
.20 jsr CSH.IsLetter define, Fnc or Var ?
|
||||||
bcs .2
|
bcs .2
|
||||||
|
|
||||||
@ -629,7 +631,7 @@ CSH.ExpEval ldx ZPPtr1
|
|||||||
|
|
||||||
.1 lda ZPPtr2 var type
|
.1 lda ZPPtr2 var type
|
||||||
jsr CSH.fCall X = function index
|
jsr CSH.fCall X = function index
|
||||||
bcs .99
|
bcs .29
|
||||||
|
|
||||||
stx ZPPtr2 store real var type
|
stx ZPPtr2 store real var type
|
||||||
bra .11
|
bra .11
|
||||||
@ -652,7 +654,7 @@ CSH.ExpEval ldx ZPPtr1
|
|||||||
.12 cmp #','
|
.12 cmp #','
|
||||||
beq .8
|
beq .8
|
||||||
cmp #')'
|
cmp #')'
|
||||||
beq .85
|
beq .8
|
||||||
cmp #';'
|
cmp #';'
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
@ -662,9 +664,25 @@ CSH.ExpEval ldx ZPPtr1
|
|||||||
>LDYA L.CSH.BOPS
|
>LDYA L.CSH.BOPS
|
||||||
jsr CSH.LookupOP
|
jsr CSH.LookupOP
|
||||||
bcs .90
|
bcs .90
|
||||||
lda ZPPtr2+1 X=OP lookup,get previous OP in A
|
|
||||||
bpl .5 go check precedence
|
stx ZPPtr2+1 save new OP
|
||||||
stx ZPPtr2+1
|
|
||||||
|
pla get previous OP
|
||||||
|
pha
|
||||||
|
bmi .13 $ff.... push OP
|
||||||
|
|
||||||
|
cmp ZPPtr2+1
|
||||||
|
bcs .13 new OP has precedence, on stack : V1,V2
|
||||||
|
|
||||||
|
tax Old OP has precedence...
|
||||||
|
|
||||||
|
lda ZPPtr2 Var Type
|
||||||
|
jsr CSH.BOP.EXEC compute STK=V1 <OP> V2
|
||||||
|
bcs .99
|
||||||
|
|
||||||
|
ldx ZPPtr2+1
|
||||||
|
|
||||||
|
.13 phx push OP on stack
|
||||||
|
|
||||||
jsr CSH.GetCharNB
|
jsr CSH.GetCharNB
|
||||||
bcc .20 go check for an ARG
|
bcc .20 go check for an ARG
|
||||||
@ -677,36 +695,28 @@ CSH.ExpEval ldx ZPPtr1
|
|||||||
|
|
||||||
jmp .11
|
jmp .11
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.5 cpx ZPPtr2+1
|
.8 plx any BOP on stack ?
|
||||||
bcs .6
|
|
||||||
* new OP has precedence, on stack : V1,V2
|
|
||||||
|
|
||||||
jmp .10
|
|
||||||
* Old OP has precedence, compute STK=V1 <BOP> V2
|
|
||||||
.6 lda ZPPtr2 Var Type
|
|
||||||
ldx ZPPtr2+1 BOP
|
|
||||||
jsr CSH.BOP.EXEC
|
|
||||||
bcs .99
|
|
||||||
jsr CSH.GetCharNB
|
|
||||||
bcs .90
|
|
||||||
jmp .13 reset BOP & loop
|
|
||||||
|
|
||||||
.85
|
|
||||||
* >DEBUG
|
|
||||||
.8 ldx ZPPtr2+1
|
|
||||||
bmi .80
|
bmi .80
|
||||||
|
|
||||||
lda ZPPtr2 Var Type
|
lda ZPPtr2 Var Type
|
||||||
jsr CSH.BOP.EXEC
|
jsr CSH.BOP.EXEC
|
||||||
bcc .80
|
bcc .8
|
||||||
|
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
.90 lda #CSH.E.SYNTAX
|
.90 lda #CSH.E.SYNTAX
|
||||||
|
|
||||||
.99 sec
|
.99 tax
|
||||||
|
.98 pla
|
||||||
|
bpl .98
|
||||||
|
|
||||||
|
txa
|
||||||
|
sec
|
||||||
.HS 90 BCC
|
.HS 90 BCC
|
||||||
.80 clc
|
.80 clc
|
||||||
|
|
||||||
ldx ZPPtr2 X = Var Type
|
ldx ZPPtr2 X = Var Type
|
||||||
|
|
||||||
ply
|
ply
|
||||||
sty ZPPtr2+1
|
sty ZPPtr2+1
|
||||||
ply
|
ply
|
||||||
@ -972,8 +982,8 @@ CSH.SetVarValueFromStack
|
|||||||
cpy ZPVarSizeOf
|
cpy ZPVarSizeOf
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
lda #'>'
|
* lda #'>'
|
||||||
jsr DEBUG.VAR
|
* jsr DEBUG.VAR
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
@ -76,7 +76,8 @@ CSH.BOPS.SUBf >FPU FSUB
|
|||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CSH.BOPS.MUL cmp #CSH.T.FLOAT
|
CSH.BOPS.MUL >DEBUG
|
||||||
|
cmp #CSH.T.FLOAT
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
>FPU MUL32
|
>FPU MUL32
|
||||||
|
Loading…
x
Reference in New Issue
Block a user