From bec9c084a49a3ac828a4160d383f34626c92da14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Fri, 22 Mar 2019 07:41:35 +0000 Subject: [PATCH] Kernel 0.93 --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/ASM.S.EXP.txt | 30 ++++++++------------ BIN/ASM.S.SRC.txt | 15 +++++----- BIN/ASM.S.SYM.txt | 59 +++++++++++++++------------------------ BIN/ASM.S.txt | 4 +-- 5 files changed, 42 insertions(+), 66 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 609f67dd23d5334993bb4af697cce711ff73e686..b35bf2a2219a0dc346790eb15802d41780fd7f99 100644 GIT binary patch delta 27221 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 diff --git a/BIN/ASM.S.EXP.txt b/BIN/ASM.S.EXP.txt index b4225263..6aa6d4a4 100644 --- a/BIN/ASM.S.EXP.txt +++ b/BIN/ASM.S.EXP.txt @@ -215,36 +215,28 @@ EXP.GetSymL jsr SRC.GetNextChar sec .8 rts *--------------------------------------- -EXP.GetSymG jsr SYM.LookupGlobal - bcs .2 - -* jsr SYM.Lookup2Acc - - clc - rts - -.2 >LDA.G ASM.PASS pass#2? +EXP.GetSymG >DEBUG + jsr SYM.LookupGlobal + bcc .8 + >LDA.G ASM.PASS pass#2? bne EXP.EvalExitUND yes, undefined symbol - lda #0 Mark ACC as pending - sta SRC.ACC.SIZE + lda #SYMG.F.FWREF + tsb SRC.ACC.F Mark ACC as pending + stz SRC.ACC.SIZE -.3 jsr SRC.GetNextChar +.1 jsr SRC.GetNextChar bcs .8 jsr SRC.IsLetterOrDigit - bcc .3 + bcc .1 cmp #'.' - beq .3 + beq .1 cmp #'_' - beq .3 + beq .1 .8 clc rts - -.99 lda #ERR.UNDEF.SYMBOL - sec -.9 rts *--------------------------------------- EXP.MOD.8.3 lda SRC.ACC+2 bra EXP.MOD.8 diff --git a/BIN/ASM.S.SRC.txt b/BIN/ASM.S.SRC.txt index 963d8720..afd9313d 100644 --- a/BIN/ASM.S.SRC.txt +++ b/BIN/ASM.S.SRC.txt @@ -359,12 +359,13 @@ SRC.ParseLine.AM .75 ldx #2 -.74 lda SRC.ACC.SIZE - beq .72 Pending...assume 2 bytes... + lda SRC.ACC.F + 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 dex @@ -391,9 +392,9 @@ SRC.ParseLine.AM *--------------------------------------- SRC.ParseLine.AMCheck * jsr OUT.PrintLine.1 -* >LDYA L.SRC.AM.StrBuf -* >SYSCALL puts -* >DEBUG + >LDYA L.SRC.AM.StrBuf + >SYSCALL puts + >DEBUG lda SRC.AM.StrBuf beq SRC.ParseLine.OPAMCheckFF diff --git a/BIN/ASM.S.SYM.txt b/BIN/ASM.S.SYM.txt index 0f2a829d..454095cb 100644 --- a/BIN/ASM.S.SYM.txt +++ b/BIN/ASM.S.SYM.txt @@ -36,25 +36,12 @@ SYM.Init >SYSCALL SListNew txa >STA.G SYM.hGlobalBuf - >LDYAI 256 - >SYSCALL getmem - bcs .9 - - >STYA ZPLookupBuf - txa - >STA.G SYM.hLookupBuf - .9 rts *--------------------------------------- SYM.Reset >STZ.G SYM.bNewGlobal rts *--------------------------------------- -SYM.Quit >LDA.G SYM.hLookupBuf - beq .1 - - >SYSCALL FreeMem - -.1 >LDA.G SYM.hNameBuf +SYM.Quit >LDA.G SYM.hNameBuf beq .2 >SYSCALL FreeMem @@ -235,8 +222,7 @@ SYM.LookupGlobal >SYSCALL SListLookup bcs .9 - phy - pha + >STYA ZPPtr1 txa adc ZPLinePtr @@ -245,12 +231,27 @@ SYM.LookupGlobal inc ZPLinePtr+1 -.1 >PUSHWI 0 Start - >PUSHWI SYMG +.1 >LDA.G SYM.GlobalID + 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 - pla - ply - >PUSHYA + >PUSHW ZPPtr1 >LDA.G SYM.hGlobalList >SYSCALL SListGetData rts @@ -319,22 +320,6 @@ SYM.Acc2Global ldy #SYMG-1 bpl .2 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) * 0 : Local ID (1->255) * 1-4 : 32 bits Value (PC) diff --git a/BIN/ASM.S.txt b/BIN/ASM.S.txt index 0c5211df..b09c101b 100644 --- a/BIN/ASM.S.txt +++ b/BIN/ASM.S.txt @@ -20,8 +20,6 @@ ZPLinePtr .BS 2 ZPNameBuf .BS 2 ZPGlobalBuf .BS 2 -ZPLookupBuf .BS 2 - ZPMacroBuf .BS 2 ZPCtxBuf .BS 2 @@ -542,7 +540,7 @@ SYM.GlobalPtr .BS 1 SYM.hNameBuf .BS 1 -SYM.hLookupBuf .BS 1 +SYM.LookupID .BS 2 MAC.hMacroList .BS 1 MAC.hMacroBuf .BS 1