mirror of https://github.com/A2osX/A2osX.git
135 lines
1.9 KiB
Plaintext
135 lines
1.9 KiB
Plaintext
NEW
|
||
AUTO 3,1
|
||
*--------------------------------------
|
||
SCOPE.New ldy ScopePtr
|
||
cpy #CC.ScopeIDs+SCOPE.MAX*2
|
||
bcs .9
|
||
|
||
iny
|
||
iny
|
||
sty ScopePtr
|
||
|
||
>INCW.G CC.ScopeID
|
||
|
||
>LDA.G CC.ScopeID
|
||
|
||
ldy ScopePtr
|
||
sta (pData),y
|
||
|
||
>LDA.G CC.ScopeID+1
|
||
|
||
ldy ScopePtr
|
||
iny
|
||
sta (pData),y
|
||
|
||
|
||
|
||
|
||
|
||
dec bLocalScope
|
||
|
||
lda #'F'
|
||
jsr SYM.LookupLabelA
|
||
bcs .99
|
||
|
||
txa
|
||
|
||
jsr CODE.AddLocal
|
||
bcs .99
|
||
|
||
|
||
.DO _DBG_SCOPE=1
|
||
>PUSHW L.MSG.DEBUG.SCIN
|
||
jsr SCOPE.Push
|
||
|
||
lda ScopePtr
|
||
sec
|
||
sbc #CC.ScopeIDs
|
||
lsr
|
||
>PUSHA
|
||
|
||
>PUSHB.G CC.LocalPtr
|
||
>PUSHB.G CC.LocalFrame
|
||
>PUSHBI 5
|
||
>SYSCALL PrintF
|
||
>DEBUG
|
||
.FIN
|
||
|
||
clc
|
||
rts
|
||
|
||
.9 lda #E.OOH
|
||
sec
|
||
.99
|
||
SCOPE.New.RTS rts
|
||
*--------------------------------------
|
||
SCOPE.Close lda #'F' define FRAME SIZE
|
||
jsr SYM.NewLabelA
|
||
bcs SCOPE.New.RTS
|
||
|
||
>LDA.G CC.LocalFrame
|
||
jsr CODE.RemLocal
|
||
bcs SCOPE.New.RTS
|
||
|
||
.DO _DBG_SCOPE=1
|
||
>PUSHW L.MSG.DEBUG.SCOUT
|
||
jsr SCOPE.Push
|
||
lda ScopePtr
|
||
sec
|
||
sbc #CC.ScopeIDs
|
||
lsr
|
||
>PUSHA
|
||
|
||
>PUSHB.G CC.LocalPtr
|
||
>PUSHB.G CC.LocalFrame
|
||
>PUSHBI 5
|
||
>SYSCALL PrintF
|
||
.FIN
|
||
|
||
ldy ScopePtr
|
||
cpy #CC.ScopeIDs
|
||
beq *
|
||
|
||
dey
|
||
dey
|
||
sty ScopePtr
|
||
|
||
inc bLocalScope
|
||
|
||
.DO _DBG_SCOPE=1
|
||
|
||
>PUSHW L.MSG.DEBUG.SC
|
||
jsr SCOPE.Push
|
||
|
||
lda ScopePtr
|
||
sec
|
||
sbc #CC.ScopeIDs
|
||
lsr
|
||
>PUSHA
|
||
|
||
>PUSHB.G CC.LocalPtr
|
||
>PUSHB.G CC.LocalFrame
|
||
>PUSHBI 5
|
||
>SYSCALL PrintF
|
||
>DEBUG
|
||
.FIN
|
||
|
||
clc
|
||
|
||
.99 rts
|
||
*--------------------------------------
|
||
SCOPE.Push ldy ScopePtr
|
||
|
||
SCOPE.PushY iny
|
||
lda (pData),y
|
||
>PUSHA
|
||
dey
|
||
lda (pData),y
|
||
>PUSHA
|
||
rts
|
||
*--------------------------------------
|
||
MAN
|
||
SAVE usr/src/bin/cc.s.scope
|
||
LOAD usr/src/bin/cc.s
|
||
ASM
|