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