         SYSTEM   SIG7
R0       EQU      0
R1       EQU      1
R2       EQU      2
R3       EQU      3
R4       EQU      4
R5       EQU      5
R6       EQU      6
R7       EQU      7
SR1      EQU      8
SR2      EQU      9
SR3      EQU      10
SR4      EQU      11
D1       EQU      12
D2       EQU      13
D3       EQU      14
D4       EQU      15
         REF      M:UC,M:PO,M:EI,M:EO,M:LL
TIMEBUF  RES      4
         BOUND    8
BUF      RES      20
SEQ      TEXT     '  000-000'
INITIALS DATA     X'40404040'
DATE     TEXT     ' 00/00/00'
VERSION  DATA     X'40404040'
         BOUND    8
SIDR#    TEXT     '  #00000 '
         BOUND    8
SIDR##   TEXT     '  #00000 '
         BOUND    8
SIDRN    DATA     0,0
         RES      100
SIDRC    RES      50
0000T    TEXT     '0000'
         BOUND    8
SSIDR#   RES      2
SDRZER   DATA     X'00F0F0F0',X'F0F00000'
RJ5ZERS  DATA     '0','0000'
OPENF    GEN,8,24 X'14',M:EI
         DATA     X'07000001'
         DATA     2,1
MODE     DATA     1
CNTRLWD  DATA     X'01010808'
         BOUND    8
FILENAME RES      8
READF    GEN,8,24 X'10',M:EI
         DATA     X'F0000010'
         DATA     RDERABN,RDERABN
         PZE      BUF
         PZE      66
WRITEF   GEN,8,24 X'11',M:EI
         DATA     X'38000050'
         PZE      BUF
         DATA     72
         DATA     KEYLOC
WRITPO   GEN,8,24 17,M:PO
         DATA     X'30000010'
         DATA     BUF,72
CLOSEF   GEN,8,24 X'15',M:EI
         DATA     X'80000000'
SAVE     DATA     2
OPTEMP   GEN,8,24 X'14',M:EO
         DATA     X'07000001'
         DATA     1,1,8
         DATA     X'01010202'
         TEXTC    '%%%    '
RDTEMP   GEN,8,24 X'10',M:EO
         DATA     X'F0000010'
         DATA     DONE,DONE
         PZE      BUF
         DATA     72
WRTEMP   GEN,8,24 X'11',M:EO
         DATA     X'30000000'
         DATA     BUF
         PZE      *R6
CLSTEMP  GEN,8,24 X'15',M:EO
         DATA     X'80000000'
         DATA     1
READUC   GEN,8,24 X'10',M:UC
         DATA     X'34000010'
         PZE      *R0
         PZE      *R1
         PZE      *R2
WRITEUC  GEN,8,24 X'11',M:UC
         DATA     X'34000010'
         PZE      *D2
         PZE      *R2
         DATA     0
WRITECR  GEN,8,24 X'11',M:UC
         DATA     X'34000010'
         DATA     CARRET
         DATA     1
         DATA     0
PROMPTER GEN,8,24 X'02',0
         DATA     X'80000000'
         PZE      *R5
PCNULL   GEN,8,24 X'2C',0
PFIL     GEN,8,7,17 X'1C',0,M:EO
         DATA     X'00000010'
PRECORD  GEN,8,7,17 X'1D',0,M:EO
         DATA     X'80000010'
         DATA     X'00000001'
MESSAGE  TEXTC    'FILENAME:'
         TEXTC    'VERSION:'
         TEXTC    'INITIALS:'
         TEXTC    'SIDR#: '
COMSG    TEXTC    'COMMENTS:'
DATEFPT  GEN,8,7,17 X'10',0,TIMEBUF
MONTBL   TEXT     ' CPVJAN FEB MAR APR MAY JUN JUL AUG ',;
                  'SEP OCT NOV DEC '
NUMTBL   TEXT     '  010203040506070809101112'
DECLIST  TEXT     '0123456789'
KEYLOC   RES      1
WRNMESS  DATA     X'15050505'
         TEXT     'COLS 58-71 WOULD BE OVERWRITTEN'
         DATA     X'15000000'
EHMT     TEXT     'WHAZZAT??'
         DATA     X'15000000'
K3E8     DATA     X'030003E8'
LSTHAN   DATA     X'0000004C'
CARRET   DATA     X'0D404040'
COMFLAG  DATA     0
START    LW,R1    K3E8
         LW,R2    LSTHAN
         STW,R1   KEYLOC
         STB,R2   BUF
         LI,0     0
         STW,R0   SIDRN
         CAL1,1   PCNULL
         LI,R5    MESSAGE
         CAL1,2   PROMPTER
         LI,R0    FILENAME
         LI,R1    32
         LI,R2    1
         CAL1,1   READUC
         LH,R6    M:UC+4
         SLS,R6   -1
         CI,R6    1
         BE       EXIT1
         LI,D1    X'40'
         CB,D1    FILENAME,R6
         BLE      EHM
         STB,R6   FILENAME
         MTB,-1   FILENAME
         AI,R5    3
         CAL1,2   PROMPTER
         LI,R0    VERSION
         LI,R1    4
         CAL1,1   READUC
         CB,D1    VERSION+1
         STB,D1   VERSION+1
         BLE      EHM
         AI,R5    3
         LCI      2
         LM,6     X'8C01'
         SCD,6    -8
         CW,6     MONTBL
         BNE      %+2               NOT CPVXXX
         CB,7     6
         BNE      %+4
         SCS,7    -8
         STW,7    INITIALS
         B        NOINIT
         CAL1,2   PROMPTER
         LI,R0    INITIALS
         CAL1,1   READUC
         LH,R1    M:UC+4
         SLS,R1   -1
         CB,D1    INITIALS,R1
         BG       %+2
         CAL1,1   WRITECR
         STB,D1   INITIALS,R1
NOINIT   AI,R5    3
         LB,2     FILENAME            MAYBE # BEGINS FILENAME.
         CI,2     5
         BL       NOFSDR
         LW,1     SDRZER
         CS,1     FILENAME
         BNE      ENMSDR
         LW,1     SDRZER+1
         CS,1     FILENAME+1
         BNE      ENMSDR
         LD,0     FILENAME
         AND,0    =X'FFFFFF'
         SD,0     SDRZER
         SLD,0    -16
         AD,0     SIDR##
         STD,0    SIDR#
         B        NOSIDRN
ENMSDR   EQU      %                 MAYBE # ENDS FILENAME.
         SLS,2    -2
         LW,0     FILENAME-1,2
         LW,1     FILENAME,2
         LB,2     FILENAME
         AND,2    =X'3'
         AI,2     -3
         SLS,2    3
         SLD,0    0,2
         AND,0    =X'FF'
         STD,0    SSIDR#
         LW,1     RJ5ZERS
         CS,1     SSIDR#
         BNE      NOFSDR
         LW,1     RJ5ZERS+1
         CS,1     SSIDR#+1
         BNE      NOFSDR
         LD,0     SSIDR#
         SD,0     RJ5ZERS
         AD,0     SIDR##
         STD,0    SIDR#
         B        NOSIDRN
NOFSDR   CAL1,2   PROMPTER
         LI,R0    SIDR#
         LI,R1    6
         LI,R2    3
         CAL1,1   READUC
         CB,D1    SIDR#+2           MUST BE 6 CHARS
         STB,D1   SIDR#+2
         BG       NOSIDRN
         CB,D1    SIDR#+1           OR 2
         BLE      EHM
         LW,R0    SIDR#
         CB,R0    0000T
         BNE      EHM               AND 0
         MTW,1    SIDRN             SET FLAG/INDEX
NOSIDRN  CAL1,1   OPTEMP
         CAL1,8   DATEFPT
         LH,R6    TIMEBUF+2
         LI,R7    1
         LH,R7    TIMEBUF+1,R7
         STH,R7   R6
         LI,R7    12
DATLP    CW,R6    MONTBL,R7
         BE       %+2
         BDR,R7   DATLP
         LH,R6    NUMTBL,R7
         LI,R2    1
         LI,R3    2
         LI,R4    3
         STB,R6   DATE,R3
         SLS,R6   -8
         STB,R6   DATE,R2
         LB,R7    TIMEBUF+2,R3
         STB,R7   DATE+1
         LB,R7    TIMEBUF+2,R4
         STB,R7   DATE+1,R2
         LB,R7    TIMEBUF+3,R3
         STB,R7   DATE+1,R4
         LB,R7    TIMEBUF+3,R4
         STB,R7   DATE+2
         CAL1,1   OPENF
         MTW,0    SIDRN
         BNEZ     KEEPCOM
GETCOM   LI,R0    0
         STW,0    COMFLAG
         LI,R0    BUF
         LI,R2    1
         LI,R5    COMSG
         LI,D2    BUF
         CAL1,2   PROMPTER
         CAL1,1   WRITECR
CONTINUED CAL1,1  WRITEUC
         LI,R1    67
         SW,R1    R2
         CAL1,1   READUC
         LH,R6    M:UC+4
         SLS,R6   -1
         AW,R6    R2
         AI,R6    -1
         LI,R2    1
         LI,R0    BUF
         CI,R6    1
         BG       %+3
         MTW,1    COMFLAG
         B        KEEPCOM
         CB,D1    BUF,R6
         BLE      CONTCOM
         LB,R7    BUF,R6
         CI,R7    X'0D'
         BNE      WRTCNT
         AI,R6    -1
         LB,R7    BUF,R6
         CI,R7    ';'
         BNE      LPB
         STB,D1   BUF,R6
         AI,R6    1
WRTCNT   CAL1,1   WRTEMP
         B        CONTINUED
CONTCOM  CAL1,1   WRITECR
         BE       WRTCNT
         AI,R6    -1
         CB,D1    BUF,R6
         BNE      %-2
         CAL1,1   WRTEMP
         AI,R6    1
         LB,D3    BUF,R6
         STB,D3   BUF,R2
         AI,R2    1
         CI,R6    66
         BL       %-5
         LW,R6    R2
         SLS,R6   -2
         AW,R0    R6
         B        CONTINUED
LPB      AI,R6    1
         CAL1,1   WRTEMP
KEEPCOM  LI,R7    0
READ1    CAL1,1   READF
         AI,R7    1
         LI,SR1   0
         LI,R6    0
         LI,SR2   ':'
         CB,SR2   BUF
         BE       GENMD             GENMD CONTINUATIONS.
SCAN     LB,SR2   BUF,R6
         CI,SR2   '#'
         BE       DEF
         CI,SR2   '/'
         BE       PATCH
         CI,SR2   ','
         BE       GENMD
         CI,SR2   '<'
         BNE      NOTCOM
         LW,R6    M:EI+13
         CI,R6    6                 IS IT SIDR#
         BNE      NOT#
         LD,R4    BUF
         SLD,R4   -16
         LW,R3    SIDRN
         BEZ      NOT#
         STD,R4   SIDRN,R3
         AND,R5   0000T
         AND,R4   0000T
         CB,R4    R5
         BNE      NOT#
         CW,R5    0000T
         BNE      NOT#
         AI,7     -1                SET COUNT
         STW,R7   SIDRC-1,R3
         MTW,1    SIDRN
         LI,D2    BUF
         LI,R2    7
         LI,R4    ' #'
         STH,R4   BUF-2,R2
         CAL1,1   WRITEUC
         B        GETCOM
NOT#     MTW,0    COMFLAG
         BNEZ     WRITE1
SKIPIT   AI,R7    -1
         B        READ1
NOTCOM   AI,R6    1
         CW,R6    M:EI+13
         BG       EHM
         B        SCAN
DEF      LI,SR2   ' '
PATCH    LI,SR1   2
         B        CKLP
GENMD    LI,SR2   '.'
CKLP     AI,R6    1
         CW,R6    M:EI+13
         BL       %+2
         STB,SR2  BUF,R6
         CB,SR2   BUF,R6
         BNE      CKLP
         BDR,SR1  CKLP
BLP      CI,R6    58
         BGE      WARNING
         AI,R6    1
         CAL1,1   WRTEMP
         B        READ1
WRITE1   CAL1,1   WRTEMP
         AI,7     -1
         B        READ1
EHM      LI,D2    EHMT
         LI,R2    20
         B        WARN1
WARNING  LI,D2    BUF
         LI,R2    58
         CAL1,1   WRITEUC
         LI,D2    WRNMESS
WARN1    CAL1,1   WRITEUC
         B        EXIT
RDERABN  LB,R6    SR3
         CI,R6    6
         BE       %+4
         CI,R6    7
         BE       READ1+1
         B        EXIT
         CAL1,1   CLOSEF
         MTW,1    MODE
         CAL1,1   OPENF
         CAL1,1   PFIL
         LW,R3    SIDRN
         STW,R7   SIDRC,R3
         STW,R7   SIDRC+1,R3
         BEZ      NXTSIDR1
         STW,R7   SIDRC-1,R3
         LI,R3    0
         STW,R3   SIDRN
NXTSIDR  MTW,1    SIDRN
         LW,R3    SIDRN
         LD,R4    SIDRN,R3
         STW,R5   SIDR#+1
         LI,R5    X'FF'
         STS,R4   SIDR#
NXTSIDR1 LW,R7    SIDRC,R3
         LI,R3    2
         LI,R4    3
         LI,R5    4
         LI,R6    0
         DW,R6    =X'A'
         LB,R6    DECLIST,R6
         STB,R6   SEQ+1,R5
         LI,R6    0
         DW,R6    =X'A'
         LB,R6    DECLIST,R6
         STB,R6   SEQ+1,R4
         LB,R7    DECLIST,R7
         STB,R7   SEQ+1,R3
         LI,R1    X'3E8'
         LI,R0    0
CHKREAD  LI,R2    71
         LI,R6    ' '
         STB,R6   BUF,R2
         BDR,R2   %-1
         CAL1,1   RDTEMP
         LCI      2
         LM,7     SIDR#
         STS,7    BUF+16
         STW,8    BUF+17
         LB,R2    BUF
         CI,R2    '<'
         BE       WRTEI
         AI,R0    1
         STW,R0   R7
         LI,R6    0
         DW,R6    =X'A'
         LB,R6    DECLIST,R6
         STB,R6   SEQ,R5
         LI,R6    0
         DW,R6    =X'A'
         LB,R6    DECLIST,R6
         STB,R6   SEQ,R4
         LB,R7    DECLIST,R7
         STB,R7   SEQ,R3
         LCI      3
         LM,7     SEQ
         STS,9    BUF+16
         STW,8    BUF+15
         STS,7    BUF+14
         LW,R2    M:EO+13
         CI,R2    49
         BG       WRTEI
         LCI      3
         LM,7     DATE
         STS,9    BUF+14
         STW,8    BUF+13
         STS,7    BUF+12
         CI,R2    45
         BG       WRTEI
         LW,7     VERSION
         STS,7    BUF+11
         CI,R2    41
         BG       WRTEI
         LW,7     INITIALS
         STS,7    BUF+10
WRTEI    CAL1,1   WRITEF
         CAL1,1   WRITPO
         AWM,R1   KEYLOC
         LW,R2    SIDRN
         CW,R0    SIDRC,R2
         BGE      NXTSIDR
         B        CHKREAD
DONE     MTW,-1   MODE
EXIT     CAL1,1   CLOSEF
         CAL1,1   CLSTEMP
         B        START
EXIT1    CAL1,9   1
         END      START
