diff --git a/SCMASM.31/SCMASM.S.SYMT.txt b/SCMASM.31/SCMASM.S.SYMT.txt index cbc2e3bf..a4947627 100644 --- a/SCMASM.31/SCMASM.S.SYMT.txt +++ b/SCMASM.31/SCMASM.S.SYMT.txt @@ -10,13 +10,17 @@ STINIT LDA LO.MEM START OF SYMBOL TABLE LDA LO.MEM+1 STA EOT+1 STA MACLBL+1 PRIVATE LABELS GO DOWN FROM THERE - LDX #56 # BYTES IN HASH POINTER TABLE + LDA #0 STA MACLBL STA CURRENT.MAJOR.LABEL+1 + + LDX #58 # BYTES IN HASH POINTER TABLE + .1 STA HSHTBL-1,X DEX BNE .1 + .DO AUXMEM LDA RDRAM LDA RDRAM @@ -119,7 +123,9 @@ AUX.IMAGE.LEN .EQ *-AUX.IMAGE * HSHTBL+$04: Chain for labels starting with "B" * - - - * HSHTBL+$34: Chain for labels starting with "Z" -* HSHTBL+$36: Chain for Macro Names and Skeletons +* HSHTBL+$36: Chain for labels starting with "_" +* +* HSHTBL+$38: Chain for Macro Names and Skeletons * * Format of Target File Entry: * 0,1 -- Forward chain pointer (0=end of chain) @@ -233,16 +239,27 @@ STSRCH SEC CONVERT FIRST CHARACTER LDA SYMBOL+7 OF SYMBOL TO HASH TABLE INDEX CMP #CHR.PERIOD SEE IF LOCAL SYMBOL BEQ .8 YES + CMP #': COLON, THEN PRIVATE LABEL BNE .12 NO, NORMAL LABEL + JMP SEARCH.PRIVATE.LABELS -.12 SBC #$40 AT-SIGN + +.12 cmp #'_ + bne .55 + + lda #'Z+1 + +.55 sec + sbc #'A + ASL DOUBLE INDEX, CLEAR CARRY ADC #HSHTBL STA STPNTR LDA /HSHTBL ADC #0 STA STPNTR+1 + .1 LDY #0 >SYM LDA,STPNTR GET POINTER FROM ENTRY STA TPTR