A2osX/BIN/CC.S.SCOPE.txt

135 lines
1.9 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
*--------------------------------------
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