This commit is contained in:
burniouf 2023-01-26 08:07:08 +01:00
parent d8631337dd
commit 8aa2269c99
7 changed files with 72 additions and 68 deletions

Binary file not shown.

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -19,6 +19,7 @@ int testf2() {
void testf3(char *msg)
{
puts(msg);
return;
}
int testf4(int arg1, int arg2) {