A2osX/BIN/CC.S.STMT.txt

107 lines
1.5 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

NEW
AUTO 3,1
.LIST OFF
*--------------------------------------
CC.STMT jsr CC.SYM.Lookup var= or func() ?
bcs .80
ldy #SYM.Q
lda (ZPSymBufPtr),y
bit #SYM.Q.FUNC
bne .20
jsr CC.GetCharNB var = ?
bcs .90
* TODO: AOPS
cmp #'='
bne .90
jsr CC.GetNextChar Skip =
bcs .99
jsr CC.SYM.GetTypeInYA
jsr CC.EXP.Eval
bcs .99
jsr CC.SYM.PopValue
bcs .99
jsr CC.SYM.FreeBufPop
clv
clc
rts
.20 ldy #0 func( ... );
lda #0
jsr CC.F.CallNoRetV
bcs .9
jsr CC.SYM.FreeBufPop
clv
clc
rts
.80 bit #$60
clc
rts
.90 lda #E.CSYN
sec
.99 rts
*--------------------------------------
* X = KW.ID
*--------------------------------------
CC.STMT.CPStmt lda LocalPtr Locals
jsr CC.Push
bcs .99
lda #0 bState
jsr CC.Push
bcs .99
txa
jsr CC.Push
bcs .99
lda #'}'
jmp CC.Push
.99 rts
*--------------------------------------
CC.STMT.CPStmt.END
jsr CC.Pop
bcs .9
cmp #'}' must be '}' on stack....
bne .9
jsr CC.Pop get stacked KW...
tax
jsr CC.Pop bState
jsr CC.Pop Locals
sta LocalPtr
txa
bmi .5
jmp (J.CC.KW.END,x)
.5 jmp CC.F.Def.END
.9 lda #E.CSYN
sec
rts
*--------------------------------------
MAN
SAVE usr/src/bin/cc.s.stmt
LOAD usr/src/bin/cc.s
ASM