From 3dc0e991f5426208e42f7bce8aded853d69f9438 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Mon, 29 Jan 2018 07:41:05 +0000 Subject: [PATCH] Kernel 0.9.1 : ASM ... --- .Floppies/A2OSX.BUILD.po | Bin 819200 -> 819200 bytes .Floppies/A2OSX.SRC.po | Bin 819200 -> 819200 bytes BIN/ASM.S.DIR.txt | 3 +-- BIN/ASM.S.EXP.txt | 49 +++++++--------------------------- BIN/ASM.S.MAC.txt | 35 ++++++++++++++++++++++++ BIN/ASM.S.SRC.txt | 56 ++++++++++++++++++++++++--------------- BIN/ASM.S.SYM.txt | 27 ++++--------------- BIN/ASM.S.txt | 9 ++++--- INC/GUI.I.txt | 1 - SYS/KERNEL.S.MEM.txt | 1 + SYS/KERNEL.S.SLIST.txt | 4 ++- 11 files changed, 95 insertions(+), 90 deletions(-) create mode 100644 BIN/ASM.S.MAC.txt diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 50b8a74ba91dd3ac3c22f592bc35ced4714ebf5d..550950077000af494e16829acb35b0c70cd5973e 100644 GIT binary patch delta 20631 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 Nidf?^?Q%sn{2y?tpiuw- delta 20605 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 o7;lpH56R|HRAbP5bF)3n+a diff --git a/.Floppies/A2OSX.SRC.po b/.Floppies/A2OSX.SRC.po index 3eda8987c0973b33298d4916839893f8bdca240e..e51c2365402574a30829e20b5149ad732ede9778 100644 GIT binary patch delta 3164 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 diff --git a/BIN/ASM.S.DIR.txt b/BIN/ASM.S.DIR.txt index ed6fb47f..b6c2ffa6 100644 --- a/BIN/ASM.S.DIR.txt +++ b/BIN/ASM.S.DIR.txt @@ -322,8 +322,7 @@ DIR.MA jsr SRC.GetNextCharNB clc rts -.8 ldy #ASM.PASS If Pass#2, ignore - lda (pData),y +.8 >LDA.G ASM.PASS If Pass#2, ignore bne .1 diff --git a/BIN/ASM.S.EXP.txt b/BIN/ASM.S.EXP.txt index 58518fc1..8480bf8f 100644 --- a/BIN/ASM.S.EXP.txt +++ b/BIN/ASM.S.EXP.txt @@ -90,11 +90,13 @@ EXP.Eval.Next1 cmp #'.' Local Label? bne .43 jsr SRC.GetNextChar bcs EXP.EvalExitSYN + jsr EXP.SetAccA jsr SRC.GetNextChar bcs EXP.EvalOperator cmp #''' bne EXP.EvalExitSYN + jsr SRC.GetNextChar bra EXP.EvalOperator .43 cmp '"' @@ -107,13 +109,14 @@ EXP.Eval.Next1 cmp #'.' Local Label? bcs EXP.EvalOperator cmp #'"' bne EXP.EvalExitSYN + jsr SRC.GetNextChar bra EXP.EvalOperator .42 jsr SRC.IsLetter Symbol ? bcs EXP.EvalExitSYN jsr EXP.GetSymbol - bcs EXP.EvalExitRTS + bcs EXP.EvalExitUND bra EXP.EvalOperator EXP.EvalExitOK clc @@ -182,45 +185,14 @@ EXP.SetAccA sta SRC.ACC stz SRC.ACC+3 rts *--------------------------------------- -EXP.GetSymbol >PUSHB.G SYM.hGlobals - >PUSHW ZPLinePtr - >PUSHEA.G SYM.Global +EXP.GetSymbol jsr SYM.LookupGlobal + bcc .9 - >SYSCALL SListLookup - bcs .2 - - adc ZPLinePtr - sta ZPLinePtr - bcc .1 - - inc ZPLinePtr+1 - -.1 clc - rts - -.2 ldy #ASM.PASS - lda (pData),y pass#2? +.2 >LDA.G ASM.PASS pass#2? bne .99 yes, undefined symbol - >PUSHB.G SYM.hGlobals - >PUSHW ZPLinePtr - >PUSHEA.G SYM.Global - - lda #6 - >STA.G SYM.Global+SYM.LEN - - lda #0 - >STA.G SYM.Global+SYM.F - - >SYSCALL SListAdd - bcs .9 - - adc ZPLinePtr - sta ZPLinePtr - bcc .3 - - inc ZPLinePtr+1 - + lda #0 Add Pending.... + jsr SYM.AddGlobal .3 clc rts @@ -231,8 +203,7 @@ EXP.GetSymbol >PUSHB.G SYM.hGlobals EXP.Compute dec asl tax -* ldy #ASM.PASS -* lda (pData),y pass#2? +* >LDA.G ASM.PASS pass#2? * beq .8 jmp (J.EXP.OP,x) .8 clc diff --git a/BIN/ASM.S.MAC.txt b/BIN/ASM.S.MAC.txt new file mode 100644 index 00000000..3401baab --- /dev/null +++ b/BIN/ASM.S.MAC.txt @@ -0,0 +1,35 @@ +NEW +PREFIX /A2OSX.BUILD +AUTO 4,1 +*--------------------------------------- +MAC.Init >SYSCALL SListNew + bcs .9 + + >STA.G MAC.hMacros + + >LDYAI 256 + >SYSCALL GetMem.YA + bcs .9 + + >STYA ZPMacroBuf + txa + >STA.G MAC.hBuf + +.9 rts +*--------------------------------------- +MAC.Quit >LDA.G MAC.hBuf + beq .1 + + >SYSCALL FreeMem.A + +.1 >LDA.G MAC.hMacros + beq .8 + >SYSCALL SListFree.A + +.8 clc + rts +*--------------------------------------- +MAN +SAVE /A2OSX.BUILD/BIN/DEV/ASM.S.MAC +LOAD /A2OSX.BUILD/BIN/DEV/ASM.S +ASM diff --git a/BIN/ASM.S.SRC.txt b/BIN/ASM.S.SRC.txt index 62286d2e..a4ddc7cd 100644 --- a/BIN/ASM.S.SRC.txt +++ b/BIN/ASM.S.SRC.txt @@ -2,9 +2,7 @@ NEW PREFIX /A2OSX.BUILD AUTO 4,1 *--------------------------------------- -SRC.PrintLine bra .8 - - >LDA.G ASM.MACRO.ON +SRC.PrintLine >LDA.G ASM.MACRO.ON bpl .1 >LDA.G ASM.LI.CON @@ -71,7 +69,7 @@ SRC.ParseLine lda #0 beq SRC.ParseLine.DirOp cmp #'.' local symbol? - bne .2 + bne .1 jsr SRC.GetNextChar bcs SRC.ParseLine.InvLbl @@ -86,27 +84,39 @@ SRC.ParseLine lda #0 beq SRC.ParseLine.InvLbl .0 is not allowed jsr SYM.AddLocalPC - - bra .7 + bcs .9 + bra SRC.ParseLine.DirOp .8 clc - rts +.9 rts -.2 lda #$ff +.1 lda #$ff >STA.G SYM.bGlobal >LDA.G ASM.PASS - beq .6 - - jsr SYM.LookupGlobal - bcs SRC.ParseLine.Undef -* jsr SYM.UpdateGlobal + bne .3 + + jsr SYM.AddGlobalPC Pass #1; try to add global... + bcc SRC.ParseLine.DirOp yes!!! go scan dir/op + + jsr SYM.LookupGlobal already defined...get it + + >LDA.G SYM.Lookup+SYM.F + bit #SYM.F.RW + bne .2 R/W, always update... + + bit #SYM.F.RESOLVED + bne SRC.ParseLine.Redef + +.2 jsr SYM.UpdateGlobal bra SRC.ParseLine.DirOp -.6 jsr SYM.AddGlobalPC +.3 jsr SYM.LookupGlobal Pass #2: shoould be already defined... + bcs SRC.ParseLine.Undef -.7 bcs SRC.ParseLine.Redef - + jsr SYM.UpdateGlobal + +*--------------------------------------- SRC.ParseLine.DirOp jsr SRC.GetNextCharNB Scan for an Opcode... bcs SRC.ParseLine.Ok @@ -123,7 +133,7 @@ SRC.ParseLine.DirOp jsr SRC.GetNextCharNB Scan for an Opcode... .5 cmp #'>' bne .6 - jsr SRC.ParseLine.Exec.Macro + jsr SRC.ParseLine.Macro bcs SRC.ParseLine.Err bra SRC.ParseLine.Ok @@ -157,11 +167,13 @@ SRC.ParseLine.Dir >LDYA L.T.DIRECTIVES jmp (J.DIRECTIVES,x) *--------------------------------------- -SRC.ParseLine.Exec.Macro - clc - rts -*--------------------------------------- -SRC.ParseLine.Add.Macro +SRC.ParseLine.Macro >LDA.G ASM.PASS + bne .1 + + + + +.1 clc rts *--------------------------------------- diff --git a/BIN/ASM.S.SYM.txt b/BIN/ASM.S.SYM.txt index ba16a4ad..52cd545c 100644 --- a/BIN/ASM.S.SYM.txt +++ b/BIN/ASM.S.SYM.txt @@ -38,24 +38,10 @@ SYM.Init >SYSCALL SListNew >STYA ZPLocalBuf txa >STA.G SYM.hLocalBuf - - >LDYAI 256 - >SYSCALL GetMem.YA - bcs .9 - - >STYA ZPMacroBuf - txa - >STA.G MAC.hBuf - .9 rts *--------------------------------------- -SYM.Quit >LDA.G MAC.hBuf - beq .1 - - >SYSCALL FreeMem.A - -.1 >LDA.G SYM.hLocalBuf +SYM.Quit >LDA.G SYM.hLocalBuf beq .2 >SYSCALL FreeMem.A @@ -64,7 +50,6 @@ SYM.Quit >LDA.G MAC.hBuf beq .8 >SYSCALL SListFree.A - .8 clc rts *--------------------------------------- @@ -128,9 +113,10 @@ SYM.AddGlobalPC ldx #4 dey dex bne .2 + + lda #SYM.F.RESOLVED *--------------------------------------- -SYM.AddGlobal lda #SYM.F.RESOLVED - >STA.G SYM.Global+SYM.F +SYM.AddGlobal >STA.G SYM.Global+SYM.F lda #5 F+DWORD >STA.G SYM.Global+SYM.LEN @@ -159,9 +145,7 @@ SYM.AddGlobal lda #SYM.F.RESOLVED *--------------------------------------- SYM.LookupGlobal >PUSHB.G SYM.hGlobals >PUSHW ZPLinePtr - >PUSHEA.G SYM.Lookup - >SYSCALL SListLookup bcs .9 @@ -176,8 +160,7 @@ SYM.LookupGlobal >PUSHB.G SYM.hGlobals >STA.G SYM.ID+1 txa >STA.G SYM.ID - - + .9 rts *--------------------------------------- SYM.UpdateGlobalAcc ldx #3 diff --git a/BIN/ASM.S.txt b/BIN/ASM.S.txt index 73fa369c..2650ad06 100644 --- a/BIN/ASM.S.txt +++ b/BIN/ASM.S.txt @@ -169,6 +169,9 @@ CS.INIT ldy #S.PS.ARGC jsr SYM.Init bcs .9 + jsr MAC.Init + bcs .9 + jsr DIR.Init >LDYAI 256 @@ -284,6 +287,7 @@ CS.DOEVENT sec CS.QUIT jsr FIO.FileClose bne CS.QUIT + jsr MAC.Quit jsr SYM.Quit >LDA.G ASM.T.hMem @@ -312,6 +316,7 @@ CS.QUIT jsr FIO.FileClose .INB /A2OSX.BUILD/BIN/DEV/ASM.S.DIR .INB /A2OSX.BUILD/BIN/DEV/ASM.S.EXP .INB /A2OSX.BUILD/BIN/DEV/ASM.S.FIO + .INB /A2OSX.BUILD/BIN/DEV/ASM.S.MAC .INB /A2OSX.BUILD/BIN/DEV/ASM.S.SRC .INB /A2OSX.BUILD/BIN/DEV/ASM.S.SYM *--------------------------------------- @@ -431,9 +436,6 @@ ASM.LI.CON .BS 1 ASM.LI.XON .BS 1 ASM.PC .BS 4 ASM.PC.PH .BS 4 -ASM.PC.GLABEL .BS 4 -ASM.LOCAL.OFFSET .BS 1 -ASM.LOCAL.INVALID .BS 1 SYM.hGlobals .BS 1 SYM.bGlobal .BS 1 @@ -445,6 +447,7 @@ SYM.LocalIndex .BS 1 SYM.Lookup .BS 6 +MAC.hMacros .BS 1 MAC.hBuf .BS 1 DS.END .ED diff --git a/INC/GUI.I.txt b/INC/GUI.I.txt index e2e9258e..4bbc7448 100644 --- a/INC/GUI.I.txt +++ b/INC/GUI.I.txt @@ -2,7 +2,6 @@ NEW PREFIX /A2OSX.BUILD AUTO 4,1 .LIST OFF - .OP 65C02 *-------------------------------------- S.CB.CMD .EQ 0 S.CB.CMD.SETPIXEL .EQ 0 diff --git a/SYS/KERNEL.S.MEM.txt b/SYS/KERNEL.S.MEM.txt index a2aeca2e..34c7f816 100644 --- a/SYS/KERNEL.S.MEM.txt +++ b/SYS/KERNEL.S.MEM.txt @@ -496,6 +496,7 @@ K.NewStr.YA >STYA .1+1 * PUSHW = Data Ptr * ## Out: * A = Key Length +* X,Y = KeyID *\-------------------------------------- K.SListAdd */-------------------------------------- diff --git a/SYS/KERNEL.S.SLIST.txt b/SYS/KERNEL.S.SLIST.txt index 9ceb86ac..c6317ab8 100644 --- a/SYS/KERNEL.S.SLIST.txt +++ b/SYS/KERNEL.S.SLIST.txt @@ -59,7 +59,9 @@ SLIST.Add jsr SLIST.Search clc .9 rts -.99 sec +.99 ldx SLIST.ID + ldy SLIST.ID+1 + sec rts *-------------------------------------- SLIST.Lookup jsr SLIST.Search