.NLIST .INCLUDE /DISK$HUNTA:[MACROS]MACROS.MAC/ .INCLUDE /MAC11.MAC/ .LIST MODULE NAME=, REL=, VER=<05>, COMM=, TYPE= EXPORT QUALIFIED ERRBTS EXPORT QUALIFIED IMPURE, LINEND, CDRSAV, LSTBUF, LINSAV, LINBUF EXPORT QUALIFIED ERRCNT, SRCBUF, SMLBUF, OCTBUF EXPORT QUALIFIED ENDLIN FROM UNKNOWN IMPORT PASS FROM UNKNOWN IMPORT LC.ME FROM UNKNOWN IMPORT LC.MEB FROM UNKNOWN IMPORT $LSFLG FROM UNKNOWN IMPORT LCBEGL FROM UNKNOWN IMPORT LSTREQ FROM UNKNOWN IMPORT PF0 FROM UNKNOWN IMPORT ERR.Q FROM UNKNOWN IMPORT DNC FROM UNKNOWN IMPORT CTTBL FROM UNKNOWN IMPORT LSTDEV FROM UNKNOWN IMPORT LC.SEQ FROM UNKNOWN IMPORT PF1 FROM UNKNOWN IMPORT SYMBOL FROM UNKNOWN IMPORT ERRROL FROM UNKNOWN IMPORT CHRPNT FROM UNKNOWN IMPORT TSTR50 FROM UNKNOWN IMPORT CLCMAX FROM UNKNOWN IMPORT EX$ERR FROM UNKNOWN IMPORT LC.COM FROM UNKNOWN IMPORT CRFERR FROM UNKNOWN IMPORT LC.SRC FROM UNKNOWN IMPORT LCMASK FROM UNKNOWN IMPORT PCROLL FROM UNKNOWN IMPORT PUTLIN FROM UNKNOWN IMPORT MULR50 FROM UNKNOWN IMPORT SETWDB FROM UNKNOWN IMPORT MOVBYT FROM UNKNOWN IMPORT CODLST FROM UNKNOWN IMPORT LCLVL FROM UNKNOWN IMPORT LC.LD FROM UNKNOWN IMPORT SETMAX FROM UNKNOWN IMPORT ROLNDX FROM UNKNOWN IMPORT $LSCNT FROM UNKNOWN IMPORT SETWRD FROM UNKNOWN IMPORT ERRMNE FROM UNKNOWN IMPORT ZAPCPX FROM UNKNOWN IMPORT LINNUM FROM UNKNOWN IMPORT LC.LOC FROM UNKNOWN IMPORT LC.BEX FROM UNKNOWN IMPORT SAVREG FROM UNKNOWN IMPORT LC.BIN FROM UNKNOWN IMPORT ENDFLG FROM UNKNOWN IMPORT ZAP FROM UNKNOWN IMPORT ERR. FROM UNKNOWN IMPORT LC.TTM FROM UNKNOWN IMPORT CLCLOC FROM UNKNOWN IMPORT $LSPNT FROM UNKNOWN IMPORT LCENDL FROM UNKNOWN IMPORT $EXSTS FROM UNKNOWN IMPORT LCFLAG PROCEDURE ENDLIN BEGIN CALL SAVREG IFB CTTBL(R5) GT #0 THEN LET ERRBTS := ERRBTS SET.BY #ERR.Q END LET I00170 :B= CDRSAV PUSH PASS IF RESULT IS NE THEN LET (SP) := LSTDEV IF ERRBTS EQ #0 THEN IFB (SP) EQ #0 GOTO E00216 IF #LC.LD OFF.IN LCFLAG AND LCLVL GE #0 THEN IF RESULT IS GT GOTO E00202 IF #LC.COM SET.IN LCMASK THEN LET LCENDL := CHRPNT END IF #LC.SRC SET.IN LCMASK THEN LET LCENDL := #LINBUF END IF $LSCNT+CODLST NE #0 AND #LC.MEB OFF.IN LCMASK THEN LET LCFLAG := LCFLAG OFF.BY #LC.ME END LET R1 := #LC.SEQ!LC.LOC!LC.SRC!LC.BIN OFF.BY LCMASK IF RESULT IS NE AND LCMASK OFF.IN LCFLAG GOTO E00216 END LET (SP) := #0 GOTO E00216 END SWAB (SP) E00202: LET LCBEGL := #LINBUF LET LCENDL := #LINEND END E00216: IF ENDFLG NE #0 THEN CALL SETMAX END LET $LSPNT := #0 CALL PCROLL LOOP LET LSTREQ :B= (SP) IF RESULT IS NE THEN LET @LCENDL :B= #0 LET R2 := #LSTBUF REPEAT LET (R2)+ := #^O UNTIL #LINBUF EQ R2 LET R2 := #LSTBUF CALL E00612 LET R0 := #LINNUM LET R1 := (R0)+ IF R1 NE (R0) THEN LET (R0) := R1 AND #LC.SEQ OFF.IN LCMASK THEN LET R4 := R2 CALL DNC LET R0 := #I00015 REPEAT LET -(R0) :B= -(R2) LET (R2) :B= #SPACE UNTIL R2 LOS R4 LET R2 := #I00015 END LET (R2)+ :B= #HT LET R1 := #PF0 IF #LC.LOC OFF.IN LCMASK THEN IF (R1) NE #0 CALL SETWRD END LET (R2)+ :B= #HT END LET (R1) := #0 LET R1 := #PF1 IF #LC.BIN OFF.IN LCMASK THEN LET R4 := #1 IF #LC.TTM SET.IN LCMASK THEN CMPB (R4)+,(R4)+ END LOOP IF (R1) NE #0 THEN CALL E00724 END REPEAT LET (R2)+ :B= #HT LET (R1) := #0 LET R4 := R4 - #1 IF RESULT IS EQ GOTO E00502 UNTIL $LSFLG NE #0 CALL PCROLL END E00502: END LET R1 := LCBEGL CALL MOVBYT LET R0 := #LSTBUF CALL PUTLIN END REPEAT LET @LCBEGL :B= #0 IF $LSFLG EQ #0 GOTO E00554 CALL PCROLL IF RESULT IS EQ GOTO E00554 UNTIL #LC.BIN!LC.BEX OFF.IN LCMASK END E00554: POP LET R0 := #CODLST CALL ZAP CALL ZAPCPX LET R0 := CLCLOC IF R0 HI CLCMAX THEN LET CLCMAX := R0 END RETURN END ENDLIN PROCEDURE E00612 BEGIN LET R0 := ERRBTS IF RESULT IS NE THEN LET R0 := R0 OFF.BY #ERR. IF RESULT IS NE THEN LET $EXSTS := #EX$ERR LET ERRCNT := ERRCNT + #1 END LET R1 := #ERRMNE-1 LOOP E00644: TSTB (R1)+ LET ERRBTS := ERRBTS R.ROTATE 1 IF RESULT IS CC GOTO E00720 LET (R2)+ :B= (R1) LET R0 :B= (R1) CALL TSTR50 CALL MULR50 CALL MULR50 LET SYMBOL := R0 LET SYMBOL+2 := #0 LET ROLNDX := #ERRROL CALL CRFERR END E00720: IF RESULT IS NE GOTO E00644 END RETURN END E00612 PROCEDURE E00724 BEGIN CALL SETWDB IF #40 SET.IN (R1) THEN LET (R2) :B= #47 END IF #100 SET.IN (R1) THEN LET (R2) :B= #107 END IF #200 SET.IN (R1) THEN LET (R2) :B= #103 END LET R2 := R2 + #1 RETURN END E00724 .PSECT IMPLIN,GBL,D ERRBTS: .BLKW .PSECT IMPURE,D CDRSAV: .BLKW ERRCNT: .BLKW 2 LSTBUF: OCTBUF: .BLKB 7 I00015: .BLKB 43 LINBUF: SRCBUF: SMLBUF: .BLKB 110 I00170: .BLKB 74 LINEND: .BLKW LINSAV: .BLKB 204 END ENDLN .END