diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 6316b27b..09656c81 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/BIN/ASM.S.DIR.txt b/BIN/ASM.S.DIR.txt index aecd4b70..6a99dcdc 100644 --- a/BIN/ASM.S.DIR.txt +++ b/BIN/ASM.S.DIR.txt @@ -478,7 +478,7 @@ DIR.MA >LDA.G MAC.bAdd jsr SRC.GetNextCharNB beq DIR.OP.SYNERR - jsr MAC.Clear + jsr MAC.New .8 lda #$ff >STA.G MAC.bAdd diff --git a/BIN/ASM.S.EXP.txt b/BIN/ASM.S.EXP.txt index 1f01cae5..23cde09e 100644 --- a/BIN/ASM.S.EXP.txt +++ b/BIN/ASM.S.EXP.txt @@ -15,6 +15,10 @@ AUTO 4,1 * & = octal * * = PC *--------------------------------------- +EXP.Eval.Missing lda #ERR.MISSING.EXP + sec + rts + EXP.Eval >STZ.G EXP.Modifier >STZ.G EXP.Prefix >STZ.G EXP.Operator @@ -23,19 +27,15 @@ EXP.Eval >STZ.G EXP.Modifier bcs EXP.Eval.Missing jsr SRC.IsMODReserved - bcs EXP.Eval.Next1 + bcs EXP.Eval.Next txa >STA.G EXP.Modifier lda #'#' >STA.G EXP.Prefix - bra EXP.Eval.Next +EXP.Eval.Next0 jsr SRC.GetNextChar -EXP.Eval.Missing lda #ERR.MISSING.EXP - sec - rts - EXP.Eval.Next lda #2 sta SRC.ACC.SIZE Default To WORD (2 bytes) @@ -44,13 +44,13 @@ EXP.Eval.Next lda #2 stz SRC.ACC+2 stz SRC.ACC+3 - jsr SRC.GetNextChar + jsr SRC.GetChar bcs EXP.Eval.Missing -EXP.Eval.Next1 cmp #'.' Local Label? + cmp #'.' Local Label? bne .12 - jsr EXP.GetLocal + jsr EXP.GetLSymIDInAcc bcs .14 jmp EXP.EvalOperator @@ -133,7 +133,7 @@ EXP.Eval.Next1 cmp #'.' Local Label? .42 jsr SRC.IsLetter Symbol ? bcs EXP.EvalExitSYN - jsr EXP.GetSymbolValue + jsr EXP.GetGSymValueInAcc bcs EXP.EvalExitUND bra EXP.EvalOperator @@ -173,16 +173,16 @@ EXP.EvalOperator >LDA.G EXP.Operator txa >STA.G EXP.Operator - ldx #3 + ldx #4 -.8 lda SRC.ACC,x - sta SRC.ARG,x +.8 lda SRC.ACC.SIZE,x + sta SRC.ARG.SIZE,x dex bpl .8 - jmp EXP.Eval.Next + jmp EXP.Eval.Next0 *--------------------------------------- -EXP.GetLocal jsr SRC.GetNextChar +EXP.GetLSymIDInAcc jsr SRC.GetNextChar bcs .9 jsr SRC.GetDecimal @@ -201,16 +201,9 @@ EXP.GetLocal jsr SRC.GetNextChar .9 lda #ERR.SYNTAX.ERROR sec rts -*--------------------------------------- -EXP.SetAccA sta SRC.ACC - stz SRC.ACC+1 - stz SRC.ACC+2 - stz SRC.ACC+3 - lda #1 - sta SRC.ACC.SIZE - rts *--------------------------------------- -EXP.GetSymbolValue jsr SYM.LookupGlobal +EXP.GetGSymValueInAcc + jsr SYM.LookupGlobal bcs .2 ldy #SYM.Lookup+5 @@ -231,23 +224,37 @@ EXP.GetSymbolValue jsr SYM.LookupGlobal .2 >LDA.G ASM.PASS pass#2? bne .99 yes, undefined symbol - lda #0 - sta SRC.ACC.SIZE Add Pending - jsr SYM.AddGlobal -.3 clc + lda #0 Mark ACC as pending + sta SRC.ACC.SIZE + +.3 jsr SRC.GetNextChar + bcs .8 + + jsr SRC.IsLetterOrDigit + bcc .3 + cmp #'.' + beq .3 + cmp #'_' + beq .3 + +.8 clc rts .99 lda #ERR.UNDEF.SYMBOL sec .9 rts *--------------------------------------- +EXP.SetAccA sta SRC.ACC + stz SRC.ACC+1 + stz SRC.ACC+2 + stz SRC.ACC+3 + lda #1 + sta SRC.ACC.SIZE + rts +*--------------------------------------- EXP.Compute asl tax - >LDA.G ASM.PASS pass#2? - beq .8 jmp (J.EXP.OP-2,x) -.8 clc - rts *--------------------------------------- EXP.MOD.8.3 lda SRC.ACC+2 bra EXP.MOD.8 diff --git a/BIN/ASM.S.FIO.txt b/BIN/ASM.S.FIO.txt index abf4df58..86b98704 100644 --- a/BIN/ASM.S.FIO.txt +++ b/BIN/ASM.S.FIO.txt @@ -55,7 +55,7 @@ FIO.LOAD.ASM.T >STYA ZPPtr2 .4 >PUSHW L.ASM.T.FILENAME >LDYA L.MSG.T.FILE - >SYSCALL PrintF.YA + jsr OUT.Print >PUSHWI 0 Aux type >PUSHBI 6 S.FI.T.BIN @@ -107,7 +107,7 @@ FIO.OpenFile >STYA ZPPtr1 >PUSHW ZPPtr1 >LDYA L.MSG.SRC.FILE - >SYSCALL PrintF.YA + jsr OUT.Print ldy #SRC.COUNT lda (pData),y diff --git a/BIN/ASM.S.MAC.txt b/BIN/ASM.S.MAC.txt index 4ddd7324..b1187d7e 100644 --- a/BIN/ASM.S.MAC.txt +++ b/BIN/ASM.S.MAC.txt @@ -29,7 +29,7 @@ MAC.Quit >LDA.G MAC.hBuf .8 clc rts *--------------------------------------- -MAC.Clear lda #0 +MAC.New lda #0 tay .1 sta (ZPMacroBuf),y @@ -38,7 +38,10 @@ MAC.Clear lda #0 rts *--------------------------------------- -MAC.AddChar tax +MAC.AddChar >LDA.G ASM.PASS If Pass#2, ignore + bne .8 + + tax lda (ZPMacroBuf) * cmp #254 * beq .9 CS if EQ @@ -55,7 +58,7 @@ MAC.AddChar tax beq .1 * >SYSCALL PutChar.A - clc +.8 clc rts .1 @@ -68,7 +71,10 @@ MAC.AddChar tax clc .9 rts *--------------------------------------- -MAC.Store clc +MAC.Store >LDA.G ASM.PASS If Pass#2, ignore + bne .8 + +.8 clc rts *--------------------------------------- diff --git a/BIN/ASM.S.OUT.txt b/BIN/ASM.S.OUT.txt index e1175406..a28e80d7 100644 --- a/BIN/ASM.S.OUT.txt +++ b/BIN/ASM.S.OUT.txt @@ -2,6 +2,10 @@ NEW PREFIX /A2OSX.BUILD AUTO 4,1 *--------------------------------------- +OUT.Init lda #20 + >STA.G OUT.LineCnt + rts +*--------------------------------------- OUT.Reset ldx #4 ldy #ASM.PC @@ -24,6 +28,7 @@ OUT.Reset ldx #4 >STZ.G OUT.Buf >STA.G OUT.bEquate + rts *--------------------------------------- OUT.PrintLineErr >STA.G DIR.Byte Save Error code @@ -70,7 +75,7 @@ OUT.PrintLine.1 jsr OUT.PrintLineOutBuf >PUSHW ZPLineBuf >PUSHW.G SRC.LINENUM >LDYA L.MSG.SRCLINE - >SYSCALL PrintF.YA + jmp OUT.Print OUT.PrintLine.9 rts *--------------------------------------- OUT.PrintLineOn clc @@ -134,7 +139,7 @@ OUT.PrintLineOutBuf >LDA.G OUT.bEquate ldy L.MSG.OUT0,x lda L.MSG.OUT0+1,x >SYSCALL PrintF.YA - rts + rts OUT.PrintLineAcc ldx SRC.ACC.SIZE beq .2 @@ -154,6 +159,24 @@ OUT.PrintLineAcc ldx SRC.ACC.SIZE lda L.MSG.EQU0+1,x >SYSCALL PrintF.YA rts +*--------------------------------------- +OUT.Print >SYSCALL PrintF.YA + bra OUT.Print1 + +OUT.PrintCR lda #13 + >SYSCALL PutChar.A + lda #10 + >SYSCALL PutChar.A + +OUT.Print1 >DEC.G OUT.LineCnt + bne .8 + + lda #20 + sta (pData),y + + >DEBUG + +.8 rts *--------------------------------------- OUT.EmitByte phy phx @@ -170,10 +193,7 @@ OUT.EmitByte phy bpl .1 jsr OUT.PrintLineOutBuf - lda #13 - >SYSCALL PutChar.A - lda #10 - >SYSCALL PutChar.A + jsr OUT.PrintCR .1 jsr OUT.Reset diff --git a/BIN/ASM.S.SRC.txt b/BIN/ASM.S.SRC.txt index 6cfedcc9..e678941b 100644 --- a/BIN/ASM.S.SRC.txt +++ b/BIN/ASM.S.SRC.txt @@ -29,10 +29,7 @@ SRC.ParseLine jsr OUT.Reset .8 clc rts -SRC.ParseLine.Macro >LDA.G ASM.PASS If Pass#2, ignore - bne .8 - - lda (ZPLinePtr) +SRC.ParseLine.Macro lda (ZPLinePtr) cmp #' ' No label, scan to DIR/OP if any bne .1 @@ -82,8 +79,7 @@ SRC.ParseLine.Macro >LDA.G ASM.PASS If Pass#2, ignore .22 jsr MAC.Store bcs SRC.ParseLine.RTS - lda #0 - >STA.G MAC.bAdd + >STZ.G MAC.bAdd .8 clc rts @@ -139,7 +135,7 @@ SRC.ParseLine.LABEL jsr SRC.GetChar cmp #'.' local symbol? bne .1 - >LDA.G SYM.bGlobal + lda (ZPGlobalBuf) beq SRC.ParseLine.InvLbl jsr SRC.GetNextChar @@ -154,38 +150,24 @@ SRC.ParseLine.LABEL jsr SRC.GetChar lda SRC.ACC beq SRC.ParseLine.InvLbl .0 is not allowed - jsr SYM.AddLocalPC + jsr SYM.AddLocal bcs SRC.ParseLine.RTS bra SRC.ParseLine.DirOp .1 jsr SYMG.FlushGlobal bcs SRC.ParseLine.Err - lda #$ff - >STA.G SYM.bGlobal - >LDA.G ASM.PASS - bne .3 + bne .2 - 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 + bcc SRC.ParseLine.Redef - >LDA.G SYM.Lookup+SYMG.F - bit #SYMG.F.RW - bne .2 R/W, always update... - - bit #SYMG.F.RESOLVED - bne SRC.ParseLine.Redef - -.2 jsr SYM.UpdateGlobalPC + jsr SYM.NewGlobal Pass #1; try to add global... bra SRC.ParseLine.DirOp -.3 jsr SYM.LookupGlobal Pass #2: should be already defined... - bcs SRC.ParseLine.Undef - - jsr SYM.UpdateGlobalPC +.2 jsr SYM.GetGlobal Pass #2: should be already defined... + bcs SRC.ParseLine.Undef *--------------------------------------- SRC.ParseLine.DirOp jsr SRC.GetNextCharNB Scan for an Opcode... bcs SRC.ParseLine.Ok @@ -478,7 +460,7 @@ SRC.ParseLine.OPAMCheck .2 lda (ZPOpDefPtr) bne .1 - lda #ERR.INV.AM.4.OC +.99 lda #ERR.INV.AM.4.OC sec rts @@ -516,14 +498,24 @@ SRC.ParseLine.OPAMCheck .5 bne .6 ldx SRC.ACCTMP - lda SRC.ACC,x inc SRC.ACCTMP + lda SRC.ACC,x bra .50 .6 cmp #'r - >DEBUG - + bne .99 + ldx SRC.ACCTMP + inc SRC.ACCTMP + lda ASM.PC,x + sec + sbc SRC.ACC,x + pha + + + + pla + bra .50 .8 clc .9 rts diff --git a/BIN/ASM.S.SYM.txt b/BIN/ASM.S.SYM.txt index 4972a14e..9f9e4c89 100644 --- a/BIN/ASM.S.SYM.txt +++ b/BIN/ASM.S.SYM.txt @@ -2,21 +2,20 @@ NEW PREFIX /A2OSX.BUILD AUTO 4,1 *--------------------------------------- -* Global Symbol Record: (8 bytes) -* 0 : Len (8) +* Global Symbol Record: (6+ bytes) +* 0 : Len * 1 : Flags: * b7=0=pending,1=resolved * b6=R/W (.SE) * b2,b1,b0 : Size (in bytes) * 2-5 : 32 bits Value -* 6-7 : LSID (Local Symbols ID) +* 6+ : Local Symbols..... *--------------------------------------- -* Local Symbol Record: (7 bytes) -* 0 : Len (8) +* Local Symbol Record: (6 bytes) +* 0 : Local ID (1->255) * 1 : Flags: * b7=0=pending,1=resolved * 2-5 : 32 bits Value (PC) -* 6 : Local ID (1->255) *--------------------------------------- * Private Symbol Record: (9 bytes) * 0 : Len (8) @@ -31,36 +30,39 @@ SYM.Init >SYSCALL SListNew >STA.G SYM.hGlobals - - >SYSCALL SListNew + >LDYAI 256 + >SYSCALL GetMem.YA bcs .9 - - >STA.G SYM.hLocals + + >STYA ZPGlobalBuf + txa + >STA.G SYM.hGlobalBuf >LDYAI 256 >SYSCALL GetMem.YA bcs .9 - >STYA ZPLocalBuf + >STYA ZPLookupBuf txa - >STA.G SYM.hLocalBuf + >STA.G SYM.hLookupBuf .9 rts *--------------------------------------- -SYM.Reset >STZ.G SYM.bGlobal - >STA.G SYM.LocalIndex +SYM.Reset lda #0 + sta (ZPGlobalBuf) rts *--------------------------------------- -SYM.Quit >LDA.G SYM.hLocalBuf +SYM.Quit >LDA.G SYM.hLookpBuf + beq .1 + + >SYSCALL FreeMem.A + +.1 >LDA.G SYM.hGlobalBuf beq .2 >SYSCALL FreeMem.A -.2 >LDA.G SYM.hLocals - beq .3 - >SYSCALL SListFree.A - -.3 >LDA.G SYM.hGlobals +.2 >LDA.G SYM.hGlobals beq .8 >SYSCALL SListFree.A @@ -129,18 +131,44 @@ SYM.Dump stz ZPLinePtr .8 clc rts *--------------------------------------- -SYM.AddGlobalPC jsr SYM.PC2Global A=PC Size - ora #SYMG.F.RESOLVED PC is always known -*--------------------------------------- -SYM.AddGlobal >STA.G SYM.Global+SYMG.F +SYM.NewGlobal >LDYA ZPLinePtr + >STYA SYM.GlobalPtr - lda #SYMG.SIZE-1 F+V+LSID - >STA.G SYM.Global+SYMG.LEN + jsr SYM.PC2Global A=PC Size + ora #SYMG.F.RESOLVED PC is always known + ldy #SYMG.F + sta (ZPGlobalBuf),y + + lda #SYMG.SIZE-1 +* ldy #SYMG.LEN + sta (ZPGlobalBuf) + clc + rts +*--------------------------------------- +SYM.GetGlobal >PUSHB.G SYM.hGlobals + >PUSHW ZPLinePtr + >PUSHW ZPGlobalBuf + >SYSCALL SListLookup + bcs .9 - >PUSHB.G SYM.hGlobals + adc ZPLinePtr + sta ZPLinePtr + bcc .1 + + inc ZPLinePtr+1 + clc + +.1 tya + >STA.G SYM.GlobalID+1 + txa + >STA.G SYM.GlobalID + +.9 rts +*--------------------------------------- +SYM.AddGlobal >PUSHB.G SYM.hGlobals >PUSHW ZPLinePtr - >PUSHEA.G SYM.Global + >PUSHW ZPGlobalBuf >SYSCALL SListAdd bcs .9 @@ -163,27 +191,20 @@ SYM.AddGlobal >STA.G SYM.Global+SYMG.F *--------------------------------------- SYM.LookupGlobal >PUSHB.G SYM.hGlobals >PUSHW ZPLinePtr - >PUSHEA.G SYM.Lookup + >PUSHW ZPLookupBuf >SYSCALL SListLookup bcs .9 adc ZPLinePtr sta ZPLinePtr - bcc .1 + bcc .8 inc ZPLinePtr+1 clc -.1 tya - >STA.G SYM.GlobalID+1 - txa - >STA.G SYM.GlobalID - +.8 .9 rts *--------------------------------------- -SYM.UpdateGlobalPC jsr SYM.PC2Global - bra SYM.UpdateGlobal -*--------------------------------------- SYM.UpdateGlobalAcc ldx #3 ldy #SYM.Global+SYMG.V+3 @@ -209,7 +230,7 @@ SYM.UpdateGlobal ora #SYMG.F.RESOLVED >SYSCALL SListUpdateByID rts *--------------------------------------- -SYMG.FlushGlobal clc +SYMG.FlushGlobal clc rts *--------------------------------------- SYM.PC2Global ldx #4 @@ -224,10 +245,10 @@ SYM.PC2Global ldx #4 ldx #4 - ldy #SYM.Global+SYMG.V+3 + ldy #SYMG.V+3 .2 pla - sta (pData),y + sta (ZPGlobalBuf),y dey dex bne .2 @@ -235,30 +256,32 @@ SYM.PC2Global ldx #4 ldx #4 ldy #ASM.PC+3 -.3 lda (pData),y +.3 lda (ZPGlobalBuf),y bne .4 dex dey bne .3 -.4 txa A=PC Size +.4 txa + + ora #SYMG.F.RESOLVED + ldy #SYMG.F + sta (ZPGlobalBuf),y + + txa A=PC Size rts *--------------------------------------- -SYM.AddLocalPC tax Save ID +SYM.AddLocal tax Save ID - >LDA.G SYM.LocalIndex + lda (ZPGlobalBuf) tay clc - adc #6 + adc #SYML.SIZE bcs .9 txa Get Back ID - sta (ZPLocalBuf),y - - iny - lda #SYMG.F.RESOLVED - sta (ZPLocalBuf),y + sta (ZPGlobalBuf),y iny phy @@ -278,46 +301,15 @@ SYM.AddLocalPC tax Save ID ply .2 pla - sta (ZPLocalBuf),y + sta (ZPGlobalBuf),y iny dex bne .2 lda #0 - sta (ZPLocalBuf),y + sta (ZPGlobalBuf),y tya - >STA.G SYM.LocalIndex - -* clc - rts - -.9 lda #ERR.TOO.MANY.LOCAL -* sec - rts -*--------------------------------------- -SYM.AddLocalPending tax Save ID - - >LDA.G SYM.LocalIndex - tay - clc - adc #6 - bcs .9 - - txa Get Back ID - sta (ZPLocalBuf),y - - ldx #6 F+DWORD+Ending 0 - - lda #0 - -.1 iny - sta (ZPLocalBuf),y - - iny - dex - bne .1 - - >STA.G SYM.LocalIndex + sta (ZPGlobalBuf) * clc rts diff --git a/BIN/ASM.S.txt b/BIN/ASM.S.txt index ce5c96fa..6566dfc3 100644 --- a/BIN/ASM.S.txt +++ b/BIN/ASM.S.txt @@ -14,29 +14,29 @@ ZPPtr2 .EQ ZPBIN+2 ZPPtr3 .EQ ZPBIN+4 ZPLineBuf .EQ ZPBIN+6 ZPLinePtr .EQ ZPBIN+8 -ZPLocalBuf .EQ ZPBIN+10 -ZPMacroBuf .EQ ZPBIN+12 -ZPTmpBuf .EQ ZPBIN+14 -ZPAMPtr .EQ ZPBIN+16 -ZPRPtr .EQ ZPBIN+18 -ZPOpsPtr .EQ ZPBIN+20 -ZPOpDefPtr .EQ ZPBIN+22 +ZPGlobalBuf .EQ ZPBIN+10 +ZPLookupBuf .EQ ZPBIN+12 +ZPMacroBuf .EQ ZPBIN+14 +ZPTmpBuf .EQ ZPBIN+16 +ZPAMPtr .EQ ZPBIN+18 +ZPRPtr .EQ ZPBIN+20 +ZPOpsPtr .EQ ZPBIN+22 +ZPOpDefPtr .EQ ZPBIN+24 *--------------------------------------- SYMG.LEN .EQ 0 SYMG.F .EQ 1 -SYMG.F.RESOLVED .EQ %10000000 -SYMG.F.RW .EQ %01000000 -SYMG.F.SIZE .EQ %00000111 +SYMG.F.RESOLVED .EQ %10000000 +SYMG.F.RW .EQ %01000000 +SYMG.F.EQU .EQ %00100000 +SYMG.F.SIZE .EQ %00000111 SYMG.V .EQ 2 -SYMG.LSID .EQ 6 -SYMG.SIZE .EQ 8 +* +SYMG.SIZE .EQ 6 *--------------------------------------- -SYML.LEN .EQ 0 -SYML.F .EQ 1 -SYML.F.RESOLVED .EQ %10000000 -SYML.V .EQ 2 -SYML.ID .EQ 6 -SYML.SIZE .EQ 7 +SYML.ID .EQ 0 +SYML.V .EQ 1 +* +SYML.SIZE .EQ 5 *--------------------------------------- ASM.T.AM .EQ 0 ASM.T.R .EQ 2 @@ -80,7 +80,7 @@ CS.START cld .DA CS.END-CS.START CS .DA DS.END-DS.START DS .DA #0 SS - .DA #24 ZP + .DA #32 ZP .DA 0 *-------------------------------------- * Relocation Table @@ -200,6 +200,8 @@ CS.INIT ldy #S.PS.ARGC jsr MAC.Init bcs .9 + + jsr OUT.Init >LDYAI 256 >SYSCALL GetMem.YA @@ -231,7 +233,7 @@ CS.RUN >SYSCALL GetChar bcs .11 no char cmp #$03 Ctrl-C - beq .99 Abort.... + beq .99 Abort....beq=CS cmp #$13 Ctrl-S bne .11 @@ -253,7 +255,7 @@ CS.RUN >SYSCALL GetChar inc >PUSHA >LDYA L.MSG.PASS - >SYSCALL PrintF.YA + jsr OUT.Print ldy #SRC.hFILENAME lda (pData),y @@ -282,15 +284,15 @@ CS.RUN >SYSCALL GetChar inc sta (pData),y clc - rts +.99 rts .1 jsr SYM.Dump >PUSHW ZPLinePtr >LDYA L.MSG.SUMMARY - >SYSCALL PrintF.YA + jsr OUT.Print lda #0 End of assembly, exit with no error -.99 sec + sec rts .2 jsr SRC.ParseLine @@ -430,8 +432,9 @@ FIO.Stat .BS S.STAT SRC.ACC.SIZE .BS 1 SRC.ACC .BS 4 -SRC.ACCTMP .BS 4 +SRC.ARG.SIZE .BS 1 SRC.ARG .BS 4 +SRC.ACCTMP .BS 4 SRC.AM.StrBuf .BS 32 *-------------------------------------- .DUMMY @@ -447,13 +450,13 @@ SRC.COUNT .BS 1 SRC.hFILES .BS SRC.IN.MAXDEPTH SRC.hFILETYPES .BS SRC.IN.MAXDEPTH +SRC.LINENUM .BS 2 +SRC.AMID .BS 1 + DST.hFILENAME .BS 1 DST.hREFNUM .BS 1 DST.hBUFFER .BS 1 DST.hFILETYPE .BS 1 -SRC.LINENUM .BS 2 - -ASM.T.hMem .BS 1 DIR.Word .BS 2 DIR.Byte .BS 1 @@ -463,6 +466,8 @@ EXP.Prefix .BS 1 EXP.Operator .BS 1 +ASM.T.hMem .BS 1 + ASM.PASS .BS 1 ASM.DO.StackPtr .BS 1 ASM.DO.Stack .BS SRC.DO.MAXDEPTH @@ -476,19 +481,14 @@ ASM.PC .BS 4 ASM.PC.PH .BS 4 SYM.hGlobals .BS 1 -SYM.bGlobal .BS 1 +SYM.GlobalPtr .BS 2 +SYM.hGlobalBuf .BS 1 SYM.GlobalID .BS 2 -SYM.Global .BS SYMG.SIZE -SYM.hLocals .BS 1 +SYM.hLookupBuf .BS 1 -SYM.hLocalBuf .BS 1 -SYM.LocalIndex .BS 1 SYM.LocalID .BS 2 -SYM.Local .BS SYML.SIZE - -SYM.Lookup .BS SYMG.SIZE MAC.hMacros .BS 1 MAC.hBuf .BS 1 @@ -497,8 +497,8 @@ MAC.bAdd .BS 1 OUT.PC .BS 4 OUT.Buf .BS 4 OUT.bEquate .BS 1 +OUT.LineCnt .BS 1 -SRC.AMID .BS 1 DS.END .ED *--------------------------------------- .DO DS.END-DS.START>$FF