From cc36ac74e52e6274333afb86c5ca5b09e92fd28b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Wed, 24 Jan 2018 16:24:06 +0000 Subject: [PATCH] Kernel 0.9.1 : ASM rewrite....Symbols DB --- .Floppies/A2OSX.BUILD.po | Bin 819200 -> 819200 bytes .Floppies/A2OSX.SRC.po | Bin 819200 -> 819200 bytes BIN/ASM.S.DIR.txt | 9 ++-- BIN/ASM.S.EXP.txt | 5 +- BIN/ASM.S.SRC.txt | 52 +++++++++----------- BIN/ASM.S.SYM.txt | 48 ++++++++++++++++-- BIN/ASM.S.txt | 21 ++++---- SYS/KERNEL.S.SLIST.txt | 103 +++++++++++++++++++++++---------------- 8 files changed, 145 insertions(+), 93 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 64eb1cacc50ea1aa61c9900feda204d89ee1e053..87f830d76a610e4d0a519b0c44eb316ee13d9c73 100644 GIT binary patch delta 21305 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 Lx}UQA_Q?MMAYfI~ delta 20939 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 JcAYWq_&@p8mLC8B diff --git a/.Floppies/A2OSX.SRC.po b/.Floppies/A2OSX.SRC.po index 1f5db44d449e60044a5f31fb14b767a5506f1ace..2165e872a465a1a53b5e4f74221a733dba039e18 100644 GIT binary patch delta 3074 zcmaJ@dvp}l8UJRJn>)J`Lz8{XZZ;1>kRr&0T>>Ol#0?1$^Q0Tas8xo|Kq7gO-O8?~ zH5m;7seM>%Znv#%Xd$GwR!?cAFKBvd-!G4SXq*6+Qyi`gL_NG9-QcA~qV<0b+ z(nEQV^<^DrU28f0b{8jAHR;v0|oXQ`W9odSO?(C!9=IGieX|?vs^-?-+#K0M`Rz^Xt6ZAI;`cWg1MZaFqZ+LV1 zo6%cBH(9)u7AafiM3`)+xuqRiMki(KoDz*(i5n~>!EO@m@?DQ=4<@nkp_TYBv zcBt)K0iU$ZB3VG*$w@{9Np{b6N1)ihUBGVa?=q4Yk}<6=YKFjnGaGKBs=M>@a{U8* zAq?^@OkbHZarkYHEl=D;pORgb1%QgjQ1O$`-cFZEuE(By`lX96zY;zE2xi}m={o-pcC7((xTto;o2 z-Adft&%k%t zsafjJ`yRggzHd=+s6SvAaXs)u{OA4=cc7bd4nX}eTYQfCihg3p#rad~XPpZ}{K;(!Aop$ZYD?hdQC+q5x8}zoEa&9N1;z(sZuYrzc|F)43Hu zUgkhvSqR9m0r`JN7d&sOQR-K5clZ+ET(Lm6H6vYj>HRUoObl4fz_hx-YiOqa!>Yis zPIChXVKy86yA$0Y|5J3jf8n0>uk&ipa_umZY~KZXW#_*I@Bhr{@dg?c{}&BH<9I`k zMKhxQL9Emo#G2e?Qd-*@H6ykAd2#pj^?|Qk;KMd=U2gXDyjUDs@#f>> T5@~Eo9-DHGO}QqglxO}2G77(x delta 3424 zcmaJ^YgAlU72cPd%Q-VQA@Z0P)v6pkzELq%(7Y~v3DS{&|a@o65Rt)(^v=EIwb+_dgkjO zuFUoP_chEHBrfj;?kNo!80d+PT)i?5&W#E?I7{-B>zLU=oXUIHv6IxRZ$lq3sx^^TxDMGE)<@5MSy@J4!Ekw(_rw(Y;Mg>>D03HybU{ zSX*>IyKR<`(d}wtW2mFE!JJd@K5%xb<@XK84w>^}({ARx?MU(VK8v?oByV)5B*)n$ z$VrAYDeL0gCB7yZvA(Xbh1K%a{J7?HtL0{~*?J({6N>c(yZ6EBh{}2=)KytMe5Ke7 z46KKesLGB{s6{jOo5)ktR+I&a?nuNmW}e?kN)>z6sVAR(?e#a_44uS=yLdEAY%C*^ zd2yyjAhFTk)VQ?;yeru=T_m5iPm-tY^jZ*wE!@cJ?jQx_`gI(5*fi>4 zSp#6{;&{X>DnV<61n8SURJeEzc$?TgCy2*Rn;{VkkASCzjXgqKSNQ^9R5DJtY%rvJ zP7mGySok=2HVfly+6oEm3DDcnDQ~8!BP4%GCHR8u%!?$y5wf>%ha(nNzz@0YG6D%6 z@MC1Q8-btVaj=H~k1rPq+98uF+R6@`Ace|JBGxPQZK>R}?U)Yjl(FkOQfYZ^;gPvl z?!;wZ*Z)bywo9Zk4xX^cC7*U%xkRj7kh2~{@kY7xd~YvzxLZ2Z_VAaz78(1b%RcV1 zAB?KYv1i+#bU7eg*3tu(%R$R!6=(oO6cs@pKVC$|Icsqne3R zb(r-}61RU6De&HLd4MA+0D7lI;9VAh)u7#tn7)sR^XCJ4kL1Sw@zl|}SJJTV6YT95 zNL}G4rJtm>tT8$pKtG!D;9~63EOG2!b|3Gh5v!LH=wtb(upwLhoecrAs-_kk_b&$Y zKnjRHi1dtv!SxUaTBvfM9Ye?!5A(2nmB%?PpH4;m85yzXgjKlap=i`-nB*v;wVhKe z{1VA4U49ZH5|U_C@{XTI82z)nej_G!y!JVKFZeurtWo#X>tDdgq6ZNG^1hgioCBl2 z8Vx|d#E&XA_9-+QLO%%iC~o(CSrA(Qd0)Xz`v*~z=WIG{b?sN#`E%H{UlY`2IA&NO zUY6H1AeFI@V-;@VFd3g&3<~ObOEnIbeo9E}){#Y`-d5W(+jwZR^kpR}p z<|xhyPe`JrzjU{JSGI%gdm`9zDEdA-JB!gi$)k1FKgD+)TG)Ep4|rStaIq*sdz#1i zBN1c4GmFRgV>EI71QM)0NOE_1e#(Vukq*!P+1!}1F|{*%^!AR2np&I9wxB=I9BA@`{vty0>j2yF9B!hsR-3+L zeMg=96MlESEV^@|)4bNil9{d1f!(n^K+ju3_6pk6{+Y|e!uyC#yi5u`f3aZyns)a$ z+*0-`kI_A9?vBPxE>Ij8=mkrkUPF^ruY*zZ4pcd5n!|m22Tjz*u-T2uhPTlhmY+8* zKQ*BJ9YOSe;Jeiv|HOCu#gyj$3o~HHHtBku^WRq2&c8_C0y)h7N7iCNX+3YVOKrrp zW9fg<1Mkv$tlcGa;ey47StUKpX5bJ?RX!`D*escAo}6pIttpAA^W5G0N(GA}db zY6Ov-)Eaeda@4hpQFj|%iVph2pe^GgZOa-R>*J--7(o`TsOhV&yIqLDA.G SYM.bGlobal + beq .99 + + jsr SRC.GetNextCharNB bcs .99 jsr EXP.Eval bcs .9 -* jsr SYM.UpdateGlobal -* bcs .9 + jsr SYM.UpdateGlobalAcc + bcs .9 clc rts diff --git a/BIN/ASM.S.EXP.txt b/BIN/ASM.S.EXP.txt index 2174287f..9bf13256 100644 --- a/BIN/ASM.S.EXP.txt +++ b/BIN/ASM.S.EXP.txt @@ -72,6 +72,7 @@ EXP.Eval.Next1 cmp #'.' Local Label? .2 cmp #'%' binary? bne .3 + jsr SRC.GetBinary bcs EXP.EvalExitSYN @@ -125,8 +126,7 @@ EXP.EvalExitSYN lda #ERR.SYNTAX.ERROR EXP.EvalExitUND lda #ERR.UNDEF.SYMBOL sec rts - - + EXP.EvalOperator lda EXP.Operator beq .7 @@ -148,6 +148,7 @@ EXP.EvalOperator lda EXP.Operator stx EXP.Operator ldx #3 + .8 lda SRC.ACC,x sta SRC.ARG,x dex diff --git a/BIN/ASM.S.SRC.txt b/BIN/ASM.S.SRC.txt index e11d6e5f..66398805 100644 --- a/BIN/ASM.S.SRC.txt +++ b/BIN/ASM.S.SRC.txt @@ -2,7 +2,9 @@ NEW PREFIX /A2OSX.BUILD AUTO 4,1 *--------------------------------------- -SRC.PrintLine >LDA.G ASM.MACRO.ON +SRC.PrintLine bra .8 + + >LDA.G ASM.MACRO.ON bpl .1 >LDA.G ASM.LI.CON @@ -54,7 +56,7 @@ SRC.PrintLineErr >PUSHW ZPLineBuf .9 rts *--------------------------------------- SRC.ParseLine lda #0 - >STA.G SYM.bGlobalUpdate + >STA.G SYM.bGlobal jsr SRC.GetChar bcs .8 @@ -84,14 +86,25 @@ SRC.ParseLine lda #0 jsr SYM.AddLocal - bra .3 + bra .7 .8 clc rts -.2 jsr SYM.AddGlobalPC +.2 lda #$ff + >STA.G SYM.bGlobal -.3 bcs SRC.ParseLine.Err + >LDA.G ASM.PASS + beq .6 + + jsr SYM.LookupGlobal + bcs SRC.ParseLine.Undef + jsr SYM.UpdateGlobal + bra SRC.ParseLine.DirOp + +.6 jsr SYM.AddGlobalPC + +.7 bcs SRC.ParseLine.Redef SRC.ParseLine.DirOp jsr SRC.GetNextCharNB Scan for an Opcode... bcs SRC.ParseLine.Ok @@ -116,29 +129,7 @@ SRC.ParseLine.DirOp jsr SRC.GetNextCharNB Scan for an Opcode... .6 jsr SRC.ParseLine.OpCode bcs SRC.ParseLine.Err -SRC.ParseLine.Ok >LDA.G SYM.bGlobalUpdate - bpl .8 - bra .8 - - - - ldy #ASM.PASS - lda (pData),y pass#2? - bne .8 yes, nothing to do -* --- Pass #1 - - >LDA.G SYM.Global+SYM.F - bit #SYM.F.RESOLVED found symbol pending ? - bne .2 yes, update - - bit #SYM.F.RW found is .SE ? - beq SRC.ParseLine.Redef no, redefine error - -.2 jsr SYM.UpdateGlobal - bra .8 - - -.8 clc +SRC.ParseLine.Ok clc rts SRC.ParseLine.InvLbl @@ -146,10 +137,13 @@ SRC.ParseLine.InvLbl SRC.ParseLine.Err sec rts -SRC.ParseLine.Redef lda #ERR.SYMBOL.REDEFINE +SRC.ParseLine.Redef lda #ERR.SYMBOL.REDEF sec rts +SRC.ParseLine.Undef lda #ERR.UNDEF.SYMBOL + sec + rts SRC.ParseLine.InvDir lda #ERR.INV.DIR sec diff --git a/BIN/ASM.S.SYM.txt b/BIN/ASM.S.SYM.txt index 172d24f3..45b3381b 100644 --- a/BIN/ASM.S.SYM.txt +++ b/BIN/ASM.S.SYM.txt @@ -70,6 +70,7 @@ SYM.Dump >LDYA L.MSG.SYMBOLS >LDYA L.MSG.GSYMBOL >SYSCALL PrintF.YA + >DEBUG bcc .1 rts @@ -99,7 +100,7 @@ SYM.AddGlobalPC ldx #4 SYM.AddGlobal lda #SYM.F.RESOLVED >STA.G SYM.Global+SYM.F - lda #6 LEN+F+DWORD + lda #5 F+DWORD >STA.G SYM.Global+SYM.LEN >PUSHB.G SYM.hGlobals @@ -118,14 +119,53 @@ SYM.AddGlobal lda #SYM.F.RESOLVED clc .1 tya - >STA.G ASM.SYM.ID+1 + >STA.G SYM.ID+1 dey txa sta (pData),y .9 rts *--------------------------------------- -SYM.UpdateGlobal >PUSHB.G SYM.hGlobals - >PUSHW.G ASM.SYM.ID +SYM.LookupGlobal >PUSHB.G SYM.hGlobals + >PUSHW ZPLinePtr + + >PUSHEA.G SYM.Lookup + + >SYSCALL SListLookup + bcs .9 + + adc ZPLinePtr + sta ZPLinePtr + bcc .1 + + inc ZPLinePtr+1 + clc + +.1 tya + >STA.G SYM.ID+1 + txa + >STA.G SYM.ID + + +.9 rts +*--------------------------------------- +SYM.UpdateGlobalAcc ldx #3 + + ldy #SYM.Global+SYM.V+3 + +.1 lda SRC.ACC,x + sta (pData),y + dey + dex + bpl .1 +*--------------------------------------- +SYM.UpdateGlobal lda #SYM.F.RESOLVED + >STA.G SYM.Global+SYM.F + + lda #5 F+DWORD + >STA.G SYM.Global+SYM.LEN + + >PUSHB.G SYM.hGlobals + >PUSHW.G SYM.ID >PUSHEA.G SYM.Global >SYSCALL SListUpdateByID diff --git a/BIN/ASM.S.txt b/BIN/ASM.S.txt index 8bba02aa..f4e89cda 100644 --- a/BIN/ASM.S.txt +++ b/BIN/ASM.S.txt @@ -49,7 +49,7 @@ ERR.INV.AM.SYN .EQ $A7 ERR.INV.AM.4.OC .EQ $A8 ERR.RANGE .EQ $A9 ERR.UNDEF.SYMBOL .EQ $AA -ERR.SYMBOL.REDEFINE .EQ $AB +ERR.SYMBOL.REDEF .EQ $AB ERR.TOO.MANY.DO .EQ $AC ERR.MISSING.EXP .EQ $B0 ERR.EXP.SYN.ERROR .EQ $B1 @@ -215,8 +215,7 @@ CS.RUN >SYSCALL GetChar lda (pData),y bne .10 - ldy #ASM.PASS - lda (pData),y + >LDA.G ASM.PASS inc >PUSHA >LDYA L.MSG.PASS @@ -241,8 +240,7 @@ CS.RUN >SYSCALL GetChar lda (pData),y bne .8 no continue back to previous file - ldy #ASM.PASS - lda (pData),y End of pass #2 ?? + >LDA.G ASM.PASS End of pass #2 ?? bne .1 inc sta (pData),y @@ -270,15 +268,14 @@ CS.RUN >SYSCALL GetChar .9 pha jsr SRC.PrintLineErr + >DEBUG + jsr SYM.Dump pla pha >PUSHA >PUSHW SRC.LINENUM >LDYA L.MSG.ERROR >SYSCALL PrintF.YA - - jsr SYM.Dump - pla sec rts @@ -380,7 +377,7 @@ MSG.SRCLINE >CSTR "%H- %05D %s\r\n" MSG.LINECR >CSTR "%s\r\n" MSG.ERROR >CSTR "%05D-Error:$%h\r\n" MSG.SYMBOLS >CSTR "Symbol Table:\r\n" -MSG.GSYMBOL >CSTR "$%H%H:%S\r\n" +MSG.GSYMBOL >CSTR "$%h%h%h%h:%S\r\n" MSG.SUMMARY >CSTR "\r\nEnd Of Assembly.\r\n" SRC.AM.RESERVED >PSTR "[]()," SRC.MOD.RESERVED >PSTR "#/<>" @@ -441,12 +438,12 @@ ASM.PC.PH .BS 4 ASM.PC.GLABEL .BS 4 ASM.LOCAL.OFFSET .BS 1 ASM.LOCAL.INVALID .BS 1 -ASM.SYM.ID .BS 2 SYM.hGlobals .BS 1 -SYM.bGlobalUpdate .BS 1 +SYM.bGlobal .BS 1 SYM.Global .BS 6 -SYM.ID .BS 1 +SYM.Lookup .BS 6 +SYM.ID .BS 2 DS.END .ED *--------------------------------------- .DO DS.END-DS.START>$FF diff --git a/SYS/KERNEL.S.SLIST.txt b/SYS/KERNEL.S.SLIST.txt index 253c8c9e..3c620376 100644 --- a/SYS/KERNEL.S.SLIST.txt +++ b/SYS/KERNEL.S.SLIST.txt @@ -11,7 +11,7 @@ X.SLIST jmp (.1-SYS.SListAdd,x) .DA SLIST.Free.A *-------------------------------------- SLIST.Add jsr SLIST.Search - bcc .9 Lookup succeeded...DUP + bcc .99 Lookup succeeded...DUP ldy #$ff @@ -40,7 +40,7 @@ SLIST.Add jsr SLIST.Search jsr MEM.GetDataByteY tax - >DEBUG + jsr SLIST.AddBlockByte bcs .9 @@ -58,8 +58,12 @@ SLIST.Add jsr SLIST.Search ldy SLIST.ID+1 clc .9 rts + +.99 sec + rts *-------------------------------------- SLIST.Lookup jsr SLIST.Search + bcs .9 sty .8+1 @@ -70,7 +74,7 @@ SLIST.Lookup jsr SLIST.Search tax jsr MEM.SetDataByteY -.1 jsr SLIST.GetBlockByte +.1 jsr SLIST.NextBlockByte iny jsr MEM.SetDataByteY dex @@ -83,33 +87,36 @@ SLIST.Lookup jsr SLIST.Search .9 rts *-------------------------------------- SLIST.GetByID jsr SLIST.Select + jsr SLIST.GetBlockByte - bcs .9 tax - + beq .9 + ldy #0 jsr MEM.SetDataByteY -.1 jsr SLIST.GetBlockByte +.1 jsr SLIST.NextBlockByte iny jsr MEM.SetDataByteY dex bne .1 - jsr SLIST.GetBlockByte + jsr SLIST.NextBlockByte tax iny jsr MEM.SetDataByteY -.2 jsr SLIST.GetBlockByte +.2 jsr SLIST.NextBlockByte iny jsr MEM.SetDataByteY dex bne .2 + + jsr SLIST.NextBlockByte lda SLIST.IndexOfs ldy SLIST.BlockOfs @@ -123,27 +130,32 @@ SLIST.GetByID jsr SLIST.Select SLIST.UpdateByID jsr SLIST.Select + jsr SLIST.GetBlockByte + tax + +.1 jsr SLIST.NextBlockByte + dex + bne .1 + + jsr SLIST.NextBlockByte set pos at DATALEN + ldy #0 jsr MEM.GetDataByteY tax jsr SLIST.SetBlockByte - bcs .9 .4 iny jsr MEM.GetDataByteY jsr SLIST.SetBlockByte - bcs .9 dex bne .4 -.8 lda #$ff SELF MODIFIED - clc -.9 rts + rts *-------------------------------------- SLIST.New >LDYAI 160 40k Max before out of memory!!! jsr K.GetMem0.YA @@ -196,67 +208,74 @@ SLIST.Search jsr K.GetMemPtr.A >STYA ZPSListIndex stz SLIST.IndexOfs - + stz SLIST.ID+1 + lda (ZPSListIndex) jsr K.GetMemPtr.A >STYA ZPSListBlock stz SLIST.BlockOfs - -.1 lda SLIST.IndexOfs - sta SLIST.ID - - lda SLIST.BlockOfs - sta SLIST.ID+1 + stz SLIST.ID jsr SLIST.GetBlockByte + tax beq .9 - ldy #0 +.1 ldy #0 .2 jsr MEM.GetKeyCharY bcs .4 iny sta .3+1 - jsr SLIST.GetBlockByte + jsr SLIST.NextBlockByte .3 cmp #$ff SELF MODIFIED bne .4 dex bne .2 + jsr MEM.GetKeyCharY + bcs .8 End of Key....match!!!! + + jsr SLIST.NextBlockByte + bra .41 + +.8 jsr SLIST.NextBlockByte Advance to DATA LEN + clc Y = Key Length rts -.4 jsr SLIST.GetBlockByte skip remaining key chars +.4 jsr SLIST.NextBlockByte skip remaining key chars dex bne .4 - jsr SLIST.GetBlockByte get Data Len - tax +.41 tax A=get Data Len -.5 jsr SLIST.GetBlockByte skip data bytes +.5 jsr SLIST.NextBlockByte skip data bytes dex bne .5 - bra .1 + jsr SLIST.NextBlockByte + + ldx SLIST.IndexOfs + stx SLIST.ID+1 + ldx SLIST.BlockOfs + stx SLIST.ID + + tax + bne .1 .9 sec rts *-------------------------------------- -SLIST.GetBlockByte - phy - ldy SLIST.BlockOfs - lda (ZPSListBlock),y - beq .99 - +SLIST.NextBlockByte inc SLIST.BlockOfs - bne .8 + bne SLIST.GetBlockByte - pha + phy inc SLIST.IndexOfs ldy SLIST.IndexOfs lda (ZPSListIndex),y @@ -264,17 +283,15 @@ SLIST.GetBlockByte jsr K.GetMemPtr.A >STYA ZPSListBlock * stz SLIST.BlockOfs - - pla + .HS A9 lda imm +SLIST.GetBlockByte + phy + ldy SLIST.BlockOfs + lda (ZPSListBlock),y -.8 ply + ply clc rts - -.9 pla -.99 ply - sec - rts *-------------------------------------- SLIST.AddBlockByte phy