TITLE PAGER SUBTTL PROGRAM BY MARTY SCHULTZ ; COPYRIGHT 1972,1973 MASCO PROGRAM DEVELOPMENT, SYOSSET NY JOBVER==137 JOBREN==124 JOBFF==121 JOBREL==44 LOC JOBREN EXP NEXT VWHO=2 VPAGER=4 VEDIT=7 VMINOR=6 LOC JOBVER BYTE(3)VWHO(9)VPAGER(6)VEDIT(18)VMINOR RELOC IFNDEF HELPPN, > IFNDEF OUTEXT, IFNDEF INEXT, RD==1 ;CHANNEL TO READ FROM PG==2 ;CHANNEL TO PAGE TO. .PWAIT==1B35 .NOTXT==1B34 .PTIT==1B33 .PDAT==1B32 .PCUT==1B31 .PFROM==1B30 .PKILL==1B29 .PWID==1B28 .PSEQ==1B27 .PTAB==1B26 .PLIN==1B25 .PEND==1B24 .PDEV==1B23 .PNUM==1B22 .PFF==1B21 .PHELP==1B20 .PTIME==1B19 GNL=1 AC=2 IO=3 N=IO PAGE=4 PQ=PAGE WID=5 WORD=6 W=WORD OFF=7 FLG=10 CNT=11 PNT=12 AA=13 BB=14 CC=15 DD=16 P=17 .FIRST==1 DEFINE EQ (LAB,VAL), DEFINE ST (%A,LEN), <%A: BLOCK LEN> DEFINE ERR(STRING), DEFINE PRINT(CHAR), DEFINE STRING(CHARS), DEFINE SETP, .CRLF: BYTE(7) 15,12,0 .BDB: ASCII/ - / ST CCL$,1 ST CCLBUF,20 ST SAVEM,2 ST .PDL,20 ST .LPP,1 ST .WIDTH,1 ST .TAB,1 ST .PAGE,1 ST .TITLE,12 CCLBLK: SIXBIT/PAG/ IOWD 12,CCLBUF PAGER.: TDZA AC,AC SETO AC, MOVEM AC,CCL$ SKIPN CCL$ OUTSTR [ASCIZ" TYPE /H FOR NEW HELP: 11-20 "] MOVE AC,JOBFF MOVEM AC,SAVEM MOVE AC,JOBREL MOVEM AC,SAVEM+1 MOVE P,[IOWD 20,.PDL] NEXT: EQ .PAGE,1 EQ .TAB,10 EQ .WIDTH,^D72 EQ .LPP,^D55 PUSHJ P,GETFIL TRO FLG,.PDEV BEGIN: TRNE FLG,.PWAIT JRST NEWPAG PRINT 14 NEWPAG: ADDI PAGE,1 TRNN FLG,.NOTXT JRST GOPAG CAML PAGE,.PAGE TRZ FLG,.NOTXT GOPAG: TRNE FLG,.PWAIT TRNE FLG,.NOTXT JRST DASH OUTPUT PG, INCHRW JRST REEN DASH: MOVEI CNT,^D72 PRINT "-" SOJG CNT,.-1 REEN: STRING .CRLF PRINT 12 PRINT 12 TRNE FLG,.PKILL JRST NOTIT MOVEI CNT,4 PRINT 11 SOJG CNT,.-1 STRING .BDB MOVE AC,PAGE PUSHJ P,DECTY STRING .BDB STRING .CRLF TRNN FLG,.PTIT JRST NOTIT STRING .TITLE NOTIT: TRNN FLG,.PDAT JRST NODAT PRINT 11 PUSHJ P,PUT DATE GNL, IDIVI GNL,^D31 PUSH P,AC IDIVI GNL,^D12 ADDI AC,1 PUSHJ P,DECTY PRINT "-" POP P,AC ADDI AC,1 PUSHJ P,DECTY PRINT "-" MOVEI AC,^D64(GNL) PUSHJ P,DECTY NODAT: TRNN FLG,.PTIME JRST NOTIME SETZ GNL, MSTIME GNL, PRINT 11 PUSHJ P,PUT IDIVI GNL,^D1000*^D60 IDIVI GNL,^D60 PUSH P,AC MOVE AC,GNL PUSHJ P,DECTY PRINT ":" POP P,AC MOVEI IO,"0" CAIGE AC,^D10 PUSHJ P,PUT PUSHJ P,DECTY NOTIME: STRING .CRLF PRINT 12 SETZ WID, MOVE CNT,.LPP TEXT: PUSHJ P,GET CAIE AC,12 CAIN AC,13 JRST CHECK CAIE AC,14 JRST NOFF TRNN FLG,.PFF JRST CHECK PRINT 12 SOJG CNT,.-1 JRST CHK2 NOFF: CAIN AC,15 SUBI WID,1 CAIE AC,11 JRST TEXTA MOVE GNL,WID IDIV GNL,.TAB MOVE GNL,.TAB SUBM GNL,AC ADD WID,AC PRINT " " SOJG AC,.-1 JRST TEXT TEXTA: CAMGE WID,.WIDTH JRST NORM TRNN FLG,.PCUT JRST [SETZ WID, SOJA CNT,NORM] PUSHJ P,GET CAIE AC,12 JRST .-2 PRINT 15 CHECK: MOVEI IO,12 PUSHJ P,PUT SETZ WID, SOJG CNT,TEXT CHK2: MOVEI CNT,4 PRINT 12 SOJG CNT,.-1 JRST NEWPAG NORM: MOVE IO,AC PUSHJ P,PUT AOJA WID,TEXT EOFILE: STRING .CRLF ADDI CNT,3 PRINT 12 SOJG CNT,.-1 TRNE FLG,.PWAIT JRST LST MOVEI CNT,^D72 PRINT "-" SOJG CNT,.-1 LST: MOVEI CNT,10 STRING .CRLF PRINT 12 SOJG CNT,.-1 OUTPUT PG, CLOSE 1, CLOSE 2, RELEAS 1, RELEAS 2, TRNN FLG,.PEND JRST RETPAG OUTSTR [ASCIZ/ LAST PAGE:/] TRZ FLG,.PDEV MOVE AC,PAGE PUSHJ P,DECTY RETPAG: SKIPN CCL$ JRST NEXT RESET EXIT 1, JRST .-1 PUT: TRNN FLG,.PDEV JRST [OUTCHR IO POPJ P,] TRNE FLG,.NOTXT POPJ P, PUT2: SOSGE OBUF+2 JRST PUT3 IDPB IO,OBUF+1 POPJ P, PUT3: OUT PG, JRST PUT2 ERR GET: SOSGE IBUF+2 JRST GET2 ILDB AC,IBUF+1 JUMPE AC,GET MOVE GNL,@IBUF+1 TRNE FLG,.PNUM TRNN GNL,1 POPJ P, CAIN AC,"0" JRST GET TRZ GNL,1 MOVEM GNL,@IBUF+1 POPJ P, GET2: IN RD, JRST GET JRST EOFILE DECTY: IDIVI AC,12 HRLM AC+1,(P) SKIPE AC PUSHJ P,DECTY HLRZ IO,(P) ADDI IO,60 PUSHJ P,PUT POPJ P, MESTY: HRLI PNT,() ILDB IO,PNT JUMPE IO,.+3 PUSHJ P,PUT JRST .-3 POPJ P, IBUF: BLOCK 3 OBUF: BLOCK 3 TABB: "T",,.PTIT "P",,.PWAIT "D",,.PDAT "C",,.PCUT "F",,.PFROM "S",,.PSEQ "W",,.PWID "I",,.PTAB "L",,.PLIN "E",,.PEND "Z",,.PNUM "N",,.PKILL "H",,.PHELP "M",,.PTIME "V",,.PFF V.SWT==.-TABB GETFIL: MOVE AC,SAVEM MOVEM AC,JOBFF MOVE AC,SAVEM+1 MOVEM AC,JOBREL SETZ FLG, SKIPN CCL$ JRST NEWFIL MOVE AC,[XWD 2,CCLBLK] MOVE PQ,[XWD 440700,CCLBUF] TMPCOR AC, SETZM CCL$ SKIPN CCL$ NEWFIL: OUTSTR [ASCIZ" *"] CLRBFI MOVSI BB,INEXT PUSHJ P,PARSE TLNN FLG,.FIRST CAIE AC,15 JRST .+2 JRST NEWFIL MOVEM CC,DEVRD+1 SETZ CC, OPEN RD,DEVRD ER1: ERR TRNE FLG,.PHELP PUSHJ P,HELP LOOKUP RD,AA ERR MOVSI CC,'TTY' CAIE AC,">" JRST NEWFL2 MOVSI BB,OUTEXT PUSHJ P,PARSE CAIE AC,15 ERR NEWFL2: MOVEM CC,DEVPG+1 SETZ CC, OPEN PG,DEVPG ERR ENTER PG,AA ERR JRST WRAPUP PARSE: MOVSI CC,'DSK' SETZB AA,DD PUSHJ P,SIXIN CAIE AC,":" JRST .+3 MOVEM W,CC PUSHJ P,SIXIN MOVEM W,AA CAIE AC,"." JRST .+3 PUSHJ P,SIXIN HLLZM W,BB CAIE AC,"[" JRST PARSE1 PUSHJ P,OCTIN HRLZM N,DD CAIE AC,"," ERR PUSHJ P,OCTIN HRRM N,DD CAIE AC,"]" ERR PUSHJ P,TTYGET PARSE1: CAIE AC,"/" POPJ P, TLO FLG,.FIRST PUSHJ P,TTYGET HRLZI CNT,-V.SWT HLRZ IO,TABB(CNT) CAME AC,IO AOBJN CNT,.-2 JUMPL CNT,.+2 ERR HRRZ IO,TABB(CNT) TDO FLG,IO PUSHJ P,SIXIN JRST PARSE1 SIXIN: MOVE PNT,[XWD 440600,W] SETZ W, SIXIN1: PUSHJ P,TTYGET CAIG AC,"Z" CAIGE AC,"A" JRST .+2 JRST SIXIN2 CAIG AC,"9" CAIGE AC,"0" POPJ P, SIXIN2: SUBI AC,40 IDPB AC,PNT TLO FLG,.FIRST JRST SIXIN1 TTYGET: SKIPN CCL$ JRST .+3 ILDB AC,PQ JRST .+2 INCHWL AC CAIN AC," " JRST TTYGET POPJ P, WRAPUP: SETZ PAGE, TRNN FLG,.PTIT JRST WRAPA CLRBFI OUTSTR [ASCIZ"TITLE:"] MOVE PNT,[POINT 7,.TITLE] MOVEI CNT,5*12 ITITL: INCHWL AC CAIN AC,15 JRST TITA IDPB AC,PNT SOJG CNT,ITITL ERR TITA: SETZ AC, IDPB AC,PNT WRAPA: TRNN FLG,.PFROM JRST WRAPB OUTSTR [ASCIZ"FROM PAGE:"] PUSHJ P,DECIN TRO FLG,.NOTXT MOVEM IO,.PAGE WRAPB: TRNN FLG,.PSEQ JRST WRAPC OUTSTR [ASCIZ"PAGE #:"] PUSHJ P,DECIN MOVEI PAGE,-1(IO) WRAPC: TRNN FLG,.PWID JRST WRAPD OUTSTR [ASCIZ"LINE WIDTH:"] PUSHJ P,DECIN MOVEM IO,.WIDTH WRAPD: TRNN FLG,.PTAB JRST WRAPE OUTSTR [ASCIZ"TAB SIZE:"] PUSHJ P,DECIN MOVEM IO,.TAB WRAPE: TRNN FLG,.PLIN JRST WRAPF OUTSTR [ASCIZ"LINES/PAGE:"] PUSHJ P,DECIN MOVEM IO,.LPP WRAPF: CLRBFI POPJ P, HELP: MOVSI W,'DSK' MOVEM W,DEVRD+1 OPEN RD,DEVRD JRST @ER1 MOVE AA,[SIXBIT/PAGER/] MOVSI BB,'HLP' MOVE DD,[EXP HELPPN] POPJ P, DEVRD: 0 SIXBIT/DEVICE/ XWD 0,IBUF DEVPG: 0 SIXBIT/DEVICE/ XWD OBUF,0 DECIN: SETZ IO, CLRBFI DECIN1: INCHWL AC CAIG AC,"9" CAIGE AC,"0" POPJ P, IMULI IO,12 ADDI IO,-60(AC) JRST DECIN1 OCTIN: SETZ IO, OCTIN1: PUSHJ P,TTYGET CAIG AC,"7" CAIGE AC,"0" POPJ P, ASH IO,3 ADDI IO,-60(AC) JRST OCTIN1 END PAGER.