mirror of https://github.com/A2osX/A2osX.git
CC:wip
This commit is contained in:
parent
d8631337dd
commit
8aa2269c99
Binary file not shown.
|
@ -1,10 +1,7 @@
|
||||||
NEW
|
NEW
|
||||||
AUTO 3,1
|
AUTO 3,1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CODE.Init stz ZPCCConst
|
CODE.Init >STZ.G CC.bInitCode
|
||||||
stz ZPCCConst+1
|
|
||||||
|
|
||||||
>STZ.G CC.bInitCode
|
|
||||||
|
|
||||||
>STA.G CC.ScopeID
|
>STA.G CC.ScopeID
|
||||||
iny
|
iny
|
||||||
|
@ -13,9 +10,6 @@ CODE.Init stz ZPCCConst
|
||||||
>LDYAI PCC.FH.CS
|
>LDYAI PCC.FH.CS
|
||||||
>STYA ZPCCCode
|
>STYA ZPCCCode
|
||||||
|
|
||||||
>LDYAI 20 char *ARGV[10]
|
|
||||||
>STYA ZPCCData
|
|
||||||
|
|
||||||
ldy #SCOPE-1
|
ldy #SCOPE-1
|
||||||
lda #0
|
lda #0
|
||||||
|
|
||||||
|
@ -23,6 +17,52 @@ CODE.Init stz ZPCCConst
|
||||||
dey
|
dey
|
||||||
bpl .1
|
bpl .1
|
||||||
|
|
||||||
|
stz ZPCCConst
|
||||||
|
stz ZPCCConst+1
|
||||||
|
|
||||||
|
jsr CODE.DSSelect
|
||||||
|
bcs .99
|
||||||
|
|
||||||
|
stz ArgIndex
|
||||||
|
|
||||||
|
.2 lda ArgIndex
|
||||||
|
>CMP.G LibCount
|
||||||
|
beq .8
|
||||||
|
|
||||||
|
clc
|
||||||
|
adc #hLibNs
|
||||||
|
tay
|
||||||
|
lda (pData),y
|
||||||
|
>SYSCALL ArgV
|
||||||
|
>STYA ZPPtr1
|
||||||
|
|
||||||
|
ldy #0
|
||||||
|
|
||||||
|
.3 lda (ZPPtr1),y
|
||||||
|
beq .4
|
||||||
|
|
||||||
|
jsr CODE.EmitDATA
|
||||||
|
bcs .99
|
||||||
|
|
||||||
|
iny
|
||||||
|
bne .3
|
||||||
|
|
||||||
|
.4 jsr CODE.EmitDATA \0
|
||||||
|
bcs .99
|
||||||
|
|
||||||
|
inc ArgIndex
|
||||||
|
bra .2
|
||||||
|
|
||||||
|
.8 lda #0
|
||||||
|
jsr CODE.EmitDATA \0
|
||||||
|
bcs .99
|
||||||
|
|
||||||
|
jsr CODE.CSSelect
|
||||||
|
bcs .99
|
||||||
|
|
||||||
|
>LDYAI 20 char *ARGV[10]
|
||||||
|
>STYA ZPCCData
|
||||||
|
|
||||||
clc
|
clc
|
||||||
.99 rts
|
.99 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -287,47 +327,13 @@ CODE.EmitDATA clc
|
||||||
|
|
||||||
.8 rts CC/CS from fputc
|
.8 rts CC/CS from fputc
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CODE.EmitTail jsr CODE.DSSelect
|
|
||||||
bcs .99
|
|
||||||
|
|
||||||
stz ArgIndex
|
|
||||||
|
|
||||||
.1 lda ArgIndex
|
|
||||||
>CMP.G LibCount
|
|
||||||
beq .8
|
|
||||||
|
|
||||||
clc
|
|
||||||
adc #hLibNs
|
|
||||||
tay
|
|
||||||
lda (pData),y
|
|
||||||
pha
|
|
||||||
|
|
||||||
>PUSHB.G CC.hOutFile
|
|
||||||
pla
|
|
||||||
>SYSCALL ArgV
|
|
||||||
>PUSHYA
|
|
||||||
>SYSCALL fputs
|
|
||||||
bcs .99
|
|
||||||
|
|
||||||
jsr .8
|
|
||||||
bcs .99
|
|
||||||
|
|
||||||
inc ArgIndex
|
|
||||||
bra .1
|
|
||||||
|
|
||||||
.8 >PUSHB.G CC.hOutFile
|
|
||||||
lda #0
|
|
||||||
>PUSHA
|
|
||||||
>SYSCALL fputc
|
|
||||||
|
|
||||||
.99 rts
|
|
||||||
*--------------------------------------
|
|
||||||
CODE.CSSelect clc
|
CODE.CSSelect clc
|
||||||
bit bPass2
|
bit bPass2
|
||||||
bpl .8
|
bpl .8
|
||||||
|
|
||||||
>PUSHB.G CC.hOutFile
|
>PUSHB.G CC.hOutFile
|
||||||
>PUSHWZ
|
>PUSHWZ
|
||||||
|
>DEBUG
|
||||||
lda ZPCCCode+1
|
lda ZPCCCode+1
|
||||||
sec
|
sec
|
||||||
sbc #$20
|
sbc #$20
|
||||||
|
@ -345,12 +351,14 @@ CODE.DSSelect clc
|
||||||
|
|
||||||
>PUSHB.G CC.hOutFile
|
>PUSHB.G CC.hOutFile
|
||||||
>PUSHWZ
|
>PUSHWZ
|
||||||
lda ZPCCConst
|
>DEBUG
|
||||||
|
lda PCC.FH+PCC.FH.CONST
|
||||||
clc
|
clc
|
||||||
adc PCC.FH+PCC.FH.CONST
|
adc ZPCCConst
|
||||||
tay
|
tay
|
||||||
lda ZPCCConst+1
|
|
||||||
adc PCC.FH+PCC.FH.CONST+1
|
lda PCC.FH+PCC.FH.CONST+1
|
||||||
|
adc ZPCCConst+1
|
||||||
sec
|
sec
|
||||||
sbc #$20
|
sbc #$20
|
||||||
|
|
||||||
|
|
|
@ -158,23 +158,16 @@ FIO.FClose >LDA.G hFilePtr
|
||||||
|
|
||||||
.8 rts
|
.8 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
FIO.FCreate lda ZPCCCode+1
|
FIO.FCreate lda ZPCCCode
|
||||||
|
sta PCC.FH+PCC.FH.CONST
|
||||||
|
sta PCC.FH+PCC.FH.CSSIZE
|
||||||
|
|
||||||
|
lda ZPCCCode+1
|
||||||
sta PCC.FH+PCC.FH.CONST+1
|
sta PCC.FH+PCC.FH.CONST+1
|
||||||
sec
|
sec
|
||||||
sbc #$20
|
sbc #$20
|
||||||
sta PCC.FH+PCC.FH.CSSIZE+1
|
sta PCC.FH+PCC.FH.CSSIZE+1
|
||||||
|
|
||||||
lda ZPCCCode
|
|
||||||
sta PCC.FH+PCC.FH.CSSIZE
|
|
||||||
sta PCC.FH+PCC.FH.CONST
|
|
||||||
clc
|
|
||||||
adc ZPCCConst
|
|
||||||
sta PCC.FH+PCC.FH.LIBS
|
|
||||||
|
|
||||||
lda ZPCCCode+1
|
|
||||||
adc ZPCCConst+1
|
|
||||||
sta PCC.FH+PCC.FH.LIBS+1
|
|
||||||
|
|
||||||
lda ZPCCData
|
lda ZPCCData
|
||||||
sta PCC.FH+PCC.FH.DSSIZE
|
sta PCC.FH+PCC.FH.DSSIZE
|
||||||
|
|
||||||
|
|
|
@ -634,7 +634,13 @@ KW.CONTINUE lda #'C'
|
||||||
sec
|
sec
|
||||||
.99 rts
|
.99 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
KW.RETURN lda #'R'
|
KW.RETURN jsr CC.GetCharNB
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
cmp #';'
|
||||||
|
beq .1
|
||||||
|
|
||||||
|
lda #'R'
|
||||||
jsr SYM.LookupLabelA Y,A=T/Q
|
jsr SYM.LookupLabelA Y,A=T/Q
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
|
@ -647,13 +653,15 @@ KW.RETURN lda #'R'
|
||||||
jsr CODE.SetRetValue
|
jsr CODE.SetRetValue
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
lda #'X'
|
.1 lda #'X'
|
||||||
jsr SYM.LookupLabelA
|
jsr SYM.LookupLabelA
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
lda #$4C emit JMP exit
|
lda #$4C emit JMP exit
|
||||||
jmp CODE.TOABSYX
|
jmp CODE.TOABSYX
|
||||||
|
|
||||||
|
.9 lda #E.CSYN
|
||||||
|
sec
|
||||||
.99 rts
|
.99 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
KW.SIZEOF
|
KW.SIZEOF
|
||||||
|
|
|
@ -27,13 +27,11 @@ PCC.FH.JMP .DA PCC.FH.INIT
|
||||||
.DA PCC.FH.QUIT
|
.DA PCC.FH.QUIT
|
||||||
PCC.FH.CONST .EQ *-PCC.FH.ORG
|
PCC.FH.CONST .EQ *-PCC.FH.ORG
|
||||||
.DA $FFFF
|
.DA $FFFF
|
||||||
PCC.FH.LIBS .EQ *-PCC.FH.ORG
|
|
||||||
.DA $FFFF
|
|
||||||
.DA 0
|
.DA 0
|
||||||
|
|
||||||
PCC.FH.INIT >LDYA PCC.FH.ORG+PCC.FH.LIBS
|
PCC.FH.INIT >LDYA PCC.FH.ORG+PCC.FH.CONST
|
||||||
>STYA ZS.RT.Ptr1
|
>STYA ZS.RT.Ptr1
|
||||||
|
>DEBUG
|
||||||
ldx #0
|
ldx #0
|
||||||
|
|
||||||
.1 lda (ZS.RT.Ptr1)
|
.1 lda (ZS.RT.Ptr1)
|
||||||
|
@ -131,7 +129,6 @@ PCC.FH.RUN lda #0
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
.2 pla
|
.2 pla
|
||||||
|
|
||||||
jsr PCC.FH.CS Execute INIT code
|
jsr PCC.FH.CS Execute INIT code
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
|
|
|
@ -420,9 +420,6 @@ CS.RUN.CLOOP jsr CORE.CompileFile
|
||||||
|
|
||||||
jsr FIO.FClose
|
jsr FIO.FClose
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
jsr CODE.EmitTail
|
|
||||||
bcs .9
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
>LDYA L.MSG.ALLDONE
|
>LDYA L.MSG.ALLDONE
|
||||||
>SYSCALL PutS
|
>SYSCALL PutS
|
||||||
|
|
|
@ -19,6 +19,7 @@ int testf2() {
|
||||||
void testf3(char *msg)
|
void testf3(char *msg)
|
||||||
{
|
{
|
||||||
puts(msg);
|
puts(msg);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int testf4(int arg1, int arg2) {
|
int testf4(int arg1, int arg2) {
|
||||||
|
|
Loading…
Reference in New Issue