mirror of
https://github.com/A2osX/A2osX.git
synced 2024-09-10 07:54:37 +00:00
Kernel 0.93
This commit is contained in:
parent
8314b5b9cc
commit
bec9c084a4
Binary file not shown.
@ -215,36 +215,28 @@ EXP.GetSymL jsr SRC.GetNextChar
|
|||||||
sec
|
sec
|
||||||
.8 rts
|
.8 rts
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
EXP.GetSymG jsr SYM.LookupGlobal
|
EXP.GetSymG >DEBUG
|
||||||
bcs .2
|
jsr SYM.LookupGlobal
|
||||||
|
bcc .8
|
||||||
* jsr SYM.Lookup2Acc
|
>LDA.G ASM.PASS pass#2?
|
||||||
|
|
||||||
clc
|
|
||||||
rts
|
|
||||||
|
|
||||||
.2 >LDA.G ASM.PASS pass#2?
|
|
||||||
bne EXP.EvalExitUND yes, undefined symbol
|
bne EXP.EvalExitUND yes, undefined symbol
|
||||||
|
|
||||||
lda #0 Mark ACC as pending
|
lda #SYMG.F.FWREF
|
||||||
sta SRC.ACC.SIZE
|
tsb SRC.ACC.F Mark ACC as pending
|
||||||
|
stz SRC.ACC.SIZE
|
||||||
|
|
||||||
.3 jsr SRC.GetNextChar
|
.1 jsr SRC.GetNextChar
|
||||||
bcs .8
|
bcs .8
|
||||||
|
|
||||||
jsr SRC.IsLetterOrDigit
|
jsr SRC.IsLetterOrDigit
|
||||||
bcc .3
|
bcc .1
|
||||||
cmp #'.'
|
cmp #'.'
|
||||||
beq .3
|
beq .1
|
||||||
cmp #'_'
|
cmp #'_'
|
||||||
beq .3
|
beq .1
|
||||||
|
|
||||||
.8 clc
|
.8 clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.99 lda #ERR.UNDEF.SYMBOL
|
|
||||||
sec
|
|
||||||
.9 rts
|
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
EXP.MOD.8.3 lda SRC.ACC+2
|
EXP.MOD.8.3 lda SRC.ACC+2
|
||||||
bra EXP.MOD.8
|
bra EXP.MOD.8
|
||||||
|
@ -359,10 +359,11 @@ SRC.ParseLine.AM
|
|||||||
|
|
||||||
.75 ldx #2
|
.75 ldx #2
|
||||||
|
|
||||||
.74 lda SRC.ACC.SIZE
|
lda SRC.ACC.F
|
||||||
beq .72 Pending...assume 2 bytes...
|
bit #SYMG.F.FWREF
|
||||||
|
bne .72 FWREF ...assume 2 bytes...
|
||||||
|
|
||||||
tax
|
ldx SRC.ACC.SIZE
|
||||||
|
|
||||||
.73 lda SRC.ACC-1,x
|
.73 lda SRC.ACC-1,x
|
||||||
bne .72
|
bne .72
|
||||||
@ -391,9 +392,9 @@ SRC.ParseLine.AM
|
|||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
SRC.ParseLine.AMCheck
|
SRC.ParseLine.AMCheck
|
||||||
* jsr OUT.PrintLine.1
|
* jsr OUT.PrintLine.1
|
||||||
* >LDYA L.SRC.AM.StrBuf
|
>LDYA L.SRC.AM.StrBuf
|
||||||
* >SYSCALL puts
|
>SYSCALL puts
|
||||||
* >DEBUG
|
>DEBUG
|
||||||
lda SRC.AM.StrBuf
|
lda SRC.AM.StrBuf
|
||||||
beq SRC.ParseLine.OPAMCheckFF
|
beq SRC.ParseLine.OPAMCheckFF
|
||||||
|
|
||||||
|
@ -36,25 +36,12 @@ SYM.Init >SYSCALL SListNew
|
|||||||
txa
|
txa
|
||||||
>STA.G SYM.hGlobalBuf
|
>STA.G SYM.hGlobalBuf
|
||||||
|
|
||||||
>LDYAI 256
|
|
||||||
>SYSCALL getmem
|
|
||||||
bcs .9
|
|
||||||
|
|
||||||
>STYA ZPLookupBuf
|
|
||||||
txa
|
|
||||||
>STA.G SYM.hLookupBuf
|
|
||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
SYM.Reset >STZ.G SYM.bNewGlobal
|
SYM.Reset >STZ.G SYM.bNewGlobal
|
||||||
rts
|
rts
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
SYM.Quit >LDA.G SYM.hLookupBuf
|
SYM.Quit >LDA.G SYM.hNameBuf
|
||||||
beq .1
|
|
||||||
|
|
||||||
>SYSCALL FreeMem
|
|
||||||
|
|
||||||
.1 >LDA.G SYM.hNameBuf
|
|
||||||
beq .2
|
beq .2
|
||||||
|
|
||||||
>SYSCALL FreeMem
|
>SYSCALL FreeMem
|
||||||
@ -235,8 +222,7 @@ SYM.LookupGlobal
|
|||||||
>SYSCALL SListLookup
|
>SYSCALL SListLookup
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
phy
|
>STYA ZPPtr1
|
||||||
pha
|
|
||||||
|
|
||||||
txa
|
txa
|
||||||
adc ZPLinePtr
|
adc ZPLinePtr
|
||||||
@ -245,12 +231,27 @@ SYM.LookupGlobal
|
|||||||
|
|
||||||
inc ZPLinePtr+1
|
inc ZPLinePtr+1
|
||||||
|
|
||||||
.1 >PUSHWI 0 Start
|
.1 >LDA.G SYM.GlobalID
|
||||||
>PUSHWI SYMG
|
cmp ZPPtr1
|
||||||
|
bne .3
|
||||||
|
iny
|
||||||
|
lda (pData),y
|
||||||
|
cmp ZPPtr1+1
|
||||||
|
bne .3
|
||||||
|
|
||||||
|
ldy #SYMG-1
|
||||||
|
|
||||||
|
.2 lda (ZPGlobalBuf),y
|
||||||
|
sta SRC.ACC.F,y
|
||||||
|
dey
|
||||||
|
bpl .2
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
|
||||||
|
.3 >PUSHWI 0 Start
|
||||||
|
>PUSHWI SYMG Get only Global value
|
||||||
>PUSHW L.SRC.ACC.F
|
>PUSHW L.SRC.ACC.F
|
||||||
pla
|
>PUSHW ZPPtr1
|
||||||
ply
|
|
||||||
>PUSHYA
|
|
||||||
>LDA.G SYM.hGlobalList
|
>LDA.G SYM.hGlobalList
|
||||||
>SYSCALL SListGetData
|
>SYSCALL SListGetData
|
||||||
rts
|
rts
|
||||||
@ -319,22 +320,6 @@ SYM.Acc2Global ldy #SYMG-1
|
|||||||
bpl .2
|
bpl .2
|
||||||
rts
|
rts
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
SYM.Lookup2Acc ldy #SYMG.F+4
|
|
||||||
ldx #4
|
|
||||||
|
|
||||||
.1 lda (ZPLookupBuf),y
|
|
||||||
sta SRC.ACC.SIZE,x
|
|
||||||
dey
|
|
||||||
dex
|
|
||||||
bne .1
|
|
||||||
|
|
||||||
lda (ZPLookupBuf),y
|
|
||||||
* and #SYMG.F.SIZE
|
|
||||||
sta SRC.ACC.SIZE
|
|
||||||
|
|
||||||
clc
|
|
||||||
rts
|
|
||||||
*---------------------------------------
|
|
||||||
* Local Symbol Record: (5 bytes)
|
* Local Symbol Record: (5 bytes)
|
||||||
* 0 : Local ID (1->255)
|
* 0 : Local ID (1->255)
|
||||||
* 1-4 : 32 bits Value (PC)
|
* 1-4 : 32 bits Value (PC)
|
||||||
|
@ -20,8 +20,6 @@ ZPLinePtr .BS 2
|
|||||||
ZPNameBuf .BS 2
|
ZPNameBuf .BS 2
|
||||||
ZPGlobalBuf .BS 2
|
ZPGlobalBuf .BS 2
|
||||||
|
|
||||||
ZPLookupBuf .BS 2
|
|
||||||
|
|
||||||
ZPMacroBuf .BS 2
|
ZPMacroBuf .BS 2
|
||||||
ZPCtxBuf .BS 2
|
ZPCtxBuf .BS 2
|
||||||
|
|
||||||
@ -542,7 +540,7 @@ SYM.GlobalPtr .BS 1
|
|||||||
|
|
||||||
SYM.hNameBuf .BS 1
|
SYM.hNameBuf .BS 1
|
||||||
|
|
||||||
SYM.hLookupBuf .BS 1
|
SYM.LookupID .BS 2
|
||||||
|
|
||||||
MAC.hMacroList .BS 1
|
MAC.hMacroList .BS 1
|
||||||
MAC.hMacroBuf .BS 1
|
MAC.hMacroBuf .BS 1
|
||||||
|
Loading…
Reference in New Issue
Block a user