Revision 62edbcc8c6021789df156749d71229308ba4313a authored by Ronald Burkey on 08 August 2021, 00:25:00 UTC, committed by GitHub on 08 August 2021, 00:25:00 UTC
yaAGCb1: Fixed a few errors identified by SELF-CHECK
2 parent s 1bd6f8f + b8b57e2
Raw File
YUL_SYSTEM_--_PASS_0.argus
# Copyright:    Public domain.
# Logname:      YUL SYSTEM -- PASS 0
# Purpose:      Part of the source code for YUL (revision 9).
# Assembler:    TBD
# Contact:      Jim Lawton <jim.lawton@gmail.com>
# Website:      https://www.ibiblio.org/apollo/index.html
# Page scans:   https://archive.org/details/yulsystemsourcec00hugh
# Pages:        041-107
# Mod history:  2016-10-06 JL  Created.
#               2016-10-13 JL  Started transcription.
#               2016-10-14 JL  Added all page numbers and headers.
#               2016-10-15 JL  Transcribed pages 41-62.
#               2016-10-16 JL  Transcribed pages 63-67.
#               2016-10-18 JL  Transcribed pages 68-73.
#               2016-10-26 JL  Transcribed pages 74-77.
#               2016-10-27 JL  Transcribed pages 78-82.
#               2016-10-28 JL  Transcribed page 83.
#               2016-10-31 JL  Transcribed pages 84-90.
#               2016-11-01 JL  Transcribed pages 91-94.
#               2016-11-03 JL  Transcribed pages 95-107.

# Annotations:
#
#   B L A I R - S M I T H
#    Y U L   S Y S T E M
#
#       Listings in
#    MITIGUS  Format
#

# Note: Page numbers are scan page numbers rather than listing.

L      @YUL SYSTEM -- PASS 0

# Page 41
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.   1        PAGE   1

R0001   WE ARE DEEPLY INDEBTED TO THE ONE, THE ONLY, THE GREAT JOHN SHAW FOR THE FOLLOWING STRONG MAGIC....
R0003   JSOCTL



 0004              SETLOC,1C    0             B1



 0005              MASKGRP,1    S,0           F,0



R0006              YUL SYSTEM PASS 0 IS LOADED BY THE MONITOR IN RESPONSE TO THE MONITOR CARD

R0008   *       YUL             (ANY SUBSEQUENT WORD IS INTERPRETED AS THE NAME OF A TAPE OTHER THAN YULPROGS.)

R0010   IT THEN PERFORMS TASKS, SUCH AS ASSEMBLING A NEW BLK2 PROGRAM, UNDER CONTROL OF YUL DIRECTOR CARDS, WHICH ARE
R0012   DISTINGUISHED BY "Y" IN COLUMN 1.  THESE TASKS ARE PERFORMED IN SUCCESSION UNTIL ANOTHER MONITOR CARD IS READ.
R0014   NOTE IN PARTICULAR THAT THE FIRST CARD FOLLOWING THE  *  YUL  CARD MUST BE A YUL DIRECTOR CARD.

R0016                       YUL DIRECTOR CARDS ARE READ AS SENTENCES, THAT IS, SPELLING IS CRITICAL BUT INTERWORD SPAC-
R0018   ING AND (TO SOME DEGREE) PUNCTUATION ARE NOT.  THE RESTRICTION ON PUNCTUATION IS THAT THERE MAY BE ONLY ONE TER-
R0020   MINATOR CHARACTER AFTER EACH WORD.  SEE NEXT TWO PAGES FOR EXAMPLES.

R0021                       YUL SYSTEM PROGRAMS OCCUPY BANKS 1-3' AND RUN IN ANY 3 GROUPS.  THEY USE AS MANY AS 5 TAPES,
R0023   USE THE 2200 FOR TAPE PUNCHING, AND SNATCH AND RELEASE THE CARD PUNCH AS NEEDED.


R0025                       CAST OF CHARACTERS:

R0026   EMPEROR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HUGH BLAIR-SMITH  IL7-238E XT 215
R0028   VICEROY FOR BLOCK II POLISH ASSEMBLY (YULPASS2¢BLOCKII) . . . . . . . . CLIFFORD F. IDE   IL7-109  XT 151
R0030   MINISTER FOR MANUFACTURING (YULMANUF¢AGC4, YULMANUF¢BLOCKII). . . . . .        "             "        "

# Page 42
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.   2        PAGE   2

P0032   EXAMPLES OF ALL CURRENTLY AVAILABLE YUL DIRECTOR CARD TYPES.  ON THIS PAGE: ASSEMBLY-TYPE DIRECTORS.



R0034   Y  ANDY ASSEMBLE NEW BLK2 PROGRAM BUGFULL BY DR. TERRY-THOMAS
R00341  Y  NAN  ASSEMBLE NEW AGC SEGMENT PIZZA BY JOE & NEMO
R0035   Y LYNN  ASSEMBLE NEW AGC4 SUBROUTINE INTPRET BY MUNTZ

R0036   Y  YUL  ASSEMBLE REVISION 15 OF AGC4 PROGRAM HIKE BY JFK
R00361  Y  YUL  ASSEMBLE REVISION 1 OF AGC SEGMENT SPLITFEE BY DR. CROOK
R0037   Y  NAN  ASSEMBLE REVISION 112 OF BLK2 SUBROUTINE LEADON BY MACBETH

R0038   Y  EXP  ASSEMBLE VERSION NEWBUGGY BY SOMEBODY ELSE
R0039   S       FROM REVISION 2 OF AGC4 PROGRAM BUGS BY BUNNY                   (REQUIRED WITH VERSION ASSEMBLY)
R00401  Y LYNN  ASSEMBLE VERSION NEWSEG BY NEW FELLER
R00402  S       FROM REVISION 0 OF SACO SEGMENT OLDSEG BY OLD FELLER            (REQUIRED WITH VERSION ASSEMBLY)
R0041   Y ANDY  ASSEMBLE VERSION PINBALL BY A. I. GREEN
R0042   S       FROM REVISION 22 OF BLK2 SUBROUTINE BALLPEEN BY "POP" BUMPER    (REQUIRED WITH VERSION ASSEMBLY)

R0044   Y 2NDF  ASSEMBLE TRANSFERRED BLK2 PROGRAM DUSK BY NASA 2019999-099      (SEE TRANSFER VERB ON NEXT PAGE)
R0046   S       FROM PICKYOURFILENAME                                           (REQUIRED WITH TRANSFERRED ASSEMBLY)
R00471  Y  FROZ ASSEMBLE TRANSFERRED AGC4 SEGMENT TWILIGHT BY NASA 1021199
R00472  S       FROM DISCTWILIGHT                                               (REQUIRED WITH TRANSFERRED ASSEMBLY)
R0048   Y  YUL  ASSEMBLE TRANSFERRED SACO SUBROUTINE DENTURES BY G. WASHINGTON
R0049   S       FROM WASPARTOFAPROG                                             (REQUIRED WITH TRANSFERRED ASSEMBLY)
R00501  S       UPGRADE TO REVISION 123                                         (OPTIONAL WITH TRANSFERRED ASSEMBLY)

R0051   Y FROZ  REPRINT  REVISION 15 OF AGC4 PROGRAM HIKE BY JFK
R0052   S       FOR PIERRE SALINGER                                             (REQUIRED WITH REPRINT)
R00531  Y  NAN  REPRINT NEW AGC SEGMENT CLIPPING BY XEROX
R00532  S       FOR DENNISON                                                    (REQUIRED WITH REPRINT)
R0054   Y  YUL  REPRINT REVISION 0 OF SACO SUBROUTINE CARIES BY TOOTH DECAY
R0055   S       FOR NOYS E. BORING, D.D.S.                                      (REQUIRED WITH REPRINT)

# Page 43
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.   3        PAGE   3

P0057   EXAMPLES OF YUL DIRECTOR CARD TYPES CONCLUDED.  ON THIS PAGE: NON-ASSEMBLY AND INTERNAL-USE DIRECTORS.



R0058   Y   YUL DELETE REVISION 0 OF 3C PROGRAM BUGFULL BY DR. TERRY - THOMAS
R00581  Y  EXP  DELETE REVISION 12 OF BLK2 SEGMENT BUGABOO BY SPOOK
R0059   Y LYNN  DELETE REVISION 7 OF AGC4 SUBROUTINE BEDBUG BY SIMMONS

R0060   Y  YUL  CONTROL NEW SACO SUBROUTINE BICUSPID BY LEFTY CHOMP
R0061   S       AUTHORIZED BY PERCIVAL Q. NIBBLE                                (REQUIRED WITH SUBROUTINE CONTROL)
R0063   Y  NAN  DECONTROL REVISION 256 OF BLK2 SUBROUTINE UNBRIDLE BY JIM ORGIES
R0064   S       AUTHORIZED BY IMA NOH PURITAN                                   (REQUIRED WITH SUBROUTINE DECONTROL)

R0068   Y YUL   MANUFACTURE REVISION 1 OF 3C PROGRAM ZAP BY JOVE
R0069   Y ANDY  MANUFACTURE NEW AGC SEGMENT ZOT BY JOHNNY HART

R0071   Y LYNN  PRINT REVISION 2 OF AGC4 PROGRAM BUGS BY BUNNY
R0072   Y  LYNN PUNCH REVISION 2 OF AGC4 PROGRAM BUGS BY BUNNY
R0073   Y LYNN  PRINT, PUNCH REVISION 2 OF AGC4 PROGRAM BUGS BY BUNNY
R0074   Y LYNN  PUNCH, PRINT REVISION 2 OF AGC4 PROGRAM BUGS BY BUNNY
R00741  Y  FROZ PUNCH, PRINT REVISION 0 OF BLK2 SEGMENT FRAMMIS BY DINGBAT
R0075   Y LYNN  PRINT, PUNCH NEW AGC4 SUBROUTINE INTPRET BY MUNTZ               (I.E., PRINT OR PUNCH OR BOTH ARE OK.)

R0077   Y  NAN  TRANSFER NEW BLK2 PROGRAM DUSK BY NASA 2019999-099
R0078   S       AS PICKYOURFILENAME                                             (REQUIRED WITH TRANSFER)
R00791  Y ANDY  TRANSFER REVISION 3 OF AGC SEGMENT TWILIGHT BY WAGNER
R00792  S       AS DISCTWILIGHT                                                 (REQUIRED WITH TRANSFER)
R0080   Y  EXP  TRANSFER REVISION 12 OF AGC4 SUBROUTINE LEADON BY TEASER
R0081   S       AS SOMEOTHERNAME                                                (REQUIRED WITH TRANSFER)
R0083   Y  YUL  TRANSFER, PRINT NEW SACO PROGRAM CHEWCHEW BY EL MASTICATOR      (OR "PRINT, TRANSFER")
R0085   S       AS WASPARTOFAPROG                                               (REQUIRED WITH TRANSFER)

R0087   Y  NAN  MESSAGE TYPE THIS MESSAGE TO THE OPERATOR



R0088   MAINTENANCE OF YUL SYSTEM SOFTWARE STATUS -- INTERNAL USE.

R0089   Y ANDY  ADD NEW COMPUTER NAME BLK2                                      ("NEW", "NAME", AND "MOD" ARE OPTIONAL)
R0091   Y LYNN  REMOVE OLD COMPUTER NAME MOD 3C                                 ("OLD", "NAME", AND "MOD" ARE O6TIONAL)

R0093   Y YUL   ASSEMBLY PASS 1 FOR 3C IS AVAILABLE                             ("IS" IS OPTIONAL.)
R0095   Y EXP   ASSEMBLY PASS 2 FOR MOD BLK2 CHECKED OUT
R0096   Y  FROZ ASSEMBLY PASS 3 FOR MOD 3C IS OBSOLETE
R0097   Y ANDY  MANUFACTURING FOR BLK2 IS AVAILABLE
R0100   Y YUL   ASSEMBLY PASS 3 FOR AGC4 = ASSEMBLY PASS 3 FOR MOD  3C
R0101   Y LYNN  MANUFACTURING FOR MOD 4A  = MANUFACTURING FOR AGC4



R0103   OPERATOR OPTIONS.

R0104   Y       CREATE BACKUP
R01041  Y       CLOSE MONAIN TAPE

# Page 44
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.   4        PAGE   4

P0105              B1,0000 THROUGH B1,0076 (OCTAL) CONSTITUTE INTERPASS STORAGE.  NOTE THAT PASS 0 CHANGES C(PROG NAME).



 0107   YUL PASS 0 TS           YUL MASKS     Z,MXR         SNATCH Q            FIRST INSTRUCTION FOR ALL YUL SYST JOBS.



 0109   PROG NAME  EQUALS       YUL PASS 0                                      (FOR INTERPASS STORAGE PURPOSES).
 0111   NEXT NAME  ALF          END SYLT
 0112   SWITCH     OCT          0
 0113   L OLD LINE SPEC                                     OLD LINE

 0114   OLD LINE   ALF          -0000000                                        INITIAL SKIP TO HEAD OF FORM.
 0116              ALF,5
 0117              ALF,5
 0118              ALF,5

 0119   PAGE HEAD  ALF          03000000
 0120              ALF,5        LOGNO.  YUL SYSTEM FOR
 0121              ALF,5
 0122              ALF,5                                (MAIN)  PAGE   0

 0123   PAGE NO    DEC          +0
 0124   SYM PLACE  SPEC,B8                                  DAMN ZERO      -
 0125   SYM TAB XS DEC          +0
 0126   L COP BUFS SPEC,B7                                  768

# Page 45
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.   5        PAGE   5

P0127   INTERPASS STORAGE CONTINUED.



 0128   MID POINT  RESERVE      1
 0129   LIN COUNT  RESERVE      1
 0130   N WD RECS  OCT          0
 0131   E SYLT BAN RESERVE      1

 0132   L PROS FIL RESERVE      1
 0133   N LINES    OCT          0066                                            STANDARD 54 LINES PER PAGE.
 0135   L COMP NAM RESERVE      1
 0136   N COPIES   OCT          0

 0137   PAPER PLY  OCT          0
 0138   ERR PAGES  OCT          0
 0139   N ERR LINS DEC          0
 0140   L AUTH NAM RESERVE      1

 0141   SORS NAME  ALF
 0142   COMPUTER   OCT          37373737
 0143   SEG OWNER  ALF          1

 0144   SUBSTRAB   OCT          0, 0, 0, 0, 0, 0, 0, 0                          END OF INTERPASS STORAGE.

# Page 46
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.   6        PAGE   6

P0146              FIELD AND SHIFT MASKS FOR PASS 0.



 0147   B,BIT9     OCT          001
 0148   B,BIT10    OCT          0004
 0149   B,BIT36    OCT          -1 0000
 0150   B,B11T12   OCT          0003

 0151   B,P1T3AV   OCT          0001 0001 0001
 0152   B,DECALFM1 OCT          0000 7777 0000 7777
 0153   B,DECTEST  OCT          6060 6060 6060 6060
 0154   B,TEMPMASK OCT          0                                               VARIABLE MASK.

 0156   B,CHAR1    OCT          77
 0157   B,CHAR2    OCT          0077
 0158   B,CHAR3    OCT          0000 77
 0159   B,CHAR4    OCT          0000 0077

 0160   B,CHAR5    OCT          -7700 0000
 0161   B,CHAR6    OCT          -77 0000
 0162   B,CHAR7    OCT          -7700
 0163   B,CHAR8    OCT          -77

 0164   B,C1T4     OCT          7777 7777
 0165   B,C1T6     OCT          7777 7777 7777
 0166   B,BTHRED10 OCT          -3776 0000
 0167   B,THREAD10 OCT          -3776

 0168   B,THREAD11 OCT          -3777
 0169   B,BIT2     OCT          2
 0170   B,BANBITS  OCT          -760 0000
 0171   B,CAC3     DEC          -GGGG

 0172   B,B2B11    OCT          2002
 0173   B,C7T8     OCT          -7777
 0174   B37T48     EQUALS       C7T8
 0175   B,BIT12    OCT          0001
 0176   B,C5T8     OCT          -7777 7777

 0177   B,BIT25    OCT          -4000 0000
 0178   B,BIT33    OCT          -10 0000
 0179   B,DATEMASK OCT          -77 7700 7777
 0180   B,B36T37   OCT          -14000                                          32 B MASKS.

# Page 47
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.   7        PAGE   7

P0182   FURTHER SHIFT MASKS FOR PASS 0.



 0183   S,B5T9     OCT          037
 0184   S,B10T12   OCT          0007
 0185   S,D1       DEC          G
 0186   S,BIT1     OCT          4

 0187   S,D12      DEC          -G
 0188   S,ACH4     DEC          000 00G
 0189   S,ACH5     OCT          -1700 0000
 0190   S,C1T7     OCT          7777 7777 7777 7700

 0191   S, C1T3    OCT          7777 77
 0192   S,C3T5     OCT          0000 7777 77
 0193   S,C3T6     OCT          0000 7777 7777
 0194   S,DECALFM2 OCT          0074 0074 0074 0074

 0195   S,DECALFM3 OCT          1717 1717 1717 1717
 0196   S,CAC1     DEC          GGGG
 0197   S,CAC2     DEC          0000 GGGG
 0198   S,ATHRED10 OCT          0000 3776

 0199   S,TWO      OCT          -2
 0200   S,THREE    OCT          -3
 0201   S,SEVEN    OCT          -7
 0202   S,ONES     DEC          GGGG GGGG GGGG

 0203   S, 3D8     DEC          -3 0000
 0204   S, 7D8     DEC          -7 0000
 0205   S,B13T24   OCT          0000 7777
 0206   S,B1THRU12 OCT          7777
 0207   C1T2       EQUALS       B1 THRU 12

 0208   S,ONE      OCT          -1
 0209   S,7C6      OCT          -7 0000
 0210   S,D8T12    DEC          -GGGG
 0211   S,FOUR     OCT          -4

 0212   S,LOW5     OCT          -37
 0213   S,ATHRED11 OCT          0000 3777
 0214   S,OTHRED10 OCT          3776
 0215   S,YYNNYYYY OCT          7777 0000 7777 7777                             32 S MASKS.

# Page 48
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.   8        PAGE   8

P0217   TRANSFER VECTOR, USED BY SERVICE MODULE, MANUFACTURING, ETC.



 0218   YUL TYPER  SIMULATE                                                     ASSIGNED TO 0,63 (FROM OUTSIDE BANK 1).
 0220              TS           Z,AU2         TYP RTURN     TYPIST              PRESERVE MANDATORY C ADDRESS.

 0222   RD SBDIRC  TS           Z,SH          Z,X1          RD SUBDRC           TO SUBDIRECTOR READER (0,65).
 0224   HOWZAT     TS           WHODUNIT      Z,AU1         HOWZ THAT           UNRECOGNIZED WORD ABORT (0,66).

 0226   PCH LEDER  TS           Z,SH          Z,X4          PNCH LEDR           PUNCH "BEGIN..." & OBJECT MSG (0,67).
 0228   IGN SUBDR  TS           Z,SH          Z,X4          IGN SBDIR           IGNORE A NON-VITAL SUBDIRECTOR (0,68).
 0230   UNRC SUBR  TS           Z,SH          Z,X4          UNRC SBDR           CUSS UNKNOWN WORD IN SUBDIR (0,69).
 0232   E SYLT OK  TS           Z,SH          Z,X4          EN SYLT OK          MAKE GB STOP BYPT SEEK, STT PGM (0,70).

 0234   FETCH SS   TS           Z,SH          Z,X4          FETCH SSN           FETCH ANY SUBSTRAND.  (0,71).
 0236   NO CORE    TS           STAR COL 1    6,1           NO DIRECT +1        RETURN FROM CORE SNATCH FAIL (0,72).
 0238   PCH TITLE  TS           Z,SH          Z,S0          PTP TITLE      C    VISIBLY PUNCH N WDS ON TAPE (0,73).

 0240              TX           Z,SH          -             BKB PLACE      S    (EXIT FROM PCH FRAME).
 0242   PCH FRAME  TS           SWITCH        Z,SH          PNCH FRAM      C    PROCESS PAPER TAPE FRAME (0,75).
 0244   MANUF RTN  S, MON TYPER BLANKS        SPRA +8       END M TASK          RETURN FROM MANUFACTURING TASK (0,76).

 0246   YUL MASKS  MASKBASE     S,0           F,0                               (0,77).
 0248   OCTAL 20   OCT          -20                                             (0,78).

 0250   SERCH KEY  RESERVE      1                                               MATCH FOR WD 2 OF YULPROGS RECD (0,79).
 0252   WHODUNIT   RESERVE      1                                               ADDRESS OF UNRECOG. SUBDIR. WD (0,80).
 0254   6 COMMA 19 SPEC,B7                                  619                 2ND WD OF SENTENCE-READ OUTPUT (0,81).
 0256   L GPB STT  SPEC,B7                                  707                 START ADDRESS FOR SIDE-GROUP B (0,82).

 0258   L DIRECTY  CAC           2048                       14336               ADDRESSES OF B1, B7 (0,83).
 0260   CHAS 2500  DEC          -2500                                           CHARLIE-WORD VALUE OR INCREMENT (0,84).
 0262   FRAME      RESERVE      1                                               PAPER TAPE FRAME TO BE PUNCHED (0,85).
 0264   MASK SAVE  TS           YUL MASKS     Z,MXR         DO BACKUP           FOR MASKBASE OF MANUFACT ETC. (0,86).

 0266   PUNCH CD   SIMULATE                                                     GENERAL CARD-PUNCHING SUBRO (0,87).
 0268              TS           Z,MXR         FRAME         PNCH CARD           (0,88).
 0270   TYP ABORT  S, MON TYPER Y ABORT       SPRAMR +16    TYP BORTA           FINAL ACTION, ALL ABORTS (0,89).
 0272   L OBJC MSG SPEC                                     OBJCT MSG           (0,90).

 0274   REJEC DIR  S, MON TYPER REJEC MSG     SPRAMR +32    -                   DIRECTOR OR SUBDIRECTOR REJECTED (0,91).
 0276              S, YUL TYPER 6,2           AMTF +9       TYP ABORT           TYPE TEXT OF CARD (0,92).
 0278   TASK MSG   ALF,4                                                        TASK AND COMPUTER NAME FOR TYPING (0,93)
 0280   E TASK OBJ TS           Z,SH          Z,SC          TASK OBJC           EXTERNAL ENTRY TO TASK OBJC (0,97).

 0282   TYP TSKOB  TS           WHODUNIT      Z,X0          TYP TKOBJ           EXTERNAL ENTRY TO TYP TKOBJ (0,98).
 0284   E KNOWN PS TS           Z,SH          Z,SC          KNOWN PSR           EXTERNAL ENTRY TO KNOWN PSR (0,99).
 0286   TAP SERCH  TS           L GPB STT     Z,CSC         TAPE SRCH      C    GENERAL CALL TO TAPE SRCH (0,100).
 0288   L PGHED P3 CAC          30720                       PAGE HEAD +3        DEPAGINATOR & HEADLINE ADDRESS (0,101).

 0290   ASSY SBDR  TS           -             -             ASSY SUBD           EXTERNAL CALL FOR PRINT SUBDS (0,102).
 0292   COMMON     RESERVE      2                                               GENERAL TEMP. STORAGE (0,103, 0,104).

# Page 49
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.   9        PAGE   9

P0294   TRANSFER VECTOR CONTINUED.



R0295   MINOR SUBROUTINES IN PASS 0 TO PUT A CHARACTER.  S2 IS MAJOR INDEX, CSC IS MINOR INDEX.  CHARACTER IN C1 OF
R0297   COMMON, COSEQUENCE CALL.  0,105 THRU 0,113.

 0298   PUT CHAR   SS           COMMON        CHAR1         N,S2
 0299              SWS, CHAR2   COMMON        A,1           N,S2
 0300              SWS, CHAR3   COMMON        A,2           N,S2
 0301              SWS, CHAR4   COMMON        A,3           N,S2
 0302              SWS, CHAR5   COMMON        A,4           N,S2
 0303              SWS, CHAR6   COMMON        A,5           N,S2
 0304              SWS, CHAR7   COMMON        A,6           N,S2
 0305              SWS, CHAR8   COMMON        A,7           N,S2
 0306              TS           Z,S2,1        -             PUT CHAR       C

 0307   WRITE OBJ  TS           Z,SH          Z,S3          WRIT OBJC           EXTERNAL CALL TO WRIT OBJC (0,114).
 0309   LABEL YUL  TS           Z,SH          Z,X5          LABL TEST           ONLY ENTRY TO LABEL TAPE (0,115).
 0311   POSIT YUL  TS           Z,SH          Z,S3          POSIT REW           ONLY ENTRY TO POSITION TAPE (0,116).
 0313   PHIWAA     SPEC,B7                                  600                 SENTENCE READER AREA SPEC (0,117).

 0315   GROUP A    RESERVE      1                                               MAIN GROUP NUMBER (0,118).
 0317   YUL DA LZS TS           N,AU1,1       PHI ARG       YUL D2A ZS          EXTERNAL CALL TO YUL D2A ZS (0,119).
 0319   FOUND BUF  RESERVE      2                                               COMMUNICATION WITH TAPE SRCH (0,120-1).
 0321   GROUP NAP  TS           -             -             MON SLEEP      C    STALL-TYPE SLEEPING SUBROUTINE (0,122).
 0323              WD           Z,SH          ONE           Z,SC           S    EXIT FROM ABOVE.

 0325   SYMS OR NO DEC          -GGGG                                           ALL ONES FOR SYMBOL TABLE (0,124).
 0327   SB THREDS  TS           -             NO MO SUBS +1 SUB THRDS      C    EXTERNAL CALL TO SUB THRDS (0,125).
 0329   DISASTER   MPC,H        Z,1           301           MON PCR             EXTERNAL CALL TO DISASTER (0,126).
 0331              ALF          DISASTER                                        (0,127).  FOR ALL UNMANAGEABLE TROUBLES.

 0333   COMP NAME  RESERVE      1                                               RESULT FROM FIND COMP (0,128).
 0335   1 COMMA 8  SPEC,B7                                  8                   ADDR OF 1ST THREAD WD IN LABEL (0,129).
 0337   ACCEPT M2  TS           -             -             ACCEPT -2           ENTRY AFTER LABEL CHANGE (0,130).
 0339   DCOD CNAM  TS           Z,SC          Z,S2          DECOD CPN           EXTERNAL CALL TO DECOD CPN (0,131).

 0341   CPN FIXER  TS           Z,SC          Z,S2          MOD CHEK 3 -2       EXT. CALL TO SUBSET THEREOF (0,132).
 0343   GIVE PAIR  TS           Z,AU1,1       Z,AU2         GIVE PR        C    ONLY ENTRY TO GIVE PAIR (0,133).
 0345   FIND COMP  TS           ZERO          Z,R4          FIND CNAM      C    ONLY ENTRY TO FIND COMP (0,134).
 0347   FIND PR    TS           -             -             FIND PAIR      C    EXTERNAL CALL TO FIND PAIR (0,135).

 0349   L BLANCO   SPEC                                     BLANCARD            ADDRESS OF ZERO & 15 BLANK WDS (0,136).
 0351   REVNO      RESERVE      1                                               DECIMAL REVISION NUMBER (0,137).
 0354   W SERVICE  ALF          YULSERVE                                        PASS 0 SERVICE MODULE NAME (0,138).
 0355   PASS 1     ALF          YULPASS1                                        ASSEMBLY GENERAL PASS 1 NAME (0,139).
 0356   PAR MANUF  ALF          ????MANU                                        SPECIAL MANUFACTURING SEG NAME (0,140).

 0358   ACA OTHE   ALF,2        ACA OTHERWISE                                   LETS OPERATOR REFUSE THINGS (0,141-2).

# Page 50
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  10        PAGE  10

P0359              RESERVATION.

 0360   TRONDEX    RESERVE      15
 0361   AUTH NAME  RESERVE      2
 0363   TYP RTURN  RESERVE      1
 0364   SORS LINE  RESERVE      16



R0365   NUMERIC CONSTANTS.

 0366   SIXES      OCT          12, 06, 0606, 060606

 0373   ZERO       OCT          0
 0374   PLUS ZERO  DEC          +0
 0375   54 LINES   OCT          0066
 0376   BIT 6      OCT          01
 0377   1 C7       OCT          -100

 03775  YUL FILE   OCT          -7002
 0378   B14T18     OCT          0000 37
 0379   SNTRACOD   DEC          -31
 0380   PAV BITS   OCT          0001 0001 0001 0001
 0381   B24 B36    OCT          -1 0001 0000

 03815  A4 MINUS 4 OCT          -3 7777 7774
 0382   SIX        OCT          -6
 0383   NINE       DEC          -9
 0384   9 C3       OCT          0000 11
 0385   B29 B32    OCT          -220 0000

 0386   DEC 99     DEC          -99
 03865  C 259      FXBIN        -259
 0387   C 255      FXBIN        -255
 03909  TEN C1     OCT          12
 0392   HEXB C5    OCT          -1200 0000
 0393   TEN        OCT          -12

# Page 51
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  11        PAGE  11

P03931  NUMERIC CONSTANTS CONCLUDED.

 03932  FIFTY      DEC          -50
 03934  CW FACTOR  DEC          G8465
 0394   4 C6       OCT          -4 0000
 0395   CAC12      DEC          GGGG GGGG
 0396   CAC3 M1    OCT          -177776

 0397   BIT 32     OCT          -20 0000
 0398   C1T4 B48   DEC          GGGGGG 000001
 0399   B2 B13     OCT          20004
 0400   D11D12     DEC          -GG

 0401   BIT 17     OCT          0000 02
 0402   BIT 37     OCT          -4000
 0403   BIT 13     OCT          00004
 04035  BIT 7      OCT          004
 0404   BIT 8      OCT          002
 0405   BIT 35     OCT          -2 0000
 0406   B34T35     OCT          -6 0000

 0407   B14 B18    DEC          00044
 0408   B15 B19    DEC          00022
 0409   B16 B20    DEC          00011
 0410   B18T20     DEC          00007
 0411   SUPP BITS  DEC          00077
 0412   GROUP IND  OCT          -74000

# Page 52
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  12        PAGE  12

P0413   ONE-WORD ALPHABETIC CONSTANTS.

 0414   W BACKUP   ALF          BACKUP
 0415   W FREEZE   ALF          FREEZE
 0416   ACCEPTED   ALF          ACCEPTED
# The following line makes a string of "blots", non-ASCII characters.
# I have chosen to represent them as the ASCII "block" character, Unicode 9608.
 0417   BLOTS      ALF          ████████
 0418   CHECKERS   ALF          B95 B95 B95 B95
 0419   COLON C1   ALF          :
 0420   W AUTHMEM  ALF          AUTHMEMO
 0421   W INACTIV  ALF          INACTIVE
 0422   GC FRE MSG ALF          G7 FREE

 0423   W END SYPT ALF          END SYPT
 0424   W END SYLT ALF          END SYLT
 0425   W UPGRADE  ALF          UPGRADE
 0426   W BEFORE   ALF          BEFORE
 0427   W ALL      ALF          ALL
 0428   RIGHT HO   ALF          (SIGH)
 0429   STAR COL 1 ALF          *
 0430   TAPE NO    ALF          20000000

# The following line makes a string containing "blots", non-ASCII characters.
# I have chosen to represent them as the ASCII "block" character, Unicode 9608.
 0432   W BLOT OBS ALF          ██OBS██
 0433   W BY       ALF          BY
 0434   W SYMBOL   ALF          SYMBOL
 0435   W OCTAL    ALF          OCTAL
 0436   W DLETION  ALF          DELETION
 0437   W FOR      ALF          FOR
 0438   W TO       ALF          TO
 0439   W MOD      ALF          MOD
 0440   W NEW      ALF          NEW
 0441   W OF       ALF          OF
 0442   W PROGRAM  ALF          PROGRAM
 04421  W SEGMENT  ALF          SEGMENT
 0443   LOG COMMA  ALF          , 000000
 0444   W LINES    ALF          LINES
 0445   W COPIES   ALF          COPIES

 0446   W FROM     ALF          FROM
 0447   W FROZYUL  ALF          FROZEYUL
 0448   W 2ND FROZ ALF          2NDFROZE
 0449   W SOURCE C ALF          SOURCE:
 0450   W MONAIN   ALF          MONAIN
 0451   W TAPE     ALF          TAPE
 0452   W SYMBLS 0 ALF          SYMBOLS0
 0453   ZERO C1    ALF          0

# Page 53
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  13        PAGE  13

P0454   ALPHABETIC CONSTANTS -- FIRST OF 7 PAGES.



 0455   AUTHORYZ   ALF,2        AUTHORIZED
 0457   BAUTH MSG  ALF,4        BLANK WORD IN AUTHOR NAME.
 0458   W SUBROTI  ALF,2        SUBROUTINE

 0460   BLCPN MSG  ALF,3        COMPUTER NAME IS BLANK.
 0461   BLPSN MSG  ALF,3        PROG/SUB NAME IS BLANK.
 0462   CONPN MSG  ALF,5        CONFLICT WITH EXISTING PROG/SUB NAME.

 0463   TSFRD MSG  ALF,3        TRANSFERRED ASSEMBLY NEE
 0464              ALF,4        DS SUBDIRECTOR SPECIFYING SOURCE
 0465   XIN WRSIZ  ALF,4        DISCFILE NAME VOID OR TOO LONG
 0466   XIN TERMS  ALF,5        DISCFILE NAME CONTAINS TERMINATOR CHARS.

 0467   DIFUL MSG  ALF,4        YUL FILE DIRECTORY IS TOO LONG.
 0468   IN SUB MSG ALF,3         INACTIVE SUBROUTINES
 0469   VER PR MSG ALF,3             THIS PROGRAM WAS AS
 0470   VER SB MSG ALF,3          THIS SUBROUTINE WAS AS

# Page 54
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  14        PAGE  14

P0471   ALPHABETIC CONSTANTS -- SECOND OF 7 PAGES.



 0472   LAUTH MSG  ALF,3        AUTHOR NAME IS TOO LONG.
 0473   LCPN MSG   ALF,5        TOO-LONG COMPUTER NAME:
 0474   LPRGN MSG  ALF,5        TOO-LONG PROG/SUB NAME:
 0475   LREVN MSG  ALF,5         TOO-LONG REVISION NO.:

 0476   TSFR LINE  ALF,3        SEMBLED FROM DISC FILE
 0477   XNODF MSG  ALF          DS DISC
 0478   NOFIL MSG  ALF,3        FILE NOT FOUND ON DISC

 0482   NASSY MSG  ALF,4        CAN'T ASSEMBLE FOR THAT COMPUTER
 0483   NAUTH MSG  ALF,3        AUTHOR NAME IS MISSING.
 0484   VERS LINE  ALF,3        SEMBLED AS A VERSION OF

# Page 55
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  15        PAGE  15

P0485   ALPHABETIC CONSTANTS -- THIRD OF 7 PAGES.



 0486   CONSU MSG  ALF,5        CONTROLLED SUBROUTINE CANNOT BE DIDDLED.
 0487   NUM NONS   ALF,2        CARDS BYPASSED:
 0488   NON WISE   DEC          0
 0489   OBJCT MSG  ALF,5
 0490              ALF,2

 0491   OC MAP MSG ALF,3         OCTAL STORAGE MAP
 0492   RDUND MSG  ALF,2           REDUNDANT
 0493   REJEC MSG  ALF,4        THEREFORE THIS CARD IS REJECTED:
 0494   SY TAB MSG ALF,3         SYMBOL TABLE LISTING

 0495   ASCBU MSG  ALF,3        ASA TO CREATE BACKUP;
 0497   NTPCH MSG  ALF,2        NO TAPE PUNCHING
 0498   NR FRZ MSG ALF,5        CAN'T REVISE A PROGRAM ON A FROZEN TAPE

# Page 56
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  16        PAGE  16

P0499   ALPHABETIC CONSTANTS -- FOURTH OF 7 PAGES.



 0500   UDRVN MSG  ALF,4        UNDECIMAL REVISION NO.:
 0501   UNRCA MSG  ALF,4        AUTHOR NAME NOT RECOGNIZED.

 0502   UNRCO MSG  ALF,4        COMPUTER NAME NOT RECOGNIZED.
 0503   UNRCP MSG  ALF,4        PROGRAM NAME NOT RECOGNIZED.
 0504   UNRCS MSG  ALF,4        SUBROUTINE NAME NOT RECOGNIZED.

 0505   UNRDY MSG  ALF,4        UNREADY OPERATION REQUESTED.
 0506   WAUTH MSG  ALF,5        WRONG AUTHOR, SHOULD BE:
 0507   W END YUL  ALF,2        END YUL SYSTEM

 0508   WREVN MSG  ALF,5        WRONG REVISION NUMBER, SHOULD BE:
 0509   WUNRC MSG  ALF,5        THIS WORD UNRECOGNIZED:
 0510   AU SUB MSG ALF,5        CONTROL OR DECONTROL REQUIRES AUTHORIZIN
 0511              ALF,2        G SUBDIRECTOR

# Page 57
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  17        PAGE  17

P0512   ALPHABETIC CONSTANTS -- FIFTH OF 7 PAGES.



 0513   BLANCARD   OCT          0
 0514   BLANKS     ALF,5
 0515              ALF,5
 0516              ALF,5

 0517   CDREN MSG  ALF,2        RENUMBER CARDS
 0518   SET LN MSG ALF,3        PRINT 00 LINES PER PAGE
 0519   N COPS MSG ALF,3        00 COPIES WILL BE MADE;
# The following line uses non-ASCII characters representing 1/2.
 0520   WH PLY MSG ALF,2        WHAT PLY PAPER½½
 0521   WAA 10060  ALF,3        W   A   A10060  0000000P

 0522   DUPSR MSG  ALF,3        DUPLICATE SUBDIRECTOR
 0523   NF WSZ MSG ALF,3        NUMERIC FIELD WRONG SIZE
 0524   NW NDC MSG ALF,3        NUMERIC WORD NOT DECIMAL
 0525   NW RGE MSG ALF,3        NUMERIC WORD RANGE ERROR

 0526   IL RQT MSG ALF,3        ILLEGAL REQUEST FOR TASK
 0527   VRSNS MSG  ALF,5        VERSION ASSEMBLY MUST HAVE SUBDIRECTOR S
 0528              ALF,2        PECIFYING SOURCE

# Page 58
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  18        PAGE  18

P0529   ALPHABETIC CONSTANTS -- SIXTH OF 7 PAGES.



 0530   22 OUT MSG ALF,3        2200 READY TO DO MONAOUT
 05301  NO MDS MSG ALF,3        NO MONAIN DATA STORED
 0531   FRSUB MSG  ALF,3        FREEZE SUBROUTINES
 0532   PRO CO MSG ALF,4        PROGRAMS CANNOT BE CONTROLLED.
 0533   NUMUS MSG  ALF,3        NUMBER OF USERS =
 0534   PROBS MSG  ALF,5        PROGRAM OBSOLETED BY SUBROUTINE CHANGES
 0535   SUP CO MSG ALF,3        SUPPRESS CONDITIONALLY:

 0536   REP 4 LINE ALF,3                THIS REPRINT IS
 0537   4WHOM MSG  ALF,5        REPRINT REQUIRES "FOR WHOM" SUBDIRECTOR
 0538   Y ABORT    ALF,2        8   TASK ABORT
 0539   W CONDIT   ALF,2        CONDITIONALLY

 0540   W TRANSFD  ALF,2        TRANSFERRED
 05402  OLRVN MSG  ALF,2        OLD REVISION NO.
 05403  NTHIS MSG  ALF,2        NOT ON THIS DISC
 05404  FDISC MSG  ALF,2        FOUND ON DISC
 0541   AS TRY MSG ALF,2        ASA TO TRY AGAIN

# Page 59
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  19        PAGE  19

P0542   ALPHABETIC CONSTANTS -- SEVENTH OF 7 PAGES.



 0543   N MANU MSG ALF,5        CAN'T MANUFACTURE FOR THAT COMPUTER
 0544   DF ERR MSG ALF,2        CAN'T READ FILE
 0545   IGNOR MSG  ALF,4        THEREFORE THIS CARD IS IGNORED:
 0546   W URING FO ALF,2        URING FOR

 0547   MANSU MSG  ALF,5        SUBROUTINES MAY NOT BE MANUFACTURED
 0548   ND NMF MSG ALF,5        NO DISC; CANNOT MANUFACTURE OLD REVISION
 0549   SD MIS MSG ALF,3        SUBDIRECTOR CARD MISSING
 0550   DR UMA MSG ALF,5        DESIRED REVISION IS UNMANUFACTURABLE

 0551   TAPE B MSG ALF,4        CAN'T PUNCH TAPE WITH THIS 1800
 0552   WR TAP MSG ALF,5        WRONG TAPE NAME ABBREVIATION IN COLS 2-7
 0554   CPUNV MSG  ALF,3        CARD PUNCH UNAVAILABLE
 0555   NCOUT MSG  ALF,2        NO CARD OUTPUT

# Page 60
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  20        PAGE  20

P0556              ADDRESS CONSTANTS.

 0557   ENDIRECS   SPEC                                     LAS DIREC
 0558   L DIRECTS  SPEC                                     DIRECTS
 0559   L END THR  SPEC                                     END THR
 0560   L SUBSTRB  SPEC                                     SUBSTRAB
 0561   RLS CD PCH CAC                        NUMERALS      16

 0562   L SN CPNCH SPEC                                     SN CPUNCH
 0563   L SIXES    SPEC                                     SIXES
 0564   L TKMSG P1 SPEC                                     TASK MSG +1
 0565   L TKMSG P2 SPEC                                     TASK MSG +2

 0566   L SYM THR  SPEC,B5                                  836
 0567   L AV TABLE SPEC,B4                                  DAMN ZERO
 0568   L MSG AREA SPEC,B7                                  590
 0569   Y FILE LIM SPEC,B7                                  500

 0570   GB SWITCH  SPEC,G0                                  N,R2
 0571   BANK B     SPEC, BB                                 DAMN ZERO
 0572   BKB PLACE  SPEC, BB                                 DAMN ZERO
 0573   END BANK B SPEC, BB                                 2039

 0574   I SYM THRS CAC          8192                        8192
 0575   ISY SUB TH OCT          5000 0000 0003 4007
 0576   L ONES     SPEC,B7                                  7

 0577   BUF NAMES  SPEC,B5                                  928
 0578              SPEC,B5                                  1193
 0579              SPEC,B5                                  1458
 0580              SPEC,B5                                  1723

 0581              SPEC,B6                                  1988
 0582              SPEC,B6                                  205
 0583              SPEC,B6                                  470
 0584              SPEC,B6                                  735

 0585   L B LISTS  SPEC,B6                                  2028
 0586   SPEC ONE   SPEC,B0                                  1
 0587   L SERVICE  SPEC, B4                                 DAMN ZERO

# Page 61
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  21        PAGE  21

P0588              ASSIGNMENTS.

 0589   MONITOR    ASSIGN       7,0
 0590   PHI TAPE   ASSIGN       7,1
 0591   PHI SNACH  ASSIGN       7,2
 0592   PHI PEEK   ASSIGN       7,3

 0593   EOR        ASSIGN       7,4
 0594   PHI LOAD   ASSIGN       7,7
 0595   PHI READ   ASSIGN       7,15
 0596   MON RLEAS  ASSIGN       7,19

 0597   PHI PRINT  ASSIGN       7,23
 0598   MON EOFRI  ASSIGN       7,31
 0599   PHI DATE   ASSIGN       7,36
 0600   PHI SENTR  ASSIGN       7,40

 0601   PHI A2D    ASSIGN       7,41
 0602   PHI ABORT  ASSIGN       7,46
 0603   BASE ADDR  ASSIGN       7,47
 0604   MON UNLOK  ASSIGN       7,85

 0605   MON SGSNA  ASSIGN       7,91
 0606   MON WAKE   ASSIGN       7,99
 0607   MON REL GP ASSIGN       7,100
 06072  MON RELOX  ASSIGN       7,103

 0608   MON SN QIP ASSIGN       7,111
 0609   DISCAP     ASSIGN       7,114
 0610   MON SLEEP  ASSIGN       7,166
 0611   MON PRADS  ASSIGN       7,174

 0612   MON LCARD  ASSIGN       7,178
 0613   MON RELCD  ASSIGN       7,180
 0614   MON PUNCH  ASSIGN       7,191
 0615   PHI LABEL  ASSIGN       7,195

 0616   DISC STAT  ASSIGN       7,210
 0617   MON SNCOR  ASSIGN       7,212
 0618   MON TYPER  ASSIGN       7,215
 0619   MON PCR    ASSIGN       7,220
 0620   DISC CHEK  ASSIGN       7,221
 0621   MON TADDR  ASSIGN       7,223

 0622   GET LOG NO ASSIGN       7,225
 06229  DISC READ  ASSIGN       7,239
 0623   1800 AB SW ASSIGN       7,241
 0624   DISC WRIT  ASSIGN       7,247

 0625   PACK DATE  ASSIGN       6,100
 0626   YUL DATE   ASSIGN       6,101
 0627   YUL LOG    ASSIGN       6,104
 0628   YUL LOG A  ASSIGN       6,105
 0629   $PAR IDLE  ASSIGN       6,106

# Page 62
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  22        PAGE  22

P0630              EQUIVALENCES.



 0631   A          EQUALS       128
 0632   AMTF       EQUALS       384
 0633   AMTFNCR    EQUALS       896

 0634   SPRA       EQUALS       128
 0635   SPRAM      EQUALS       896
 0636   SPRAMR     EQUALS       384

 0637   DAMN ZERO  EQUALS       0
 0638   ATAPE PCH  EQUALS       64
 06382  CHK DF ERR EQUALS       512

 0639   BIT 34     EQUALS       4 C6
 0645   1 C6       EQUALS       BIT 36
 06452  THOUSAND   EQUALS       BIT 36
 06454  DEC 10000  EQUALS       BIT 32
 0646   Y COLUMN 1 EQUALS       DIFUL MSG
 0647   W REVISON  EQUALS       DR UMA MSG +1

 0649   W VERSION  EQUALS       VRSNS MSG
 0650   END THR    EQUALS       14342
 0651   INIT X5    EQUALS       ERR PAGES
 0652   PUNCH ADR  EQUALS       SORS LINE +14
 0653   TASK LOG   EQUALS       SORS LINE +15

 0655   S COLUMN 1 EQUALS       W SYMBOL
 0656   BANK 1     EQUALS       L DIRECTY
 0657   ACO2       EQUALS       B10T12
 0658   AMPRSANS   EQUALS       DEC ALF M3

 0659   W NE       EQUALS       W SUBROTI +1
 0660   W RENUMBR  EQUALS       CDREN MSG
 0661   NUM BASE   EQUALS       RLS CD PCH
 0662   CRD COUNT  EQUALS       L SN CPNCH
 0663   L STOPPER  EQUALS       CAC3
 0664   W SUPPRES  EQUALS       SUP CO MSG
 0665   SAVE XS    EQUALS       SORS LINE

# Page 63
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  23        PAGE  23

P0666              SPECIAL ROUTINE, DONE AT THE BEGINNING OF A YUL JOB.  PACKDATE AND THE TWO-WORD YUL DATE ARE KEPT IN
R0668   BANK 7, BEYOND THE SENTENCE-READER AREA.  THE LOG NUMBER IN NUMERIC AND ALPHABETIC FORM IS KEPT THERE ALSO.
R0671   CALLED FROM INIT PAS 0, FOUR PAGES HENCE.

 0675              SETLOC,4     0             B4

 0679   BEGIN JOB  TX           L PAR IDLE    -             Z,R0
 0680              TN           PARA IDLE     9             N,R0                SET UP BED FOR SIDE GROUPS TO SLEEP IN.
 0682              TS           Z,R0,3        C,+1          MON SGSNA           SNATCH AND START GROUPS B AND C.
 0684   L PAR IDLE SPEC,B7                                  706
 0685              TS           B34T47 BJ     Z,R1          RETRY GPC           (FOLLOWS SUCCESSFUL SNATCH OF GROUP B.)
 0687              TX           SAY DIE       -             C,+2                IF CAN'T GET EVEN ONE SIDE GROUP, DIE.
 0689   NO GROUP C S, MON TYPER ND2SG MSG     SPRAMR +32    -                   "YUL SYSTEM NEEDS TWO SIDE GROUPS".
 06902             TX           BANK 1 BJ     -             Z,X0                UNDO DAMAGE DONE BY GROUP-SNATCHER.
 0691              TX, CHAR3    ACA OTHE B    -             BJ TRY MSG
 0692              S, MON TYPER BJ TRY MSG    SPRAMR +16    -                   "ASA TO TRY AGAIN".
 0694              S, MON TYPER ACA OTHE B    SPRA +16      C,+3                "ACA OTHERWISE   ".
 0696              STOP                                     -              S    ASA OR ARA OR DON A WILL TRY AGAIN.
 0698   SAY DIE    S, MON TYPER BJ END YUL    SPRA +16      MONITOR             ACA COMES HERE.
 0700              TS           B34T47 BJ     Z,R1          C,-2           C    PREPARE TO TRY AGAIN.
 0702   RETRY GPC  TS           Z,R0          C,+1          MON SGSNA
 0703              RESERVE      1
 0704              TS           BANK 1 BJ     Z,X0          SNACH TAP           (FOLLOWS SUCCESSFUL SNATCH OF GROUP C).
 0706              LA           Z,R1          ZERO BJ       NO GROUP C          SEEK HELP AFTER TWO FAILURES IN 1/2 SEC.
 0708              NA           Z,R1,1        ONE BJ        C,-1                COUNT DOWN FROM 32766.
 0710              TS           -             -             RETRY GPC

 0711   SNACH TAP  EBA          MON LCARD     ZERO BJ       Z,AU1               FORM ADDRESS OF SAVED MONITOR CARD.
 0714              TN           N,AU1         10            6,1
 0715              TS           ONES BJ       6,11          PHI SENTR           RE-SENTENCE-READ MONITOR CALL CARD.
 0717              TS           H1800B        YUL LOG A     MON REL CD     C    RELEASE MON CARD COMMUNICATION AREA.

 0719              NA           6,19          ONES BJ       C,+2                BRANCH IF THERE'S A WORD AFTER "YUL".
 0721              TS           Z,SC,1        -             PHI SNACH           IF NONE, USE TAPE YULPROGS.
 0723              TS           6,19          C,+2          PHI SNACH           OTHERWISE, USE TAPE NAMED.
 0725              ALF,2        N10<0001YULPROGS
 0726              DEC          GGG GGG GGG GGG
 0727              TS           COMMA '62     YUL DATE +1   GET LOG NO     C
 0728              SWE, C1T4    N,AU2,4       D,1,L         YUL LOG             PROTECT LOG NUMBER FROM MULTIJOBS.
 0730              TS           ONES BJ       N,AU2         MON UNLOK      C    KILL MON LINE LIMIT, UNLOCK YULPROGS.
 0732              RF,1         -             -
 0733              TS           YUL LOG       PHI ARG BJ    PHI TAPE
 0734   LOAD LABL  RF,1         1,0           -             -                   LABEL TO BANK 7 FOR DURATION OF JOB.
 0736              TS           Z,SC          Z,AU1         YUL DA LZS          CONVERT LOG TO ALPHA, SUPPRESS ZEROS.
 07372  PHI ARG BJ RESERVE      1
 07374             TX           Z,SH          -             Z,X4
 0738              SSL, ONE     1800 AB SW    24            C,+1                APPEND "A" OR "B" TO LOG NUMBER.
 0740              WD           YUL LOG A     1 C7 BJ       YUL LOG A
 0741              S, MON TYPER BEGIN YUL     SPRAMR +16    -
 0742              S, MON TYPER BLANKS BJ     SPRA +8       -                   TYPE "BEGIN YUL SYSTEM".
 0744              TS, C1T6     4,2           YUL LOG A     PHI TAPE
 0745              RF,1         -             -             -                   VERIFY THAT LABEL IS READ IN.

# Page 64
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  24        PAGE  24

P0747   VERIFY THAT THE DATE IS REASONABLE.

 0748   DO MONTH   SWE, D1      PHI DATE      8,L           PACK DATE           UNITS DIGIT OF MONTH.
 0750              NA, CHAR1    PHI DATE      ZERO BJ       OC NOV DEC
 0751              LA, CHAR2    HEXB C2       PHI DATE      ILLEG DAT           BRANCH IF NON-DECIMAL MONTH.
 0753              NA           PACK DATE     ZERO BJ       PRINT MO            BRANCH IF MONTH NOT ZERO.

 0755   ILLEG DAT  S, MON TYPER PHI DATE      SPRAM +8      -
 0756              S, MON TYPER W ILLEGAL     SPRAMR +8     -                   "MM.DD.YY ILLEGAL".
 0758              S, MON TYPER FIX DATE      SPRA +16      PHI ABORT           "FIX DATE & RERUN".

 0760   OC NOV DEC NA, CHAR1    PHI DATE      1 C1          ILLEG DAT           BRANCH IF MONTH = 20 OR MORE
 0762              LA, CHAR2    3 C2          PHI DATE      ILLEG DAT           BRANCH IF MONTH = 13 OR MORE
 0764              WA           PACK DATE     B D1          PACK DATE           PUT PACKED MONTH IN THE RANGE 10-12.

 0766   PRINT MO   SWE, D12     PACK DATE     D,11          6,1                 GUARANTEE NO ASTERISK INITIALLY IN 6,1.
 0768              WA           6,1           L MONTHS      Z,AU1
 0769              TX           N,AU1         -             YUL DATE            STORE ALPHABETIC MONTH NAME.

 0771   PRINT DAY  SWS, C7T8    PHI DATE      A,3           YUL DATE            TENTATIVELY, 2-DIGIT DAY TO ALPHA DATE.
 0773              NA, CHAR7    YUL DATE      ZERO BJ       DO DAY              BRANCH IF DAY = 10 OR MORE.
 0775              SWS, C7T8    YUL DATE      A,1,L         YUL DATE            SHIFT UP 1-DIGIT DAY.
 0777              LA, CHAR7    YUL DATE      ZERO BJ       ILLEG DAT           BRANCH IF DAY = 0.
 0779              TX, CHAR8    COMMA C8      -             YUL DATE

 0780   DO DAY     NA, CHAR4    PHI DATE      ALF DAY 30    DAY 1T29            BRANCH IF DAY LESS THAN 30.
 0782              LA, CHAR5    2 C5          PHI DATE      ILLEG DAT           BRANCH IF DAY = 32 OR MORE.
 0784              SWS, B5T9    PHI DATE      21,L          PACK DATE
 0785              WA           PACK DATE     BIN DAY 30    PACK DATE           PUT DAY 30 OR 31 IN PACKED DATE.

 0787   TEN DAYS   TS           -             -             DO YEAR             (USED WHEN DAY LESS THAN 10 OR OVER 29).
 0789              WA           PACK DATE     BIN DAY 10    PACK DATE
 0790              WA           PACK DATE     BIN DAY 20    PACK DATE           FINISH PACKED DAY NUMBER.

 0792   DAY 1T29   LA, CHAR4    ALF DAY 30    PHI DATE      ILLEG DAT           BRANCH IF DAY = 40 OR MORE.
 0794              LA, CHAR5    HEXB C5 BJ    PHI DATE      ILLEG DAT           BRANCH IF NON-DECIMAL DAY NO.
 0796              SWS, B5T9    PHI DATE      21,L          PACK DATE
 0797              SSL, CHAR8   PHI DATE      A,4           TEN DAYS       C    INSERT DAY NUMBER INTO PACKED DATE.

 0799   DO YEAR    SWS, CHAR5   PHI DATE      A,2,L         YUL DATE +1         PUT UNITS DIGIT OF YEAR NUMBER INTO ALF.
 0801              NA, CHAR7    PHI DATE      6 C7          ILLEG DAT           RECODE THIS ON DEC. 31, 1969.
 0803              LA, CHAR8    PHI DATE      ONE BJ        ILLEG DAT           BRANCH IF 60 OR 61.
 0805              LA, CHAR8    HEXB C8       PHI DATE      ILLEG DAT           BRANCH IF NON-DECIMAL YEAR NO.
 0807              NA, CHAR4    PHI DATE      ZERO BJ       C,+2                BRANCH IF DAY WAS TWO DIGITS.
 0809              SWS, C1T7    YUL DATE +1   A,1,L         YUL DATE +1         OTHERWISE SHIFT UP ALPHA YEAR.
 0811              WD           PHI DATE      TWO BJ        N,X6                GUARANTEE N,X6 INITIALLY NOT ALL ONES.
 0813              SWS, B10T12  N,X6          12            PACK DATE           PUT DIMINISHED YEAR NO. INTO PACK DATE.
 0815              TX           PHI DATE      -             1,4                 PUT DATE IN YUL FILE DIRECTORY.

# Page 65
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  25        PAGE  25

P0817   SET UP SPECS AND BUFFERS FOR 4-LINE/RECORD COPY-WORKTAPE WRITING.

 0818   SETUP COP  TX           L COPBS BJ    -             Z,AU2
 0819              TX           Z,AU2,1       -             Z,X4
 0820              MT           ZERO BJ       33            N,AU2,1             CLEAR 4 X 16 + 2 WORDS IN FIRST BUFFER.
 0822              TS           Z,X4          4,68          C,-1           C    SPEC TO START OF BUF FOLLOWS BUF.
 0824              RT           4,1           4,67          4,69                PRE-PLANT EOR FOR END BUFFER DETECTION.
 0826              TX           Z,AU1         -             N,X4                EACH BUF IS PRECEDED BY SPEC TO OTHER.
 0828              TS           Z,AU1         N,AU2         MON SN COR     C
 0829              DEC          0000 0000 0018                                  SNATCH UPPER MEMORY BANKS 0-3.
 0830              TS           L SET PG HD   Z,SC          C,+2           C
 0831              S, MON TYPER ND19B MSG     SPRAMR +32    NO CORE             "YUL SYSTEM NEEDS 19 BANKS: 1-3'".
 08312             TX           BANK 1 BJ     -             Z,X0           C    UNDO DAMAGE DONE BY CORE SNATCH.
 0832              NA, CHAR8    1,0           ZERO BJ       C,+1           S    EXIT TO SET PG HED IF GOT CURRENT TAPE.
 0833              S, PHI LOAD  B SERVICE     0             DO BKUP BJ



R0834   ALPHABETIC CONSTANTS FOR THE BEGIN-JOB SUBSEGMENT.

 08341  BLANKS BJ  ALF
 08341  H1800B     ALF                B
 08343  COMMA '62  ALF          , 1962
 08344  W ILLEGAL  ALF           ILLEGAL
 08345  LUMPED BJ  ALF          13 32 6,                                        MULTIPLE MASKED CONSTANT.

 08346  BEGIN YUL  ALF,2        BEGIN YUL SYSTEM
 08347  FIX DATE   ALF,2        FIX DATE & RERUN
 08348  BJ TRY MSG ALF,2        ASA TO TRY AGAIN
 08349  BJ END YUL ALF,2        END YUL SYSTEM

 0835   ND19B MSG  ALF,4        YUL SYSTEM NEEDS 19 BANKS: 1-3'
 083505 ND2SG MSG  ALF,4        YUL SYSTEM NEED TWO SIDE GROUPS
 08351  MONTHS     ALF,4          JAN     FEB    MAR     APR
 08352             ALF,4          MAY     JUN    JUL     AUG
 08353             ALF,4          SEP     OCT    NOV     DEC

# Page 66
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  26        PAGE  26

P08354  NUMERIC AND ADDRESS CONSTANTS, ASSIGNMENTS AND EQUIVALENCES FOR THE BEGIN-JOB SUBSEGMENT.



 08355  ZERO BJ    OCT          0
 08356  ONE BJ     OCT          -1
 08357  TWO BJ     OCT          -2
 08358  ONES BJ    DEC          GGGG GGGG GGGG

 08359  B34T47 BJ  OCT          -77776
 0836   B D1       DEC          B
 08361  1 C7 BJ    OCT          -100

 08362  HEXB C2    OCT          0012
 08363  HEXB C5 BJ OCT          -1200 0000
 08364  HEXB C8    OCT          -12

 08365  BIN DAY 10 OCT          012
 08366  BIN DAY 20 OCT          024
 08367  BIN DAY 30 OCT          036



 083675 BANK 1 BJ  SPEC                                     2048
 08368  L MONTHS   SPEC                                     MONTHS -1
 08369  LSET PG HD SPEC                                     SET PG HED



 083695 L COPBS BJ ASSIGN       0,39
 0837   NO CORE    ASSIGN       0,72
 08371  DO BKUP BJ ASSIGN       0,86
 08372  YUL DA LZS ASSIGN       0,119
 08373  B SERVICE  ASSIGN       0,138
 08374  ACA OTHE B ASSIGN       0,141



 08375  1 C1       EQUALS       LUMPED BJ
 08376  3 C2       EQUALS       LUMPED BJ
 08377  ALF DAY 30 EQUALS       LUMPED BJ
 08378  2 C5       EQUALS       LUMPED BJ
 08379  6 C7       EQUALS       LUMPED BJ
 0838   COMMA C8   EQUALS       LUMPED BJ

# Page 67
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  27        PAGE  27

P08384  ROUTINES IN B7,0706 - B7,0714 FOR SIDE GROUPS TO SLEEP IN.

 083845 PARA IDLE  TX           Z,SC          0             Z,R0                INITIALLY, ESTABLISH SLEEP ADDRESS.
 08385  GPB START  TS           -             -             MON SLEEP      C    (REPLACED WITH A SPEC TO WAKE UP).
 083855            LA           N,SC,3        N,R0          N,R0                GO BACK TO SLEEP IF FALSE ALARM.

 08386             TX           Z,SC          -             Z,R0
 083865 GPC START  TS           -             -             MON SLEEP      C
 08387             LA           N,SC          N,R0          N,R0                SAME AS ABOVE FOR GROUP C.

 083875            TX           N,R0          -             Z,CSC               EITHER GROUP COLLECTS WAKE ADDR. HERE.
 08388             TS           N,SC          N,R0          N,CSC               MAKE THE BED AND GO TO WORK.
 083885            TS           -             -             MON SLEEP      C



 083895            SETLOC,1

R0839   PROCEDURE WHENEVER PASS 0 IS LOADED (NOT NECESSARILY BETWEEN EACH TASK).  ENTERABLE AT INIT PAS 0.

 08394  SNATCH Q   SPCR                                     GROUP A
 08396             SWE, D12     GROUP A       28            GROUP A             KEEP MAIN GROUP NO. IN TRANSFER VECTOR.
 0840              SWS, CHAR3   GROUP A       A,3           ACA OTHE       S    ALSO KEEP IT READY FOR USE BY PASS 0.
 08404             S, MON TADDR POSIT REW +1                                    SKIP IF YULPROGS NOT ALREADY SNATCHED.
 08408  INIT PAS 0 TS           YUL MASKS     Z,MXR         SET PG HED          ENTRY TO LESSER RE-INITIALIZATION.

 08412             SWE, CAC3    BANK 1        32            Z,X0                SET UP INDEXES FOR BEGIN-JOB SUBSEGMENT.
 08416             TS           L SERVICE     Z,SC          SET PG HED     C

 0842   SET PG HED TS           L DIRECTY     Z,X1          NEX DIREC      C    SET X1 AND X6.
 0844              TS           REVISION +2   OK NOUN       SNATCH Q +2    C    RESET UPDATE-REVISION-NUMBER SWITCH.
 0846              NA           1,1           W FROZYUL     C,+2
 0847              TS           NO REVISE     REVISION      LOG 2 HEAD          FORBID REVISIONS ON A FROZEN TAPE.
 0849              LA           1,1           W 2ND FROZ    C,-1
 0850   LOG 2 HEAD TX           YUL LOG A     -             PAGE HEAD +1
 0851              TN           YUL DATE      2             PAGE HEAD +12       PUT LOG AND DATE IN PAGE HEADING.
 0853              TS           YUL LOG       WORKERS +2    MON UNLOK      C    MINOR IDENTIFICATION FOR ASSEMBLY WRKRS.
 0855              RF,1         -             -             -                   UNLOCK YULPROGS.
 0857              S, PHI LOAD  W SERVICE     0             C,+1                LOAD SERVICE MODULE.
 0859   YUL MASKR  TX           YUL MASKS     -             Z,MXR
 0860              TS           EOR           SERCH KEY     POSIT YUL           NEGATE SEARCH FLAG, POSITION YULPROGS.

# Page 68
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  28        PAGE  28

P0862              MAIN LOOP OF PASS 0.  READS EACH DIRECTOR CARD AND GOES TO THE APPROPRIATE ROUTINE.  IF THE DIRECTOR
R0864   CARD DOES NOT HAVE A RECOGNIZED CODE IN ITS FIRST FIELD, THE CARD IS TYPED ON THE CONSOLE AND THE NEXT DIRECTOR
R0866   CARD IS READ.  IF A MONITOR CARD IS READ, YULPROGS IS LABELED AND THE JOB ENDED.  EACH CONTIGUOUS BATCH OF NON-
R0868   YUL-DIRECTOR CARDS IS COUNTED AND THE COUNT TYPED ON THE CONSOLE.  (THIS HAPPENS WHEN AN ILL-FORMED ASSEMBLY
R0870   DIRECTOR CARD IS READ AND REJECTED, FOR INSTANCE).

 0871   NEX DIREC  TX           PHI WAA       -             Z,X6                ADDRESS OF SENTENCE READER IN/OUT AREA.
 0873              NA           N,X6          ONES          END CHECK           BRANCH IF THERE'S NO INVISIBLE DIRECTOR.
 0875              TX           N,X1          -             N,X6                ERASE INVISIBLE DIRECTOR FLAG.
 0877              TS           NO TYPIST     TYPIST        C,+3                TURN OFF TYPEWRITER FOR TASK DURATION.

 0879   RD DIRECT  S, PHI READ  6,1
 0880              NA, CHAR1    6,1           Y COLUMN 1    NO DIRECT           BRANCH IF NOT A YUL DIRECTOR CARD.

 0882              TX           ONES          -             6,11                SET COL. 81 STOP.
 0884              TS           GB SWITCH     INIT X5       PHI SENTR           BREAK UP YUL DIRECTOR CARD INTO FIELDS.
 0886              NN           NON WISE      ZERO          TYP NON YS          TYPE COUNT OF NON-YUL-DIRECTORS IF NZ.
 08872             SWS, CHAR8   1,1           A,7           6,1                 MAKE BLANKS IN COLS 2-7 LOOK GOOD.
 08873             SWS, ONES    6,1           A,1,L         6,1
 08874             NA, CHAR1    6,1           BLANKS        C,+3                NORMALIZE CONTENTS OF COLUMNS 2-8.
 08875             TS           -             -             C,-2
 08876             S, MON TYPER WR TAP MSG    SPRAMR +40    REJEC DIR           "WRONG TAPE NAME ABBR IN COLS 2-7".
 08877             NA, CHAR1    6,1           1,1           C,-1                INITIAL LETTER MUST MATCH THAT OF TAPE.
 0888   Y DREC TLU TS           L DIRECTS     Z,X5          COMP DIRC           SET UP TABLE LOOK-UP ON 1ST WORD.

 0890   TRY DIREC  NA           Z,X5,1        ENDIRECS      COMP DIRC           BRANCH IF NOT END OF TABLE.
 0892              TN           6,16          2             WUNRC MSG +3
 0893              S, YUL TYPER WUNRC MSG     AMTF +5       REJEC DIR           ANNOUNCE UNRECOGNITION OF FIRST WORD.

 0895   COMP DIRC  NA           N,X5,1        6,16          TRY DIREC
 0896              NA, C1T6     5,0           6,17          TRY DIREC           LOOK FOR 14-CHARACTER MATCH OF 1ST WORD.
 0898              SS           N,X5          THREAD 11     C,+1
 0899              TS           6 COMMA 19    Z,X5          0                   GO TO APPROPRIATE ROUTINE.

 0901   NO DIRECT  NA, CHAR1    6,1           STAR COL 1    NOT MON             BRANCH IF NEITHER YUL DIRECTOR OR MON.
 0903              TS           Z,SC,2        6,110         MON WAKE       C    HAUL GROUP C OUT OF BED .....
 0905              SPCR                                     C,+0                ... LET IT ANNOUNCE ITS IDENTITY ...
 0907              TS           ZERO          C,+1          MON REL GP          ... AND FIRE IT.

 0909              WD           Z,SC          ONE           Z,SC                WAIT FOR GROUP C TO SAY WHO IT IS.
 0911              SWS, ACO2    C,-3          8,L           GC FRE MSG
 0912              NA, CHAR8    1,0           ONE           C,+2                BRANCH IF NOT COPYING.
 0914              S, MON TYPER GC FRE MSG    SPRA +8       -                   TYPE "GC FREE" IF IT WILL DO ANY GOOD.
 0916              LA, CAC3     1,0           B36T37        END CHECK -2        BRANCH IF THERE WAS NO TAPE PUNCHING.
 09178             S, MON TYPER 22 OUT MSG    SPRA +24      -                   "2200 READY TO DO MONAOUT".
 0918              S, MON TYPER ZERO          ATAPE PCH +40 ZERO                LET 2200 BEGIN PUNCHING TAPE.

 0920              NA, CHAR8    1,0           ZERO          LABEL YUL           RELABEL YULPROGS ONLY WHEN NECESSARY.
 0922              NA, CHAR8    1,0           ZERO          DO BACKUP           DO BACKUP PROCEDURE IF APPROPRIATE.
 0924   END CHECK  NA, CHAR1    6,1           STAR  COL 1   RD DIRECT           GO READ DIRECTOR UNLESS ENDJOB WAS READ.
 0926              LA           ONES          6,2           RD DIRECT           BUT BRANCH AFTER CREATING A BACKUP.
 0928              TS           Z,SC,1        6,107         MON WAKE       C
 0929              TS           ZERO          C,+1          MON REL GP          DISMISS GROUP B.
 0931              WD           Z,SC          ONE           Z,SC                WAIT UNTIL IT'S OUT OF SIGHT.
 0933              S, MON TYPER W END YUL     SPRA +16      MONITOR             TYPE "END YUL SYSTEM" AND END JOB.

# Page 69
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  29        PAGE  29

P0935              SUBROUTINE IN PASS 0 TO TYPE THE SIGNIFICANT WORDS IN AN N-WORD ALPHABETIC MESSAGE.  ENTRY IS A SIM-
R0937   ULATE CALL (TO THE TRANSFER VECTOR) WITH ADDRESSES AS PER PR* EXCEPT FOR WORD COUNT IN RIGHT 6 BITS OF B ADDRESS
R0939   -- MAIN PASS 0 MASKS ARE ASSUMED.  THE SIGNIFICANCE PROCESSING IS: OMIT BLANK WORDS AT BEGINNING AND END OF MES-
R0941   SAGE.  REDUCE EACH IMBEDDED STRING OF BLANK WORDS TO ONE BLANK WORD.  ACTIVE C ADDRESS IS COMPULSORY.

 0943   TYPIST     PR                                                           (SILENCED BY  NA N,AU1 BLANKS N,AU2).
 0945              TS           Z,MXR         TYPER MXR     YUL MASKR      C
 0946              SWE, CHAR8   YUL TYPER     12            Z,CSH
 0947              WA           Z,CSH         Z,AU1         Z,CSH               FORM LWA+1 OF MESSAGE.
 0949              TS           L MSG AREA    Z,CSC         SEND TYP W

 0950   END TYP Q  LA           Z,CSH         Z,AU1         SEND TYP W +1       BRANCH WHEN WHOLE MESSAGE SCANNED.
 0952              NA           N,CSC,1       BLANKS        SEND TYP W          ALWAYS SEND NEXT IF LAST NOT BLANK.
 0954              NA           N,AU1         BLANKS        SEND TYP W          SEND NON-BLANK WHEN LAST WORD WAS BLANK.
 0956              WD           Z,CSC         ONE           Z,CSC               IGNORE BLANK WORD THAT FOLLOWS A BLANK.
 0958   SEND TYP W TS           N,AU1,1       N,CSC         END TYP Q           SEND A WORD TO BE TYPED OUT.

 0960              SM           Z,CSC,1       Z,SC,5        -                   CONFIRM LAST WORD SENT TO MSG AREA.

 0962              NA           N,CSC         BLANKS        C,-1                CONFIRM LAST WORD UNLESS IT IS BLANK.
 0964              NA           Z,CSC         L MSG AREA    TYP COUNT           BRANCH UNLESS BLANK MSG (END OF TASK).
 0966              LA           TYPIST        CAC3          SEND TYP W +1       BRANCH UNLESS TYPEWRITER IN SILENT MODE.
 0968              TS           ZERO          TYPIST        SET PG HED     C    RESTORE TYPEWRITER AFTER SECRET TASK.
 0970              TS           N,X6          N,X1          N,AU2               ALSO RESTORE FORMER BACKUP STATUS.

 0972   TYP COUNT  WD           Z,CSC         L MSG AREA    Z,CSC               TENTATIVELY, NO. OF WORDS TO BE TYPED.
 0974              TX           L MSG AREA    -             Z,AU1               SET AU1 FOR MONITOR TYPEWRITER.
 0976              LA           Z,CSC         ONE           7 OR LESS           OMIT FOLLOWING CHECK FOR 1-WORD MESSAGE.
 0978              NA           N,AU1         BLANKS        C,+2
 0979              SM           Z,AU1,1       Z,CSC,1       -                   REMOVE LEADING BLANK WORDS FROM MSG.
 0981              LA           Z,CSC         SEVEN         7 OR LESS           BRANCH IF ONE MONITOR CALL WILL DO.

 0983              WD           Z,CSC         SEVEN         TYPIST
 0984              SWS, CHAR6   TYPIST        15,L          SPRAM WD            SPECIFY 1 OR 2 WORDS FOR FIRST CALL.
 0986              WA           TYPIST        Z,AU1         TYPIST              SAVE STARTING ADDRESS FOR SECOND CALL.
 0988              TS           Z,SC,1        -             MON TYPER +1   C    FAKE A SPRAM CALL TO THE MONITOR TYPER.
 0990   SPRAM WD   PR                         SPRAM         -
 0991              SWS, CHAR6   SEVEN         15,L          YUL TYPER           ALWAYS TYPE 7 WORDS ON THE SECOND CALL.
 0993              TS           TYPIST        Z,AU1         7 OR LESS +1        SET UP ADDRESS OF REMAINDER OF MESSAGE.

 0995   7 OR LESS  SWS, CHAR6   Z,CSC         15,L          YUL TYPER
 0996              TX           TYP RTURN     -             Z,AU2
 0997              TX           TYPER MXR     -             Z,MXR
 0998              TS           YUL TYPER     N,SC,1        MON TYPER +1   C    MAIN SYNTHETIC CALL TO MON. TYPER.
 1000   TYPER MXR  RESERVE      1

R1001   INSTRUCTION USED TO DISABLE YUL SYSTEM TYPEWRITER FOR SECRET TASKS.

 1002   NO TYPIST  NA           N,AU1         BLANKS        N,AU2

R1003   PROCEDURE FOR A CARD WHICH SHOULD HAVE "Y" IN COLUMN 1 BUT DOES NOT.

 1004   NOT MON    DS           NON WISE      ONE           NON WISE
 1005              TS           -             -             NEX DIREC           STEP COUNT AND READ AGAIN.

# Page 70
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  30        PAGE  30

P1007              TABLE OF RECOGNIZED FIRST WORDS IN YUL DIRECTOR CARDS.



 1008   DIRECTS    ALF          ADD
 1009              M,A,         A,            A,            ADD COMP            ADD A NEW COMPUTER NAME.
 1011              ALF          REMOVE
 1012              M,A,         A,            A,            RMOV COMP           REMOVE AN EXISTING COMPUTER NAME.
 1014              ALF          MESSAGE
 1015              M,A,         A,            A,            MESSAGE             TYPE OUT ARBITRARY MESSAGE.
 1017              ALF          DELETE
 1018              M,A,         A,            A,            ELIM PRSU           INITIATE DELETION OF PROG OR SUB.
 1020              ALF          ASSEMBLE
 1021              M,A,         A,            A,            ASSEMBLY            PROGRAM OR SUBROUTINE ASSEMBLY OR REVN.

 1023   W REPRINT  ALF          REPRINT
 1024              M,A,         A,            A,            REPRINT             REPRINT ASSEMBLY LISTING.
 1032   W MNUFACT  ALF          MANUFACT
 1033              M,A,UR       A,E           A,            MANUFACT            MANUFACTURE ASSEMBLED PROGRAM.
 1035              ALF          CLOSE
 1036              M,A,         A,            A,            CLOS MONA           LET 2200 MANUFACTURE PAPER/DIGISTORE TP.

 1038   W CONTROL  ALF          CONTROL
 1039              M,A,         A,            A,            CONTROL             BAR REVISION OR DELETION OF SUBROUTINE.
 1041   W DECONTR  ALF          DECONTRO
 1042              M,A,L        A,            A,            DECONTR             ALLOW REVISION OR DELETION OF SUBROUTINE.
 1044   W TRANSFR  ALF          TRANSFER
 1045              M,A,         A,            A,            XFER PSR            MAKE CARD IMAGE DISC FILE OF PRG OR SUB.
 1047   W PRINT    ALF          PRINT
 1048              M,A,         A,            A,            PRINT PSR           PRINT SYMBOLIC LISTING OF PROG OR SUBRO.
 1050              ALF          PUNCH
 1051              M,A,         A,            A,            PUNCH PSR           PUNCH SYMBOLIC PROG. OR SUBRO. DECK.

 1053   W ASSMBLY  ALF          ASSEMBLY
 1054              M,A,         A,            A,            PASS STAT           ASSEMBLY PASS STATUS OPERATIONS.
 1056              ALF          MANUFACT
 1057              M,A,UR       A,IN          A,G           MANU STAT           MANUFACTURING STATUS STATUS OPERATIONS.
 1062              ALF          CREATE
 1063              M,A,         A,            A,            CREATE BU           CREATE BACKUP TAPE IN MIDJOB.
 1065              ALF          LIST
 1066   LAS DIREC  M,A,         A,            A,            UNREADY             LIST PORTIONS OF YUL FILE DIRECTORY.

 1068   UNREADY    S, YUL TYPER UNRDY MSG     AMTF +4       REJEC DIR           TYPE "UNREADY OPERATION REQUESTED".

# Page 71
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  31        PAGE  31

P1070              ROUTINE TO RESPOND TO REQUESTS FOR ASSEMBLY OR REVISION OF A PROGRAM OR SUBROUTINE.

 1072   ASSEMBLY   LA, CAC3     1,8           YFILE LIM     C,+2
 1073              S, YUL TYPER DIFUL MSG     AMTF +5       REJEC DIR           CUSS AND ABORT IF FULL DIRECTORY.

 1075              TS           W ASSMBLY     TASK MSG      TASK OBJC           BREAK DOWN AND REFORM REST OF DIRECTOR.
 1077              S, YUL TYPER TASK MSG      AMTF +4       C,+1
 1078   TYP ASOBJ  S, YUL TYPER OBJCT MSG     A +7          C,+1                TYPE TASK AND OBJECT OF TASK.

 1080              WA           Z,X6          OCTAL 20      Z,X5                INCLUDE COMPUTER NAME IN PAGE HEADING.
 1082              TN           N,X5,2        2             COMMON
 1083              TS           L PGHED P3    Z,S2          PUT CHAR +7    C    MOVE FIRST CHARACTER.
 1085              WA           N,X5          1 C6          N,X5                INCLUDE A BLANK AFTER COMPUTER NAME.
 1087              TS           Z,SC          Z,S3          WRIT OBJC           MOVE FULL OBJECT MSG TO PAGE HEADING.

 1089              TS           PROG NAME     SORS NAME     619 TO X5      C    OMIT COMPUTER NAME FROM "END OF" LINE.
 1091              WA           L OLD LINE    SIX           Z,S2                GIVE IT TO PASS 1 VIA OLD LINE.
 1093              NA           N,X5          W REVISON     NEW END OF          BRANCH IF NEW PROGRAM OR SUBROUTINE.

 1095              SWS, CHAR1   N,X5,3        A,1           N,52                MOVE "N" OF "REVISION".
 1097              TS           N,X5,2        COMMON        PUT CHAR +2    C    MOVE 1ST DIGIT OF REVISION NO.
 1099              TS           -             -             C,+2

 1100   NEW END OF TS           N,X5,2        COMMON        PUT CHAR +3    C    MOVE "N" OF "NEW".
 1102              TS           Z,SC          Z,S3          WRIT OBJC           MOVE OBJECT MSG TO "END OF" LINE.
 1104              TN           PAGE HEAD +12 2             OLD LINE +12        INCLUDE DATE.
 1106              TS           L DIRECTY     Z,X1          FIND COMP      C    SEEK COMPUTER NAME IN DIRECTORY.
 1108              S, YUL TYPER UNRCO MSG     AMTF +4       TYP ABORT           CUSS AND EXIT IF NOT THERE.

 1110   KNWN COMP  TX           Z,X0          -             L COMP NAM          ADDRESS OF COMPUTER NAME FOR PARP CALLS.
 1112              LA, P1T3AV   ONES          0,1           CAN ASSE            BRANCH IF PASSES 1-3 AVAILABLE FOR IT.
 1114              S, YUL TYPER NASSY MSG     AMTF +4       TYP ABORT

 1115   CAN ASSE   NA           TASK MSG      W ASSMBLY     REPRINT 2           BRANCH IF DOING REPRINT, NOT ASSEMBLY.
 1117              NA, BIT 12   SWITCH        ZERO          NEWVERS2            BRANCH IF DOING VERSION ASSEMBLY.
 1119              NA, BIT10    SWITCH        ONES          NEW PRSUB           BRANCH IF NEW PROGRAM OR SUBROUTINE.
 1121   REVISION   TS           C,+1          OK NOUN       OK REVN Q           MODIFY "KNOWN PROGRAM/SUBROUTINE" SEARCH
 1123              TS           C,+1          OK NOUN       C,+1                BECAUSE HERE ALONE THE REVISION NUMBER
 1125              SSL, ONE     3,1           23            OK NOUN -3     C    IS BEING CHANGED.
 1127              DA           COMMON        ONE           COMMON              INCREMENT OLD REVN, ASK FOR MATCH.
 1129              NA, B36T37   3,1           ONES          OK NOUN +1          BACK TO KNOWN PSR IF NOT CONTROLLED SUB.
 1131              SS           W REVISON     CAC12         CONSU MSG +4
 1132              S, MON TYPER CONSU MSG     SPRAMR +40    TYP ABORT           CUSS ATTEMPT TO REVISE CONTROLLED SUBRO.

 1134   NO REVISE  S, MON TYPER NR FRZ MSG    SPRAMR +40    TYP ABORT           REPLACES REVISION, ABOVE, IF FROZE TAPE.

 1136   OK REVN Q  TS, BIT2     ONES          SWITCH        KNOWN PSR           REQUEST MERGING, CHECK PROGRAM NAME ETC.
 1138              TS           Z,X4          L PROG FIL    REVNO SSL           SAVE ADDRESS OF PROG/SUB ENTRY IN FILE.

 1140              SWS, B13T24  REVNO         24,L          4,1                 NEW REVNO FOR PROG/SUB WITH NO SUBROS.
 1142              SWS,THREAD11 4,1           24            Z,X5           C
 1143              SWS,B1THRU12 REVNO         36,L          N,X5                NEW REVNO FOR PROG/SUB WITH SUBROS.

 1145   REVNO SSL  SSL, ONE     4,1           23            C,-3           C

# Page 72
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  32        PAGE  32

P1146   PLACE PROGRAM OR SUBROUTINE NAME AT HEAD OF AUTHOR'S LIST.

 1147              NA, BIT9     SWITCH        ZERO          C,+2
 1148              TS           W END SYPT    NEXT NAME     AU LATEST           PROGRAM GOES ON TAPE BEFORE END SYPT.
 1150              SS           4,1           THREAD 10     Z,X2                POINT TO SUCCESSOR OF SUBRO ON TAPE.
 1152              NA           Z,X2          L END THR     C,+2
 1153              TS           W END SYLT    NEXT NAME     AU LATEST           LAST SUBRO GOES ON TAPE BEFORE END SYLT.
 1155              TX           N,X2          -             NEXT NAME           IN GENERAL, SUBRO STAYS PUT IN REVISION.

 1157   AU LATEST  LA           PLUS ZERO     3,1           X5 IS NR4           BYPASS IF THIS IS 1ST IN AUTHOR'S LIST.
 1159              SS           4,1           B THRED 10    3,1                 SEW UP AUTHOR'S LIST AROUND THIS PR/SUB.
 1161              SWS,THREAD10 3,1           12            Z,X3                FOLLOW THE THREAD...
 1163              LA           3,1           PLUS ZERO     C,-1                ...UNTIL AUTHOR NAME ENTRY IS FOUND.

 1165              SWS,BTHRED10 3,1           12            4,1                 POINT TO PR/SUB LAST HANDLED BY AUTHOR.
 1167              SWS,ATHRED10 Z,X4          24,L          3,1                 LET AUTHOR NAME POINT TO THIS PROG/SUB.

 1169   X5 IS NR4  NA, BIT 9    SWITCH        ZERO          C,+2                BRANCH IF DOING SUBROUTINE REVISION.
 1171              WA           INIT X5       TWO           INIT X5             CHANGE GB,R2 TO GB,R4.
 1173              LA, CAC3     1,9           L END THR     INIT ASSY           BRANCH IF THERE ARE NO DELETES WAITING.
 1175              NA, BIT 9    SWITCH        ZERO          GBR2 GBR3           BRANCH IF DOING SUBROUTINE REVISION.
 1177              WD           INIT X5       ONE           INIT X5             OTHERWISE CHANGE GB,R4 TO GB,R3.
 1179              TS           L SYM THR     Z,S1          INIT ASSY +1

 1180   NEW PRSUB  TS           Z,X0          Z,X2          FIND PROG +1   C    SEEK PROGRAM/SUBRO NAME IN DIRECTORY.
 1182              S, YUL TYPER CONPN MSG     AMTF +5       TYP ABORT           CUSS CONFLICT AND EXIT IF FOUND.

 1184              SSL, TWO     SWITCH        34            C,+2                "BRANCH" IF DOING TRANSFERRED ASSEMBLY.
 1186              SWE, ONES    SUBSTRAB +2   24            SUBSTRAB +2         POSITION LOG NUMBER FOR PASS 1.
 1188   NEW DNTRY  TS           -             -             FIND PAIR      C    FIND 2 DIRECTORY LOCATIONS FOR P/S NAME.
 1190              TS           PROG NAME     N,X3          DIRENTRY

 1191              TS           Z,SC          Z,X1          RD SUBDRC
 1192              S, MON TYPER TSFRD MSG     SPRAMR +56    TYP ABORT           CUSS LACK OF "FROM FILENAME" SUBDIRECTR.
 1194              NA           6,16          W FROM        C,-1
 1195              TX           L DIRECTY     -             Z,X1
 1196              LA, CHAR1    ONES          6,18          C,-3                BRANCH IF INPUT FILE NAME IS MISSING.
 1198              LA, CHAR6    6,21          ZERO          C,+2                BRANCH IF INPUT FILE NAME IS BLANK.
 1200              LA, CHAR6    6,21          BIT 32        C,+2                BRANCH IF LENGTH OF NAME IS 16 OR LESS.
 1202              S, MON TYPER XIN WRSIZ     SPRAMR +32    REJEC DIR           REJECT ILL-SIZED INPUT FILE NAME.
 1204              LA, CHAR1    ONES          6,22          C,+2
 1205              S, MON TYPER XIN TERMS     SPRAMR +40    REJEC DIR           CUSS TERMINATOR CHARACTERS IN FILE NAME.
 1207              TN           6,19          2             SUBSTRAB            SAVE FILE NAME IN INTERPASS STORAGE.
 1209              S, MON TYPER W SOURCE C    SPRAM +8      -
 1210              S, MON TYPER SUBSTRAB      SPRA +16      -                   "SOURCE: INPUTFILENAME   ".
 1212              LA, CHAR5    ONES          DISC STAT     C,+3
 1213              S, MON TYPER TSFRD MSG     SPRAM +24     -
 1214              S, MON TYPER XNODF MSG     SPRAMR +8     TYP ABORT           "TRANSFERRED ASSEMBLY NEEDS DISC ".
 1216              EX           DISC STAT     B14T18        SUBSTRAB +3         SEND NUMBER OF DISCS IN FILE TO PASS 1.

# Page 73
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  33        PAGE  33

P1218   TRANSFERRED ASSEMBLY: FIND HIGHEST LOG NUMBER FOR FILE, IGNORING DISABLED FILES AND DELETING UNCONFIRMED ONES.

 1220              TS           SUBSTRAB      TRONDEX       XIN ANYLG

 1221   XIN LUKUP  TS           SUBSTRAB +1   TRONDEX +1    DISCAP         C
 1222              OCT          -15
 1223              SPEC                                     TRONDEX
 1224              TS           BIT 10        SORS LINE     FOUND FIL
 1225              NA           SUBSTRAB +2   ZERO          C,+2                BRANCH IF A SATISFACTORY FILE WAS FOUND.
 1227              S, MON TYPER NOFIL MSG     SPRAMR +24    TYP ABORT           "FILE NOT FOUND ON DISC   ".

 1229              SSL, ONE     SWITCH        39            VERS PSQ       C
 1230              TN           TSFR LINE     3             N,AU2
 1231              TN           TRONDEX       2             N,AU2
 1232              SWE, ONES    SUBSTRAB +2   D,2           PHI ARG
 1233              TS           Z,SC          Z,AU1         YUL D2A ZS
 1234              SM           LOG COMMA     N,SH          SORS LINE +9
 1235              TN           BLANKS        5             SORS LINE +10
 1236              TS           BLANKS        SORS LINE +15 NEW DNTRY -1        COBBLE UP LINE SHOWING SOURCE FILE NAME.

 1238   FOUND FIL  NA, C7T8     TRONDEX +3    SNTRACOD      XIN LUKUP           LOOK AGAIN IF FILE TYPE IS WRONG.
 1240              SSL, ONE     TRONDEX +4    0             C,+1                TEST PSEUDO-CONFIRMATION BIT.
 1242              TS           Z,SC,2        -             DISCAP         C    GO TO RELEASE UNCONFIRMED TRACK.
 1244              LA           TRONDEX +2    SUBSTRAB +2   XIN LUKUP           BRANCH IF NOT GREATEST FOUND LOG NUMBER.
 1246              TS           TRONDEX +2    SUBSTRAB +2   XIN LUKUP           PLANT HIGHEST LOG NUMBER YET FOUND.
 1248              OCT          -1017
 1249              SPEC                                     TRONDEX
 1250   XIN ANYLG  TS           ONES          TRONDEX +2    XIN LUKUP           RESTART SEARCH AFTER TRACK RELEASE.
 1252              TS           -             -             DISASTER            BAD RETURN SHOULD BE IMPOSSIBLE HERE.

# Page 74
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  34        PAGE  34

P1254   ENTER THE NAME OF A NEW PROGRAM OR SUBROUTINE IN THE DIRECTORY.

 1255   DIRENTRY   TX           Z,X3,1        -             L PROG FIL          SAVE ADDRESS IN FILE.
 1257              TX           PACK DATE     -             N,X3                DATE OF LAST HANDLING GOES WITH NAME.
 1259              SWS, BIT 36  SWITCH        27            N,X3                SHOW WHETHER PROGRAM OR SUBROUTINE.
 1261              NA, BIT9     SWITCH        ZERO          C,+2
 1262              TS           W END SYPT    NEXT NAME     POSN PRGN           PROGRAM GOES ON TAPE BEFORE END SYPT.

 1264              TX           L END THR     -             Z,X5
 1265              SWS,THREAD10 N,X0          12            Z,X5                POINT TO FIRST PROG OF COMPUTER.
 1267              TS           Z,X0          Z,X2          FIND SUBN

 1268              NA, BIT36    5,1           ZERO          FIND SUBN +2        BRANCH IF FOUND A SUBROUTINE.
 1270              TX           Z,X5          -             Z,X2
 1271              SS           2,1           THREAD 10     Z,X5                ADVANCE POINTER PAIR THRU LIST.
 1273   FIND SUBN  NA           Z,X5          L END THR     C,-3                BRANCH IF MORE PROGS OR SUBS TO SEE.

 1275              TS           W END SYLT    NEXT NAME     POSN SUBN +2        IF NO SUBS (OR NONE AFTER SOURCE), LAST.
 1277              NA, BIT12    SWITCH        ONES          C,+2                BRANCH IF NOT DOING VERSION ASSEMBLY.
 1279              NA           N,X2          SORS NAME     FIND SUBN -2        VERSION SUBRO GOES ON TAPE AFTER SOURCE.
 1281              TS           N,X5          NEXT NAME     POSN SUBN +2        NEW/TRANSFERRED SUBRO GOES 1ST IN SYLT.

 1283   POSN SUBN  SS           Z,X5          THREAD 10     N,X3                NEW SUBRO POINTS TO SUCCESSOR.
 1285              TS, THREAD10 L PROG FIL    2,1           POSN PRGN +2        PREDECESSOR POINTS TO NEW SUBRO.
 1287              NA           Z,X2          Z,X0          POSN SUBN           BRANCH UNLESS NOTHING PRECEDES NEW SUB.

 1289   POSN PRGN  SWS,THREAD10 N,X0          12            N,X3                NEW P/S NAME TO HEAD OF MACHINE'S LIST.
 1291              SWS,BTHRED10 L PROG FIL    12,L          N,X0

 1292              TS           ONES          1,6           FIND AUTH      C    SEEK AUTHOR NAME IN DIRECTORY.
 1294              TS           -             -             ADD AUTHR           INCLUDE IT NOW IF NOT FOUND.

 1296              LA           B1THRU12      3,1           C,+2                BR. IF AUTH HAS 255 OR MORE PROG/SUBS.
 1298              WA           3,1           BIT 12        3,1                 OTHERWISE INCREASE HIS TOTAL.
 1300              TS           L PROG FIL    Z,X2          SET LAUTH      C
 1301              SWS,BTHRED10 3,1           12            2,1                 NEW P/S NAME TO HEAD OF AUTHOR'S LIST.
 1303              SWS,ATHRED10 L PROG FIL    24,L          3,1
 13031 *           NA, BIT12    SWITCH        ZERO          GBR2 GBR3 -1        BRANCH IF DOING A VERSION ASSEMBLY.
 13032             EX           SWITCH        BIT 7         COMMON
 13033             LA           COMMON        ZERO          GBR2 GBR3 -1        BRANCH IF NOT IN A SEGMENT ASSEMBLY.
 13034             NA, CAC3     1,9           L END THR     C,+2
 13035             WA           INIT X5       ONE           INIT X5             IF NO DELETES WAITING, MAKE IT GB,R4.
 13036             WA           INIT X5       ONE           INIT X5             IF DELETES ARE WAITING, MAKE IT GB,R3.
 13037             TS           -             -             INIT ASSY
 1304              LA, CAC3     1,9           L END THR     INIT ASSY           BRANCH IF THERE ARE NO DELETES WAITING.
 1306   GBR2 GBR3  WA           INIT X5       SPEC ONE      INIT X5             CHANGE GB,R2 TO -GB,R3.

# Page 75
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  35        PAGE  35

P1308   PROCEDURE TO INITIALIZE A PERMISSIBLE ASSEMBLY OR REPRINT.

 1309   INIT ASSY  TX           L SYM THR     -             Z,S1
 1310              MT           I SYM THRS    13            N,S1,1              INITIALIZE SYMBOL TABLE CAC-THREADS.
 1312              TX           ISY SUB TH    -             N,S1,1              SPECIAL INITIAL VALUE FOR SUBRO DIR ORG.
 1314              MT           I SYM THRS    50            N,S1,1

 1315              TX           L AV TABLE    -             Z,S1
 1316              SM           CAC12         ISY SUBTH     N,S1,1              INITIALIZE FIRST SPEC PAIR IN SYM TABLE.
 1318              TS           L GPB STT     Z,X4          C,-1           C
 1319              WA           OCTAL 20      OCTAL 20      Z,R6
 1320              MT           CAC12         62            N,S1,1              INITIALIZE AVAILABILITY TABLE.
 1322              NA           Z,R6,1        ZERO          C,-1

 1323              TX           L B LISTS     -             Z,S1
 1324              MT           ZERO          4             N,S1,1              INITIALIZE JOINT BUFFER LIST.
 1326              TN           BUF NAMES     8             N,S1,8              INITIALIZE FREE BUFFER LIST.
 1328              MT           ZERO          8             N,S1,1              INITIALIZE INPUT AND SAPO BUFFER LISTS.
 1330              TS           Z,SC,5        N,X4          MON WAKE       C    WAKE GROUP B TO ASK IT ITS NAME.

 1332              SPCR                                     COMMON
 1333              TX           YUL MASKS     -             Z,MXR
 1334              SWE, ONES    COMMON        17            COMMON
 1335              SS           COMMON        GROUP IND     INIT X5             PLANT TRUE NAME OF GROUP B.
 1337              TX           Z,R0          -             Z,SC                GO BACK TO BED UNTIL PASS 1.

 1339              SSL, ONE     SWITCH        35            C,+1                FOR TRANSFERRED ASSEMBLY, PRINT SOURCE.
 1341              LA, B11T12   SWITCH        ZERO          C,+2                FOR REPRINT, PRINT NAME OF CUSTOMER.
 1343              S, PHI PRINT SORS LINE                                       FOR VERSION ASSEMBLY, PRINT SOURCE NAME.

 1345   SNACH WRK  SWS, CHAR8   TAPE NO       A,7           WORKERS
 1346              SWS, CHAR7   TAPE NO       A,6           WORKERS +1          PUT TAPE NUMBER IN SNATCHING PARAMETERS.
 1348              S, MON TADDR TAPE NO                                         SKIP IF WORKER MUST BE SNATCHED.
 1350              TS           L STOPPER     Z,X4          POSITION +2

 1351              TS           L STOPPER     Z,X4          PHI SNACH
# The following line makes a string containing "blots", non-ASCII characters.
# I have chosen to represent them as the ASCII "block" character, Unicode 9608.
 1352   WORKERS    ALF,3        W10Y010█YULWRK█ ████████

 1353   POSITION   TS, CHAR1    TAPE NO       C,+1          PHI TAPE
 1354              RW,EH        -             -             -                   REPOSITION WORKERS IN ANY CASE.
 1356              TS, CHAR1    TAPE NO       C,+1          PHI TAPE
 1357              RF,EH        4,0           -             DISASTER
 1358              TS,CHAR1     TAPE NO       C,+1          PHI TAPE
 1359              RF,EH        -             -             DISASTER
 1360              WA           TAPE NO       BIT 6         TAPE NO
 1361              NA, CHAR8    WORKERS       FOUR          SNACH WRK           WORKERS ARE CALLED 2, 3, AND 4.

 1363              TS           Z,SC          Z,X1          RD SUBDRC           GO TO GET SUBDIRECTOR IF ANY.
 1365   LOAD PAS 1 S, PHI LOAD  PASS 1        1             BASE ADDR           LOAD AND GO TO PASS 1 WHEN THEY RUN OUT.

# Page 76
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  36        PAGE  36

P1367   SUBROUTINE IN PASS 0 TO PROCESS ASSEMBLY AND/OR PRINTING SUBDIRECTORS.

 1368   ASSY SUBD  WD           Z,X1          ONE           Z,X4                X4 IS USED TO RETURN TO RD SUBDRC CALL.
 1370              WA           Z,X6          OCTAL 20      WHODUNIT
 1371   LINS COPS  NA           6,16          W PRINT       REN SUP &C
 1372              WA           WHODUNIT      THREE         WHODUNIT            SET UP TO EXAMINE NO. OF LINES OR COPYS.
 1374              SWE, CHAR8   6,21          12            Z,AU1
 1375              LA           Z,AU1         ZERO          NUM WR SIZ
 1376              LA           THREE         Z,AU1         NUM WR SIZ          1 OR 2 DECIMAL DIGITS FOR EITHER NO.
 1378              SWE, CHAR8   6,19          A,7           COMMON              GET TENS OR ONES DIGIT.
 1380              LA           TEN           COMMON        NUM NDEC
 1381              LA           Z,AU1         ONE           TEST NVAL           BRANCH IF NUMBER WAS 1 DIGIT ONLY.

 1383              BT           COMMON        10            COMMON
 1384              SWE, CHAR8   6,19          A,6           Z,AU1               UNITS DIGIT OF 2-DIGIT NUMBER.
 1386              LA           TEN           Z,AU1         NUM NDEC
 1387              WA           COMMON        Z,AU1         COMMON

 1388   TEST NVAL  LA           COMMON        ONE           NUM RNG ER
 1389              LA           COMMON        CHAR 8        LIN OR COP          LIMITS HERE ARE 2 AND 63.

 1391   NUM RNG ER S, MON TYPER NW RGE MSG    SPRAMR +24    IGN SBDIR
 1392   NUM NDEC   S, MON TYPER NW NDC MSG    SPRAMR +24    IGN SBDIR
 1393   NUM WR SIZ S, MON TYPER NF WSZ MSG    SPRAMR +24    IGN SBDIR           CUSS, OUST SUBDIRS WITH BAD NUMBERS.

 1395   LIN OR COP WA           WHODUNIT      THREE         WHODUNIT
 1396              NA           6,22          W LINES       CK COPIES

 1397              LA           COMMON        NINE          NUM RNG ER          MINIMUM LINES/PAGE = 10.
 1399              NA           N LINES       54 LINES      DUPLISUB
 1400              SWS, CHAR2   COMMON        A,2           N LINES             SET TEMPORARY LENGTH OF PAGE.
 1402              SWS, C7T8    6,19          A,6           SET LN MSG
 1403              S, MON TYPER SET LN MSG    SPRA +24      4,0                 ANNOUNCE AND GO TO GET NEXT SUBDIRECTOR.

 1405   CK COPIES  NA           6,22          W COPIES      UNRC SBDR
 1406              NA           N COPIES      ZERO          DUPLISUB
 1407              TX           COMMON        -             N COPIES            TO BE MODIFIED WHEN PLY IS KNOWN.
 1409              SS           6,19          B1THRU12      N COPS MSG
 1410              S, MON TYPER N COPS MSG    SPRAMR +24    -
 1411              S, MON TYPER WH PLY MSG    SPRAMR +16    -
 1412              S, MON TYPER WAA 10060     SPRA +24      4,0



R1413   ASSEMBLY/REPRINT SUBDIRECTOR CHECKING AND CUSSING.

 1414   DUP SUB CH LA           L SERVICE     Z,X4          IL REQEST           BRANCH IF NOT AN ASSEMBLY-TYPE TASK.
 1416   DUPLISUB   S, MON TYPER DUPSR MSG     SPRAMR +24    IGN SBDIR           CUSS AND IGNORE DUPLICATE SUBDIRECTORS.
 1418   IL REQEST  S, MON TYPER IL RQT MSG    SPRAMR +24    IGN SBDIR           CUSS RENUMBER IN REPRINT AND LIKE THAT.

# Page 77
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  37        PAGE  37

P1420   PROCESSING FOR ASSEMBLY/PRINT SUBDIRECTORS OTHER THAN LINES OR COPIES REQUESTS.

 1422   REN SUP &C NA           6,17          BLANKS        UNRC SBDR
 1423              NA           6,16          W RENUMBR     SUPP OR &C          "RENUMBER" OR "SUPPRESS" OR ETC.
 1425   RENUMBER   LA, B2B11    ONES          SWITCH        IL REQEST           REFUSE TO RENUMBER DURING REPRINT.
 1427              SSL, ONE     SWITCH        47            DUP SUB CH     C    CHECK DUPLICATION AND CALL FROM PRINT.
 1429              SM           SWITCH        BIT 1         SWITCH              SET SWITCH TO MAKE PASS 1 RENUMBER.
 1431              S, MON TYPER CDREN MSG     SPRA +16      4,0                 TYPE "RENUMBER CARDS", GET NEXT SUBDIR.

 1433   SUPP OR &C NA           6,16          W SUPPRES     FRZ B4 UPG          &C = "FREEZE", "BEFORE", OR "UPGRADE".
 1435              WA           WHODUNIT      THREE         WHODUNIT
 1436              NA           6,19          W CONDIT      UNCONDIT            BRANCH IF NOT "CONDITIONALLY" (ON BAD).
 1438              NA           6,20          W CONDIT +1   UNRC SBDR
 1439              TN           6,22          3             6,19
 1440              TS           B18T20        TEMP MASK     UNCONDIT +1         BOBTAIL MASK FOR CONDITIONAL SUPPRESSION
 1442   UNCONDIT   TX           SUPP BITS     -             TEMP MASK
 1443              NA           6,19          W SYMBOL      SP OCT MAP          "SUPPRESS SYMBOL" SUFFICES HERE.
 1445   SP SYM TAB SSL, ONE     SWITCH        29            DUP SUB CH     C    CHECK DUPLICATION AND CALL FROM PRINT.
 1447              SM, TEMPMASK SWITCH        B15 B19       SWITCH
 1448              TS           ZERO          WHODUNIT      TYP SUPPR

 1449   SP OCT MAP NA           6,19          W OCTAL       SUP INACT           "SUPPRESS OCTAL" SUFFICES HERE.
 1451              SSL, ONE     SWITCH        28            DUP SUB CH     C    CHECK DUPLICATION AND CALL FROM PRINT.
 1453              SM, TEMPMASK SWITCH        B16 B20       SWITCH
 1454              TS           ONE           WHODUNIT      TYP SUPPR

 1455   SUP INACT  NA           6,19          W INACTIV     UNRC SBDR           "SUPPRESS INACTIVE" SUFFICES HERE.
 1457              NA           6,20          BLANKS        UNRC SBDR
 1458              SSL, ONE     SWITCH        30            DUP SUB CH     C    CHECK DUPLICATION AND CALL FROM PRINT.
 1460              SM, TEMPMASK SWITCH        B14 B18       SWITCH
 1461              TX           TWO           -             WHODUNIT

 1462   TYP SUPPR  NA           TEMP MASK     SUPP BITS     C,+2
 1463              S, MON TYPER W SUPPRES     SPRAM +8      C,+2                "SUPPRESS".
 1465              S, MON TYPER SUP CO MSG    SPRAM +24     -                   "SUPPRESS CONDITIONALLY: ".
 1467              SSL, THREE   WHODUNIT      0             C,+1
 1468              S, MON TYPER SY TAB MSG    SPRA +24      4,0                 " SYMBOL TABLE LISTING".
 1470              S, MON TYPER OC MAP MSG    SPRA +24      4,0                 " OCTAL STORAGE MAP".
 1472              S, MON TYPER IN SUB MSG    SPRA +24      4,0                 " INACTIVE SUBROUTINES".



R1474   PROCEDURE FOR THE SUBDIRECTOR "FREEZE SUBROUTINES", TO INCORPORATE SUBROUTINES INTO A PROGRAM.

 1476   FRZ B4 UPG NA           6,16          W FREEZE      B4 OR UPGR          IF NOT "FREEZE": "BEFORE" OR "UPGRADE".
 1478              TS           6,19          WHODUNIT      RENUMBER       C    REFUSE TO FREEZE DURING REPRINT.
 1480              NA           6,19          MANSU MSG     UNRC SBDR
 1481              NA, C1T4     6,20          MANSU MSG +1  UNRC SBDR           "SUBROUTINES" IS REQUIRED.
 1483              NA, BIT9     SWITCH        ZERO          IL REQEST           REQUIRE PROGRAM ASSEMBLY.
 1485              SSL, ONE     SWITCH        31            DUP SUB CH     C    QUIT IF THERE HAS BEEN ANOTHER "FREEZE".
 1487              SM           SWITCH        BIT 17        SWITCH              SHOW THAT A "FREEZE" HAS BEEN RECEIVED.
 1489              S, MON TYPER FRSUB MSG     SPRA +24      4,0                 "FREEZE SUBROUTINES".

# Page 78
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  38        PAGE  38

P1491   PROCESSING FOR THE SUBDIRECTOR "BEFORE SUBRNAME", USED IN SUBROUTINE ASSEMBLY TO POSITION A SUBROUTINE ON TAPE.

 1493   B4 OR UPGR NA           6,16          W BEFORE      UPGRADE             IF NOT "BEFORE", MUST BE "UPGRADE".
 1494              TS           6 COMMA 19    WHODUNIT      RENUMBER       C    POINT TO SUBRO NAME, QUIT IF REPRINT.
 1496              NA, BIT9     SWITCH        ONES          IL REQEST           REQUIRE SUBROUTINE ASSEMBLY.
 1498              SSL, ONE     SWITCH        40            DUP SUB CH     C    QUIT IF THERE HAS BEEN ANOTHER "BEFORE".
 1500              SM           SWITCH        BIT 8         SWITCH              SHOW THAT A "BEFORE" HAS BEEN RECEIVED.
 1502              NA           6,20          BLANKS        UNRC SBDR           QUIT IF SUBRO NAME IS TOO LONG.
 1504              NA, C1T4     6,19          W END SYLT    C,+2
 1505   BEFOREND   TS           W END SYLT    NEXT NAME     ACK BEFOR           SUBDIRECTOR SAID "BEFORE END".

 1507              TX           L COMP NAM    -             Z,X2
 1508              SWS,THREAD10 N,X2          12            Z,X2
 1509              TS           Z,SH          Z,CSC         B4 WHICH -2         START SEARCH FOR NAMED SUBROUTINE.

 1511              NA, BIT36    2,1           ZERO          B4 WHICH            BRANCH IF FOUND A SUBROUTINE.
 1513              SS           2,1           THREAD 10     Z,X2                ADVANCE THROUGH LIST OF PROGRAMS.
 1515              NA           Z,X2          L END THR     C,-2                BRANCH UNLESS THERE ARE NO SUBROUTINES.
 1517              NA           6,19          W ALL         BAD BEFOR      C    IF "BEFORE ALL", DROP INTO BEFOREND.

 1519   B4 WHICH   NA           6,19          W ALL         ACK BEFOR +2        BRANCH IF REALLY NEED TO FIND SUBRO.
 1521              NA           Z,X2          L PROG FIL    ACK BEFOR +1        BRANCH UNLESS SUBRO IS ALREADY FIRST.
 1523   ACK BEFOR  S, YUL TYPER 6,2           A +9          4,0                 ACKNOWLEDGE SUBDIRECTOR BY TYPING IT.
 1525              TS           N,X2          NEXT NAME     ACK BEFOR           IF "BEFORE ALL", 1ST SUBRO IS SUCCESSOR.

 1527              NA           6,19          N,X2          BAD BEFOR -2        BRANCH IF DIDN'T FIND NAMES SUBROUTINE.
 1529              NA           Z,X2          L PROG FIL    C,-2                OK UNLESS SUBRO WAS TO PRECEDE ITSELF.
 1531              S, MON TYPER UNRCS MSG     SPRAMR +32    IGN SBDIR           "SUBROUTINE NAME NOT RECOGNIZED".
 1533              SS           2,1           THREAD10      Z,X2                CONTINUE SEARCH FOR NAMED SUBROUTINE.
 1535              NA           Z,X2          L END THR     ACK BEFOR +2        BRANCH IF SEARCH DID NOT FAIL.
 1537   BAD BEFOR  S, MON TYPER UNRCS MSG     SPRAMR +32    IGN SBDIR           "SUBROUTINE NAME NOT RECOGNIZED".

# Page 79
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  39        PAGE  39

P1539   PROCESSING FOR THE SUBDIRECTOR "UPGRADE TO REVISION NNN", USED IN TRANSFERRED ASSEMBLY TO ASSIGN AN ARBITRARY
R15392  REVISION NUMBER TO A PROGRAM OR SUBROUTINE BEING CREATED FROM A DISC FILE, TYPICALLY IN A TAPE-TO-TAPE MOVE.

 15394  UPGRADE    NA           6,16          W UPGRADE     UNRC SBDR
 15396             LA, CHAR3    SWITCH        B14T18        IL REQEST           BRANCH IF NOT TRANSFERRED ASSEMBLY.
 15398             TX           DUPLISUB      -             C,+0                COME THRU HERE JUST ONCE PER ASSEMBLY.
 1540              TS           6 COMMA 19    WHODUNIT      619 TO X5      C
 15402             NA           N,X5,3        W TO          UNRC SBDR
 15404             WA           Z,X5          SIX           WHODUNIT
 15406             NA           6,28          ONES          UNRC SBDR           GIVE UP IF THERE ARE EXTRA WORDS.
 15408             TS           W OF          6,28          FINGER         C    FAKE UP THE FORM "REVISION NNN OF".
 1541              NA           N,X5,1        W REVISON     UNRC SBDR
 15412             NA           N,X5,2        BLANKS        UNRC SBDR           GUARD AGAINST TASK ABORT.
 15414             TX           N,SC,2        -             REJEC DIR           CHANGE TASK ABORT TO SUBDIRECTOR IGNORE.
 15416             TS           C,+1          REJEC DIR     IGN SUBDR           RESTORE TASK ABORT ROUTINE.
 15418             S, MON TYPER REJEC MSG     SPRAMR +32    -
 1542              TS           Z,SC          Z,S2          CVRT REVN           JUDGE AND CONVERT REVISION NUMBER.
 15422             TX           C,-2          -             REJEC DIR           RESTORE TASK ABORT ROUTINE.
 15424             TX           L PROG FIL    -             Z,X4
 15426             SWS, B13T24  REVNO         24,L          4,1                 (TRANSFERRED ASSY STARTS SANS SUBROS).
 15428             SS           ZERO          BIT 10        SWITCH              UNDO DAMAGE FROM DETECTION OF REV NO.
 1543              S, YUL TYPER 6,2           A +9          C,+1                "UPGRADE TO REVISION NNN".
 15431             TX           COMP NAME     -             6,2
 15432             TX           W REVISON     -             6,3
 15433             SWE, ONES    W OF          A,5           6,4
 15434             SWS, C1T4    6,25          A,1           6,4
 15435             TN           OBJCT MSG     6             6,5
 15436             TS, C1T4     BLANKS        6,5           PHI SENTR           MODIFY OBJECT MESSAGE PER UPGRADING.
 15437             TS           COLON C1      COMMON        TYP ASOBJ +1   C
 15438             TS           Z,SC          Z,S2          MOD CHEK 3 -1
 15439             TS           Z,X5          Z,S2          PUT CN C6 -2   C    MAKE AND DISTRIBUTE NEW OBJECT MESSAGE.
 154395            TS           Z,X5,21       -             GO DO AUTH     C    ADVANCE X5 TO AUTHOR NAME AND DECODE IT.
 1544              TS           C,+1          KNWN COMP     TYP ASOBJ +1
 15441             TS           C,+1          KNWN COMP     LOAD PAS1 -1
 15442             TX           Z,X0          -             L COMP NAM

# Page 80
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  40        PAGE  40

P15449             PROCEDURE TO RESPOND TO A REQUEST FOR A REPRINT OF AN ASSEMBLY LISTING.  DO NOT CONFUSE THIS WITH THE
R1546   PRINT FUNCTION, WHICH MAKES A SYMBOLIC LISTING ONLY.  THE REPRINT FUNCTION IS JUST LIKE ASSEMBLY EXCEPT THAT
R1548   THE REVISION NUMBER IS NOT ADVANCED, NO INPUT IS ACCEPTED, AND RENUMBERING MAY NOT BE DONE.  SYPT, SYLT, AND
R1550   BYPT ARE NOT CHANGED IN ANY WAY.  IN PARTICULAR, THE BYPT/NO BYPT BIT FOR A PROGRAM DOES NOT CHANGE EVEN IF ITS
R1552   SUBROUTINES HAVE CHANGED SINCE THE LAST ASSEMBLY IN SUCH A WAY AS TO CHANGE THE GOOD/FAIR/BAD RATING OF THE
R1554   DUMMY ASSEMBLY INHERENT IN REPRINTING.

 1555   REPRINT    TS           W REPRINT     TASK MSG      TASK OBJC           BREAK DOWN REMAINDER OF YUL DIRECTOR.
 1557              SWS, C1T7    TASK MSG +1   A,1,L         TASK MSG +1
 1558              SWS, CHAR8   TASK MSG +2   A,1,L         TASK MSG +1
 1559              SWS, C1T7    TASK MSG +2   A,1,L         TASK MSG +2         NORMALIZE TASK MESSAGE.
 1561              S, YUL TYPER TASK MSG      AMTF +4       TYP ASOBJ           TYPE TASK, GO JOIN ASSEMBLY PROCESS.

R1563   RETURN TO HERE IF WE CAN ASSEMBLE FOR THE NAMED COMPUTER.

 1564   REPRINT 2  TS           Z,SC          Z,X1          RD SUBDRC
 1565              S, MON TYPER 4WHOM MSG     SPRAMR +40    TYP ABORT           REQUIRE SUBDIRECTOR "FOR CUSTOMERNAME".
 1567              NA           6,16          W FOR         C,-1
 1568              S, YUL TYPER 6,2           A +9          C,+1                TYPE OUT ENTIRE SUBDIRECTOR CARD.
 1570              TS           BIT 10        SORS LINE     SET PG HED     C
 1571              TN           REP 4 LINE    3             SORS LINE +1
 1572              TN           6,2           9             N,AU2
 1573              MT           BLANKS        3             N,AU2,1             MAKE UP LINE ABOUT WHO GETS THE REPRINT.
 1575              TS, B2B11    ONES          SWITCH        KNOWN PSR           REQUEST REPRINT, CHECK PRG/SUB NAME ETC.
 1577              SSL, ONE     4,1           35            C,+1                TEST OBSOLESCENCE BIT.
 1579              TS           Z,X4          L PROG FIL    X5 IS NR4           JOIN ASSEMBLY INITIALIZATION.

 1581              S, MON TYPER PROBS MSG     SPRA +40      -                   CUSS OBSOLETE REPRINT ON TYPEWRITER.
 1583              TS           W BLOT OBS    PAGE HEAD +14 C,-2                CUSS OBSOLETE REPRINT ON EVERY PAGE.



R1585              PROCEDURE TO CREATE A BACKUP TAPE IN MIDJOB, AT THE OPERATOR'S DISCRETION.  EVOKED BY THE DIRECTOR
R1587   CARD "CREATE BACKUP".

 1588   CREATE BU  TX           Z,X5          -             WHODUNIT
 1589              NA           N,X5,3        W BACKUP      HOWZAT              DEMAND "BACKUP".
 1591              TX           Z,X5          -             WHODUNIT
 1592              NA           N,X5          ONES          HOWZAT              FORBID SUPERFLUOUS WORDS.
 1594              SS           ACA OTHE      CHAR 3        ASCBU MSG
 1595              S, MON TYPER ASCBU MSG     SPRAMR +24    -                   "ASA TO CREATE BACKUP;"
 1597              S, MON TYPER ACA OTHE      SPRA +16      C,+3                "ACA OTHERWISE"
 1599              STOP                                     -              S
 1600              S, MON TYPER RIGHT HO      SPRAMR +8     ACCEPT +1           "(SIGH)"
 1602              TS           -             -             C,-1           C    ARA OR DON A CREATES BACKUP.
 1604              NA, CHAR8    1,0           ZERO          C,+2
 1605              TS, CHAR8    ONE           1,0           C,+3                BYPASS LABEL AND REVERT IF MONDAY MORN.
 1607              SS           ONE           CHAR8         N,X1                BE SURE TO DO FULL TAPE COPY.
 1609              TS           STAR COL 1    6,1           LABEL YUL           PLANT CREATE FLAG, LABEL & REPOSITION.
 1611              TS           ONES          6,2           DO BACKUP           PREVENT ENDJOB AFTER BACKUP CREATION.

# Page 81
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  41        PAGE  41

P1613              VARIATIONS ON ASSEMBLY FOR THE CASE OF ASSEMBLING A NEW PROGRAM (OR SUBROUTINE) AS A VERSION OF AN
R1615   EXISTING ONE.  ACTS LIKE REVISION EXCEPT THAT THE SOURCE PROGRAM (OR SUBRO) IS PRESERVED.  AUTHOR MAY CHANGE.



 1617   NEWVERS    TS           Z,SC          Z,S2          DECOD PSR +1        DECODE PROG OR SUBRO NAME.
 1619              TS           Z,SC          Z,X0          CUSS NAUT -1        DECODE AND STANDARDIZE AUTHOR NAME.
 1621              TN           6,22          9             6,91                SAVE THESE QUANTITIES IN PARSED FORM.
 1623              TS           Z,SC          Z,X1          RD SUBDRC
 1624              S, MON TYPER VRSNS MSG     SPRAMR +56    REJEC DIR           CUSSABORT IF SUBDIRECTOR "FROM" MISSING.
 1626              NA           6,16          W FROM        C,-1
 1627              TX           L DIRECTY     -             Z,X1
 1628              NA, BIT 9    SWITCH        ZERO          C,+4                BRANCH IF DOING A SUBROUTINE.
 1630              LA, CAC3     1,9           L END THR     C,+2                BRANCH IF THERE ARE NO DELETES WAITING.
 1632              TS, BIT33    ZERO          INIT X5       C,+2                COMPENSATE FOR ACTION OF GBR2 GBR3.
 1634              WA           INIT X5       TWO           INIT X5             OTHERWISE CHANGE GB,R2 TO GB,R4.
 1636              TS           6 COMMA 19    Z,X5          TASK OBJC           BREAK DOWN AND RE-FORM SUBDIRECTOR.
 1638              S, YUL TYPER TASK MSG      AMTF +4       C,+1
 1639              NA           6,19          W REVISON     C,+4                BRANCH IF SOURCE PROG/SUB IS NEW.

 1641              TX           W NEW         -             6,19
 1642              WA           6,27          1 C6          6,21                CALL VERSION "NEW".
 1644              TN           6,28          3             6,22                CLOSE UP SENTENCE TO SUIT.

 1646              TN           6,91          9             6,25                SUPPLY PROG/SUB AND AUTHOR NAMES.
 1648              WD           Z,AU2         THREE         Z,X4                MARK END OF REVISED SENTENCE.
 1650              WA           L OLD LINE    SIX           Z,S2                TYPE SYNTHETIC OBJECT MSG FROM OLD LINE.
 1652              TS, BIT 12   ONES          SWITCH        619 TO X5      C
 1653              TS           N,X5,2        COMMON        PUT CHAR       C
 1654              TS           Z,SC          Z,S3          WRIT OBJC
 1655              S, YUL TYPER OLD LINE +6   AMTF +6       C,+1                TYPE SYNTHETIC OBJECT MESSAGE.
 1657              TN           OLD LINE +5   6             OLD LINE +6         MOP UP THE AREA.
 1659              S, MON TYPER W SOURCE C    SPRAM +8      TYP ASOBJ           JOIN REGULAR ASSEMBLY PROCEDURE.

R1661   RETURN TO HERE IF WE CAN ASSEMBLE FOR THE NAMED COMPUTER.

 1662   NEWVERS2   TS, BIT 2    ONES          SWITCH        KNOWN PSR           CHECK PROG/SUB NAME, REVNO, AUTHOR, ETC.
 1664              TS           6,91          PROG NAME     SET REVN       C    RECOVER NEW PROGNAME, FORCE REVISION.
 1666              TX           6,97          -             AUTH NAME           RECOVER AUTHOR NAME OF VERSION.
 1668              TS           6,98          AUTH NAME +1  C,+3
 1669   VERS PSQ   TN           VER PR MSG    3             SORS LINE +1
 1670              TN           VER SB MSG    3             SORS LINE +1
 1671              SSL, ONE     SWITCH        39            C,-2           C
 1672              TN           VERS LINE     3             N,AU2
 1673              TN           OBJCT MSG     7             N,AU2
 1674              TN           BLANKS        2             N,AU2               SET UP VERSION SOURCE LINE FOR PRINTER.
 1676              TS           BIT 10        SORS LINE     NEW PRSUB           GO JOIN PROCEDURE FOR NEW PROG/SUBRO.

R16772  ROUTINE TO STARTLE THE OPERATOR AND GIVE HIM A MESSAGE.

 16774  MESSAGE    S, MON TYPER BLOTS         SPRAMR +8     -                   MAKE STOMPING NOISE BEFORE AND AFTER.
 16776             S, YUL TYPER 6,2           AMTF +9       C,+1
 16778             S, MON TYPER BLOTS         SPRA +8       NEX DIREC

# Page 82
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  42        PAGE  42

P1678              PROCEDURES IN PASS 0 TO RESPOND TO A REQUEST TO CONTROL OR DECONTROL A SUBROUTINE.  A CONTROLLED SUB-
R1680   ROUTINE CANNOT BE REVISED OR DELETED.  BOTH CONTROLLING AND DECONTROLLING REQUIRE A SUBDIRECTOR STARTING WITH
R1682   THE WORD "AUTHORIZED", SO THAT THERE WILL BE A RECORD (ON THE CONSOLE TYPEOUTS) OF WHO DID IT.

 1684   CONTROL    TS           W CONTROL     TASK MSG      TASK OBJC           ANALYZE REST OF DIRECTOR CARD.
 1686              SWS, C1T7    TASK MSG +1   A,1,L         TASK MSG +1
 1687              SWS, CHAR8   TASK MSG +2   A,1,L         TASK MSG +1
 1688              SWS, C1T7    TASK MSG +2   A,1,L         TASK MSG +2         NORMALIZE TASK MESSAGE.
 1690              TS, BIT 36   ONES          SWITCH        CON DECON           SET UP FOR REDUNDANCY TEST.

 1692   DECONTR    TS           W DECONTR     TASK MSG      TASK OBJC           ANALYZE REST OF DIRECTOR CARD.
 1694              SWS, ONES    TASK MSG +2   A,1           TASK MSG +2
 1695              SWS, CHAR1   TASK MSG +1   A,1           TASK MSG +2
 1696              SWS, ONES    TASK MSG +1   A,1           TASK MSG +1
 1697              SS           W DECONTR +1  CHAR 1        TASK MSG +1         NORMALIZE TASK MESSAGE.
 1699              SM           SWITCH        B36T37        SWITCH              SET UP FOR REDUNDANCY TEST.

 1701   CON DECON  TS           Z,SC          Z,X0          TYP TKOBJ           TYPE TASK AND OBJECT MESSAGES.
 1703              TS           Z,SC          Z,X1          RD SUBDRC
 1704              S, MON TYPER AU SUB MSG    SPRAMR +56    TYP ABORT           REQUIRE "AUTHORIZED BY SOMEBODY" SUBDIR.
 1706              NA           6,16          AUTHORYZ      C,-1
 1707              NA           6,17          AUTHORYZ +1   C,-2
 1708              S, YUL TYPER 6,2           A +9          C,+1                TYPE OUT ENTIRE SUBDIRECTOR CARD.
 1710              NA, BIT 9    SWITCH        ZERO          C,+2
 1711              S, MON TYPER PRO CO MSG    SPRAMR +32    TYP ABORT           CUSS ATTEMPT TO CONTROL/DECONTROL PROG.
 1713              TS           L DIRECTY     Z,X1          KNOWN PSR           CHECK SUBRO NAME, REVNO, AUTHOR, ETC.
 1715              NA, B36T37   4,1           SWITCH        C,+3                BRANCH IF SUBRO ALREADY IN DESIRED STAT.
 1717              HA           4,1           BIT 37        4,1                 CONTROL OR DECONTROL SUBROUTINE.
 1719              TS           -             -             ACCEPT -2
 1720              S, MON TYPER RDUND MSG     SPRAMR +16    TYP ABORT

R1721              SUBROUTINE IN PASS 0 TO PRESENT SUCCESSIVE SUBROUTINE CALL THREADS OF A PROGRAM OR SUBROUTINE.  WITH
R1723   THE ADDRESS OF THE PROG/SUBRO IN X2 AND BANK INDICATOR 7 IN X3 AND X4, FILL IN THE NO-MORE-THREADS DISPOSITION
R1725   AT NO MO SUBS +1 AND ENTER AT SUB THRDS (AT 0,125 FROM ANOTHER BANK).  SWITCH INTO COSEQUENCE FOR MORE CALLS.

 1727   SUB THRDS  SWS,THREAD11 2,1           24            Z,X3           C    POINT TO FIRST SUBRO THREAD WORD.
 1729              NA, BIT25    2,1           ZERO          A THREAD       C    BRANCH IF THERE ARE ANY SUBCALL THREADS.
 1731              TS           -             -             NO MO SUBS     C

 1732   OP THREAD  SWS,THREAD11 N,X3          0             Z,X3           C    FOLLOW THREAD TO NEXT SUBRO THREAD WORD.
 1734              SWS,THREAD10 N,X3          36            Z,X4           S    PRESENT OP-FIELD THREAD.

 1736   A THREAD   SWS,THREAD10 N,X3          24            Z,X4           S    PRESENT A-ADDRESS THREAD.

 1738              TX           BIT 13        -             TEMP MASK      C
 1739              NA, TEMPMASK 3,0           ZERO          NO MO SUBS     C    BRANCH IF A-ADDRESS THREAD WAS THE LAST.
 1741              SWS,THREAD10 N,X3          12            Z,X4           S    PRESENT B-ADDRESS THREAD.

 1743              NA, BIT25    3,0           ZERO          NO MO SUBS     C    BRANCH IF B-ADDRESS THREAD WAS THE LAST.
 1745              LA, B37T48   3,0           THREAD 11     OP THREAD      C    BRANCH IF THERE IS ANOTHER THREAD WORD.
 1747              SWS,THREAD10 N,X3          0             Z,X4           S    PRESENT C-ADDRESS THREAD.

 1749   NO MO SUBS SWS,THREAD10 2,1           0             Z,X4           C    FOLLOW THREAD TO NEXT PROG/SUBRO.
 1751              PR                                                           (TO BE FILLED IN AT FIRST CALL.)

# Page 83
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  43        PAGE  43

P1753              PROCEDURE IN PASS 0 TO RESPOND TO A REQUEST FOR DELETION OF A PROGRAM OR SUBROUTINE.  DETACHES THE
R1755   PROGRAM OR SUBROUTINE NAME FROM ITS AUTHOR AND ITS COMPUTER, AND PUTS IT IN THE DELETE THREAD FOR DESTRUCTION ON
R1757   THE NEXT ASSEMBLY.  DOES NOT DELETE A CONTROLLED SUBROUTINE OR A SUBROUTINE THAT IS CALLED BY ANY PROG OR SUB.

 1759   ELIM PR SU TS           W DLETION     TASK MSG      TASK OBJC           ANALYZE REST OF DIRECTOR CARD.
 1761              TS           Z,SC          Z,X0          TYP TKOBJ           TYPE TASK AND OBJECT MESSAGES.
 1763              TS           -             -             KNOWN PSR           SEE IF PROGRAM OR SUBRO IS KNOWN.
 1765              TN           Z,X2          3             OBJCT MSG
 1766              NA, BIT 36   4,1           ONES          ELIMPROG            NO RESTRICTIONS ON PROGRAM DELETION.

 1768              NA, B36T37   4,1           ONES          C,+3
 1769              SS           W DLETION     CAC12         CONSU MSG +4
 1770              S, MON TYPER CONSU MSG     SPRAMR +40    TYP ABORT           CUSS ATTEMPT TO DELETE CONTROLLED SUBRO.

 1772              TX           ZERO          -             COMMON              INITIALIZE COUNT OF USERS OF SUBROUTINE.
 1774              SWS,THREAD10 N,X0          12            Z,X2                POINT TO 1ST PROG/SUB OF THIS COMPUTER.

 1776   DSUB LOOP  TS           N,SC,1        NO MO SUBS +1 SUB THRDS      C    START LOOKING AT SUBRO THREADS FROM
 1778              TS           Z,X4          Z,X2          DSUB TEST           EACH PROGRAM AND SUBRO OF THE COMPUTER.

 1780              NA           Z,X4          OBJCT MSG +2  C,+2                BRANCH IF DIDN'T FIND USE OF THIS SUBRO.
 1782              DA           COMMON        ONE           COMMON              COUNT UP THE NUMBER OF USERS.
 1784              WD           Z,SC          THREE         Z,SC           C    (REDUNDANT AFTER A MATCH, BUT NO HARM.)

 1786   DSUB TEST  NA           Z,X2          L END THR     DSUB LOOP           BRANCH IF THERE IS ANOTHER PROG/SUBRO.
 1788              TN           OBJCT MSG     3             Z,X2
 1789              LA           COMMON        ZERO          DELETION            AN UNUSED SUBROUTINE MAY BE DELETED.

 1791              TN           WREVN MSG +2  3             OBJCT MSG
 1792              TN           NUMUS MSG     3             WREVN MSG +2
 1793              TS           C,+1          2DIG REVN -1  BAD REVNO           BORROW BAD-REVISION-NUMBER CUSSER.
 1795              S, MON TYPER WREVN MSG +2  SPRAMR +24    C,+1                "NUMBER OF USERS = XXX".
 1797              TN           OBJCT MSG     3             WREVN MSG +2
 1798              TS           C,+1          2DIG REVN -1  TYP ABORT
 1799              S, MON TYPER WREVN MSG     SPRAMR +40    TYP ABORT



R1800   DELETION PROCEDURE COMMON TO PROGRAMS AND SUBROUTINES: RELEASE ALL SUBRO THREAD WORDS, DETACH PROG/SUB NAME FROM
R1802   AUTHOR'S LIST (DECREMENT HIS SCORE, DELETING HIM IF IT BECAME ZERO), DETACH PROG/SUB NAME FROM COMPUTER'S LIST,
R1804   PUT THE COMPUTER NAME IN WITH THE PROG/SUB NAME, AND PUT THE MODIFIED ENTRY AT THE TOP OF THE DELETE LIST.

 1806   DELETION   TN           OBJCT MSG     3             Z,X2
 1807              NA, BIT25    4,1           ONES          DE AUTHOR           BRANCH IF NO SUBRO THREAD WORDS.
 1809              SWS,THREAD11 4,1           24            Z,X3                POINT TO FIRST SUBRO THREAD WORD.

 1811              TS           Z,X3          Z,AU1         C,+2           C    PREPARE TO RELEASE SUBRO THREAD WORD.
 1813              TS           Z,X5          Z,X3          C,-1           S    SUPPLY ADDRESS OF NEXT ONE.
 1815              SS           N,X3          THREAD 11     Z,X5           C    MAYBE FOLLOW THREAD TO NEXT SUB THRD WD.
 1817              LA, B37T48   3,0           THREAD 11     GIVE SLOT      C    RELEASE NON-LAST SUB THRD WORD.
 1819              TS           Z,CSC         Z,SC          GIVE SLOT      C    RELEASE LAST SUBRO THREAD WORD.

 1821              TX           Z,X4          -             Z,X5                DUPLICATE FINAL CONDITIONS OF KNOWN PSR
 1823              TS           OBJCT MSG +1  Z,X3          DE AUTHOR            AND DO EFFECT OF DELETION ON AUTHOR.

# Page 84
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  44        PAGE  44

P1825   WHEN AN OBSOLETE PROGRAM IS DELETED, ERASE THE OBSOLETING BITS IN ITS SUBROUTINES IF THEY PERTAINED ONLY TO THE
R1827   PROGRAM BEING DELETED.  THIS IS DONE IN TWO PHASES.  PHASE 1: STARTING WITH OBSOLETE PROGRAMS, FOLLOW SUBRO CALL
R1829   THREADS THAT HAVE OBSOLETING BITS AND PLANT OBSOLETING BITS ON THE SUBROUTINES SO INDICATED, MAKING THEM LOOK
R1831   LIKE OBSOLETE PROGRAMS (TO A BIT 13 TEST).  REPEAT THIS UNTIL A COMPLETE PASS THROUGH THE COMPUTER'S PROGRAMS
R1833   AND SUBROUTINES IS MADE WITHOUT ADDING ANY OBSOLETING BITS.  THE RESULT IS THAT ONLY THOSE SUBROUTINES THAT
R1835   STILL CONTRIBUTE TO SOME PROGRAM'S OBSOLESCENCE ARE MARKED WITH A BIT 13.  PHASE 2: MAKE ONE PASS THROUGH ALL
R1837   THE SUBROUTINES, CLEARING THE OBSOLETING BITS OF SUBRO CALL THREADS OF UNMARKED SUBROUTINES, AND REMOVING THE
R1839   MARKS FROM THE MARKED SUBROUTINES.

 1840   ELIM PROG  SWS, BIT36   4,1           23            SWITCH              TRANSPLANT OBSOLESCENCE BIT.
 1842              SS           ZERO          BIT 13        4,1                 REMOVE IT FROM PROGRAM BEING DELETED.
 1844              NA, BIT36    SWITCH        ONES          DELETION            IF PROG WASN'T OBSOLETE, DON'T BOTHER.

 1846   ND1 DELEP  SWS,THREAD10 N,X0          12            Z,X2                POINT TO FIRST PROG/SUB OF COMPUTER.
 1848              NA, BIT36    SWITCH        ONES          LP2 DELEP +1        BRANCH WHEN BIT-PLANTING PHASE IS DONE.
 1850              TS, BIT36    ZERO          SWITCH        LP1 DELEP +1        START A PASS OF THE BIT-PLANTING PHASE.

 1852   LP1 DELEP  SWS,THREAD10 2,1           0             Z,X2                FOLLOW THREAD TO NEXT PROG/SUBRO.
 1854              LA           Z,X2          L END THR     ND1 DELEP           END OF PASS IF THREAD IS VOID.

 1856              SSL, FOUR    2,1           33            LP1 DELEP           TEST OBSOLESCENCE OR OBSOLETING BIT.
 1858              TS           Z,X4          Z,X2          LP1 DELEP +1
 1859              TS           C,-1          NO MO SUBS +1 SUB THRDS      C    CALL FOR SUBRO CALL THREADS OF PROG/SUB.

 1861              WD           Z,CSC         ONE           Z,AU1
 1862              SS           N,AU1         CHAR5         C,+1                USE SAME SHIFT COUNT THAT PRESENTED THR.
 1864              SSL, ONE     N,X3                        C,+3                TEST OBSOLETING BIT OF CALL THREAD.

 1866              SM           4,1           BIT 13        4,1                 PLANT OBSOLETING BIT IN SUBROUTINE ENTR.
 1868              SM           SWITCH        BIT 36        SWITCH              CALL FOR ANOTHER PASS.
 1870              WD           Z,SC          SIX           Z,SC           C    GO AND ASK FOR ANOTHER THREAD.
 1872              SSL, TWO     4,1           34            C,-3                TEST OBSOLETING BIT OF SUBROUTINE.

 1874   OBSLING Q  SWS,THREAD11 2,1           24            Z,X3                POINT TO 1ST SUBRO THREAD WD OF SUBRO.
 1876              NA, BIT 25   2,1           ZERO          C,+2                BRANCH IF THERE REALLY IS ONE.
 1878              SS           Z,SC,7        BIT 13        2,1

 1880              SS           ZERO          B24 B36       N,X3                CLEAR OBSOLETING BITS OF THREAD WORD 1.
 1882              SSL, ONE     N,X3          11            C,+1                BRANCH IF THERE IS ONLY ONE THREAD WORD.
 1884              TS           Z,SC,2        -             OP THREAD      C    GO AND GET NEXT SUBCALL THREAD WORD.
 1886              SWS, ONE     Z,SC,3        16            N,X3                CLEAR LAST OBSOLETING BIT, DO NEXT SUB.

 1888              TS, P1T3AV   ZERO          3,0           OP THREAD      C    CLEAR OBSOLETING BITS, GET NEXT THRD WD.
 1890              SSL, TWO     N,X3          10            C,-1                TEST FINAL-SUB-THREAD-WORD BIT.
 1892              SS           ZERO          PAV BITS      N,X3                CLEAR LAST OBSOLETING BITS, DO NEXT SUB.

 1894   LP2 DELEP  SWS,THREAD10 2,1           0             Z,X2                FOLLOW THREAD TO NEXT PROG OR SUB.
 1896              LA           Z,X2          L END THR     DELETION            BRANCH IF PHASE 2 OF OBS-BIT PROC DONE.
 1898              NA, BIT36    2,1           ONES          LP2 DELEP           BRANCH IF PROGRAM, NOT SUBROUTINE.
 1900              SSL, TWO     2,1           34            OBSLING Q           TEST OBSOLETING BIT OF SUBROUTINE.

# Page 85
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  45        PAGE  45

P1902   DETACH PROG/SUB NAME FROM AUTHOR AND COMPUTER LISTS, ADD TO DELETE LIST.

 1903   DE AUTHOR  LA           3,1           PLUS ZERO     NOT 1(AU)           BRANCH IF NOT 1ST IN AUTHOR'S LIST.
 1905              SWS,ATHRED10 4,1           12,L          3,1                 REMOVE FROM HEAD OF AUTHOR'S LIST.
 1907              TS           Z,X3          Z,X5          DECR AUTH           LET X5 POINT TO AUTHOR NAME.

 1909   NOT 1(AU)  SS           4,1           B THRED 10    3,1                 REMOVE FROM MIDST OF AUTHOR'S LIST.
 1911              SWS,THREAD10 5,1           12            Z,X5                X4 AND X5 WERE EQUAL AFTER KNOWN PSR.
 1913              LA           5,1           PLUS ZERO     C,-1                LET X5 POINT TO AUTHOR NAME.

 1915   DECR AUTH  SWS,THREAD10 5,1           24            Z,X3                LET X3 POINT TO AUTHOR'S ACTIVEST PROG.
 1917              TS           PLUS ZERO     COMMON        LIVE AUTH +2   C    STAY AWAY IF AUTHOR HAS MORE PROGRAMS.
 1919              SWE, CAC3    1,9           16            Z,X6                AUTHOR HAS NO ACTIVE PROGRAMS OR SUBROU-
 1921              NA           Z,X6          Z,X5          AUDL SRCH           TINES, SO DELETE HIS NAME.

 1923              SWS,THREAD10 5,1           12            Z,X3                SEW UP AUTHOR NAME THREAD AROUND AUTHOR
 1925              SWS, CAC2    Z,X3          16,L          1,9                 WHO WAS FIRST IN THE DIRECTORY.
 1927              TS           -             -             DELE AUTH

 1928              TX           Z,X3          -             Z,X6
 1929   AUDL SRCH  SWS,THREAD10 6,1           12            Z,X3                KEEPING X6 ONE CYCLE BEHIND X3,
 1931              NA           Z,X3          Z,X5          C,-1                FIND PRECEDING AUTHOR NAME.
 1933              SS           5,1           B THRED 10    6,1                 SEW UP THREAD AROUND AUTHOR.

 1935   DELE AUTH  SS           5,1           THREAD 11     Z,X6                LET X6 POINT TO 2ND HALF OF AUTHOR NAME.
 1937              TS           Z,X5          Z,AU1         GIVE PAIR      C
 1938              TS           Z,X6          Z,AU1         GIVE SLOT      C    VACATE SPACE OCCUPIED BY DEFUNCT NAME.
 1940              TS           CHAR1         TEMP MASK     SET DL THR          GO TO PREPARE DELETE LIST.

 1942   LIVE AUTH  WA           COMMON        ONE           COMMON              COUNT UP AUTHOR'S SCORE (EASIEST WAY).
 1944              SWS,THREAD10 3,1           12            Z,X3
 1945              LA           3,1           PLUS ZERO     LIVE AUTH           THREAD UNTIL AUTHOR NAME FOUND AGAIN.
 1947              LA, CAC3     COMMON        D11 D12       C,+2
 1948              SS           D11 D12       CAC3          COMMON              REDUCE ANYTHING OVER 254 TO 255.
 1950              SPS,B1THRU12 COMMON        8             5,1
 1951              TX           CHAR1         -             TEMP MASK

 1952   SET DL THR SS           PAR MANUF     C1T4 B48      4,1                 CLEAR LOW-ORDER BIT OF DELETE THREAD.
 1954              SS           N,X0          TEMP MASK     4,1                 SUPPLY COMPUTER NAME FOR IMPROVED SERCH.
 1956              SWE, C1T4    TEMP MASK     A,1           TEMP MASK
 1957              NA, TEMPMASK 0,0           BLANKS        C,-2
 1958              NA           Z,X2          Z,X0          C,+3                BRANCH IF NOT 1ST IN COMPUTER'S LIST.
 1960              SWS,BTHRED10 4,1           12,L          N,X0                DETACH NAME FROM COMPUTER'S LIST.
 1962              TS, CAC3     1,9           4,1           C,+2                THREAD THIS TO FORMER FIRST DELETE.
 1964              TS, THREAD10 4,1           2,1           C,-1                DETACH NAME FROM COMPUTER'S LIST.

 1966              SS           Z,X4          CAC3          1,9                 PUT THIS PROG/SUB AT TOP OF DELETE LIST.
 1968              SSL, TWO     TYPIST        28            C,+1

 1969              NA, CHAR8    1,0           ZERO          ACCEPT              BRANCH IF SOME BACKUP ALREADY ORDERED.
 1971              SS           TWO           CHAR8         N,X1                CALL FOR BACKUP LABEL AMENDMENT.

 1973   ACCEPT     S, YUL TYPER ACCEPTED      AMTF +1       C,+1                TYPE ACCEPTANCE OF NAME.
 1975              S, YUL TYPER BLANKS        A +1          NEX DIREC

# Page 86
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  46        PAGE  46

P1976              SUBROUTINE IN PASS 0 TO ANALYZE ALL BUT THE FIRST WORD OF A DIRECTOR CARD WHICH SPECIFIES A TASK TO
R1978   BE DONE ON A SINGLE PROGRAM, SUCH AS ASSEMBLY, DELETION, MANUFACTURING, ETC.  INITIALIZES VARIABLE ALPHABETIC
R1980   FIELDS.  SETS UP COMP NAME, PROG NAME, REVNO, AUTH NAME, TASK MSG, AND OBJCT MSG.  SETS BITS 9 AND 10 OF SWITCH.
R1982   PUTS THE SENTENCE INTO STANDARD FORM AND RETURNS ONLY IF IT IS SYNTACTICALLY CORRECT.



 1984   MANUF OBJ  TN           W URING FO    2             TASK MSG +1         ENTRY WHEN TASK IS MANUFACTURING.
 1986              TX           BLANKS        -             TASK MSG +3
 1987              TX           N,SC,4        -             PUT CN C6           ALTER AND GO TO MAIN PROCEDURE.
 1989              TS           L TKMSG P2    Z,S2          PUT CHAR +2    C

 1990   CPUT CN C6 TS           L TK MSG P1   Z,S2          PUT CHAR +5    C    USED TO RESTORE ALTERATION.

 1992   TASK OBJC  SWE,ONES     W FOR         A,1           TASK MSG +1
 1993              TN           BLANKS        2             TASK MSG +2         SOME INITIALIZATIONS.
 1995              TX           Z,SH          -             Z,X0
 1996              TX           ZERO          -             SWITCH
 19962             TX           L SUBSTRB     -             Z,AU2
 19964             MT           ZERO          8             N,AU2,1
 1997              TN           BLANKS        15            OLD LINE +1
 1998              TN           BLANKS        8             PAGE HEAD +4
 1999              TN           BLANKS        7             OBJCT MSG

 2000              TS           Z,SC          Z,S2          PROG ADJ            DECODE "NEW","REVISION N OF"OR"VERSION".
 2002              TS           Z,SC          Z,S2          DECOD CPN           DECODE AND STANDARDIZE COMPUTER NAME.
 2004              TN           N,X5          3             6,16                MOVE COMPUTER NAME TO HEAD OF SENTENCE.
 2006              TS           6,55          COMMON        COVER UP       C    COVER ITS OLD PLACE IN THE LIST.
 2008              TX           COLON C1      -             COMMON
 2009              WA           Z,X6          OCTAL 20      Z,S2                FORM ADDRESS EQUIVALENT TO 6,16.
 2011              SSL, D12     6,18          12            PUT CHAR       C    APPEND COLON TO COMPUTER NAME.

 2013              TN           6,16          2             COMMON
 2014   PUT CN C6  TS           L TKMSG P1    Z,S2          PUT CHAR +5    C    1ST CHAR OF COMPUTER NAME TO TASK MSG.
 2016              SWE, D12     6,18          12            Z,S0                COUNT OF CHARACTERS MINUS 1.
 2018              TS           Z,SC          Z,S1          MOVE CARS           MOVE REST OF COMPUTER NAME TO TASK MSG.

 2020              TS           Z,SC          Z,S2          DECOD PSR           DECODE "PROGRAM" OR "SUBROUTINE".
 2022              NA           N,X5          ONES          C,+2                ABOVE ALSO STORED PROG OR SUBRO NAME.

 2024   CUSS NAUT  S, YUL TYPER NAUTH MSG     AMTF +3       REJEC DIR           COMPLAIN ABOUT MISSING AUTHOR NAME.

 2026              TX           Z,X5          -             WHODUNIT
 2027              NA           N,X5,3        W BY          HOWZAT              REJECT IF THIS WORD IS NOT "BY".

 2029   GO DO AUTH TS           Z,SC          Z,S3          DCOD AUTH           DECODE AND STANDARDIZE AUTHOR NAME.
 2031              WD           4,2           1 C6          4,2                 USE DECREASED CHARACTER COUNT.
 2033              TX           L OBJC MSG    -             Z,S2
 2034   619 TO X5  TX           6 COMMA 19    -             Z,X5                OMIT COMPUTER NAME FROM OBJECT MESSAGE.
 2036              TX           N,X5,1        -             COMMON
 2037   SEND OBJC  TS           N,X5,1        Z,S3          PUT CHAR       C    OBJECT MESSAGE BEGINS WITH "NEW" OR
 2039              TS           Z,X0          Z,S3          WRIT OBJC           "REVISION" AND ENDS WITH AUTHOR NAME.

# Page 87
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  47        PAGE  47

P2041              SUBROUTINE IN PASS 0 TO CHECK A REQUEST FOR ACTION ON A KNOWN PROGRAM OR SUBROUTINE BY VERIFYING THAT
R2043   THE COMPUTER NAME, PROGRAM OR SUBROUTINE NAME, REVISION NUMBER, AND AUTHOR NAME ARE MUTUALLY CONSISTENT.  ALSO
R2045   DELIVERS IN X0 THE ADDRESS OF THE COMPUTER NAME, IN X2 THE ADDRESS OF THE PRECEDING PROGRAM NAME FOR THE COMPU-
R2047   TER, IN X3 THE ADDRESS OF THE PRECEDING PROGRAM BY THE AUTHOR, AND IN X4 THE ADDRESS OF THE PROG/SUBRO NAME.
R2049   NOTE THAT IN THE CASE OF X2 AND X3, THE INDEX REGISTER IS SET TO THE ADDRESS OF THE COMPUTER NAME OR AUTHOR NAME
R2051   RESPECTIVELY IF THERE IS NO PRECEDING PROGRAM.

 2052   KNOWN PSR  TS           Z,SH          WAUTH MSG +3  FIND COMP      C
 2053              S, YUL TYPER UNRCO MSG     AMTF +4       TYP ABORT           CUSS AND ABORT IF NO SUCH COMPUTER.

 2055              TS           Z,X0          Z,X4          FIND PROG      C    SEE IF NAME EXISTS AS EITHER PROG OR SR.
 2057              SSL, TWO     SWITCH        38            C,+2                CHOOSE PROGRAM OR SUBRO TEST IF FOUND.
 2059              SSL, TWO     SWITCH        38            C,+2                CHOOSE PROG OR SUBRO CUSS IF NOT FOUND.
 2061              NA, BIT 36   3,1           ONES          OK NOUN             BRANCH IF DID AND SHOULD FIND PROGRAM.
 2063              S, YUL TYPER UNRCP MSG     AMTF +4       TYP ABORT           CUSS UNRECOGNIZED PROGRAM NAME, ABORT.
 2065              NA, BIT 36   3,1           ZERO          OK NOUN             BRANCH IF DID AND SHOULD FIND SUBRO.
 2067              S, YUL TYPER UNRCS MSG     AMTF +4       TYP ABORT           CUSS UNRECOGNIZED SUBRO NAME, ABORT.

 2069              SWE, B37T48  3,1           24            COMMON              GET REVNO OF PROG/SUB WITH SUBROS.
 2071              SWS,THREAD11 3,1           24            Z,X4           C
 2072              SWE, B37T48  N,X4          36            COMMON              GET REVNO OF PROG/SUB WITH NO SUBROS.
 2074   OK NOUN    SSL, ONE     3,1           23            OK NOUN -3     C    SELECT REVNO-FETCHING METHOD.
 2076              NA           COMMON        REVNO         BAD REVNO           BRANCH IF REVISION NUMBER DOESN'T MATCH.

 2078              TN           Z,X3          2             Z,X4                ADDRESS OF PROGRAM NAME TO X4, X5.
 2080              SWS,THREAD10 3,1           12            Z,X3                THREAD TO NEXT PROGRAM BY SAME AUTHOR.
 2082              LA           3,1           PLUS ZERO     C,-1                REPEAT UNTIL AUTHOR NAME IS FOUND.
 2084   SET LAUTH  TX           Z,X3          -             L AUTH NAM
 2085              SS           3,1           THREAD11      Z,X5                THREAD TO SECOND HALF OF AUTHOR NAME.
 2087              NA           N,X3          AUTHNAME      RONG AUTH
 2088              NA           N,X5          AUTH NAME +1  RONG AUTH           BRANCH IF AUTHOR NAME IS WRONG.

 2090              SWS,THREAD11 3,1           24            Z,X5                THREAD TO 1ST PROG/SUB NAME IN AUTHLIST.
 2092              TS           Z,X0          L COMP NAM    C,+3                SAVE ADDRESS OF COMPUTER NAME.
 2094              TX           Z,X5          -             Z,X3                KEEP X3 ONE STEP BEHIND X5.
 2096              SWS,THREAD10 5,1           12            Z,X5                THREAD TO NEXT PROGRAM OR SUB BY AUTHOR.
 2098              NA           Z,X5          Z,X4          C,-2                RPT TIL X5 POINTS TO THIS PROG/SUB NAME.
 2100              TX           WAUTH MSG +3  -             Z,SC                RETURN WHEN ALL IS WELL.

 2102   RONG AUTH  TX           N,X3          -             WAUTH MSG +3        TELL THE MAN THE CORRECT AUTHOR NAME.
 2104              TX           N,X5          -             WAUTH MSG +4
 2105              S, YUL TYPER WAUTH MSG     AMTF +5       TYP ABORT

 2106   BAD REVNO  LA           COMMON        DEC 99        2DIG REVN           PROCEDURE TO CUSS A WRONG REVISION NO.
 2108              SWS, CHAR3   COMMON        22,L          WREVN MSG +4
 2109              SWS, ACH4    COMMON        20,L          WREVN MSG +4
 2110              SWS, ACH5    COMMON        18,L          WREVN MSG +4
 2111              S, MON TYPER WREVN MSG     SPRAMR +40    TYP ABORT           ANNOUNCE CORRECT ONE AND ABORT.
 2113   2DIG REVN  LA           COMMON        NINE          1DIG REVN
 2114              SWS, CHAR3   COMMON        26,L          WREVN MSG +4
 2115              SWS, ACH4    COMMON        24,L          WREVN MSG +4
 2116              TS, CHAR5    BLANKS        WREVN MSG +4  2DIG REVN -1
 2117   1DIG REVN  SWS, CHAR3   COMMON        30,L          WREVN MSG +4
 2118              TS, CHAR4    BLANKS        WREVN MSG +4  1DIG REVN -1

# Page 88
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  48        PAGE  48

P2119              SUBROUTINE IN PASS 0 TO DECODE A PROGRAM OR SUBROUTINE ADJECTIVE AND SET BIT 10 OF THE SWITCH REG-
R2121   ISTER ACCORDINGLY (0 IF NEW, 1 IF REVISION).  THE ADJECTIVE IS EITHER "NEW" OR "REVISION N OF", WHERE N IS A
R2123   DECIMAL NUMBER IN THE RANGE 0-999.  THE VALUE OF THE REVISION NUMBER IS STORED IN RIGHT-JUSTIFIED DECIMAL IN
R2125   REVNO, ZERO BEING USED AS THE REVISION NUMBER OF A NEW PROGRAM OR SUBROUTINE.  ERROR EXITS ARE PROVIDED FOR ANY
R2127   VIOLATION OF THESE CONSTRAINTS.  WITH X5 SET TO THE FIRST WORD OF THE ADJECTIVE, ENTRY IS:
R2129              TS           Z,SC          Z,S2          PROG ADJ

 2130   TRANSFD Q  NA           N,X5          W TRANSFD     SHUD B REV + 1      BRANCH IF ADJECTIVE ISN'T "TRANSFERRED".
 2132              NA           5,1           W TRANSFD +1  HOWZAT
 2133              SM           SWITCH        B2 B13        SWITCH              SET SWITCHES FOR MERGING AND XFERRED IN.
 2135              WD           4 C6          1 C6          5,2
 2136              TS           W NEW         N,X5          C,+2                FOLLOW NEW ASSEMBLY PROCEDURE.

 2138   PROG ADJ   NA           N,X5          W NEW         SHUD B REV
 2139              TX           ZERO          -             REVNO               REVISION NUMBER = 0 IF NEW.
 2141              TS           Z,X5,3        -             N,S2                STEP WORD INDEX AND EXIT.

 2143   SHUD B REV TS           Z,X5          WHODUNIT      TRANSFD Q           IN CASE WORD IS NOT "REVISION",
 2145              NA           N,X5          W VERSION     C,+3                "VERSION", OR "TRANSFERRED".
 2147              NA           TASK MSG      W ASSMBLY     HOWZAT
 2148              NA           6,16          W FROM        NEW VERS            BRANCH ON RECOGNIZING VERSION ASSEMBLY.
 2150              NA           N,X5,1        W REVISON     HOWZAT
 2151              NA           N,X5,2        BLANKS        HOWZAT              BRANCH IF WORD UNRECOGNIZED.

 2153   CVRT REVN  SWE, ONES    5,2           12            Z,S1                LENGTH OF REVISION NUMBER.
 2155              LA           FOUR          Z,S1          LONG REVN           FOUR AND UP IS ILLEGAL.
 2157              LA, CHAR8    OCTAL 20      5,2           NDEC REVN           ERROR IF REVISION NO. NOT HEX.
 2159              WA           L SIXES       Z,S1          Z,S0
 2160              WA           N,X5          N,S0          COMMON              ZERO LENGTH LOOKS NON-DECIMAL LENGTH 1.
 2162              NA, DECTEST  COMMON        ZERO          NDEC REVN           ERROR IF REVISION NO. NOT DECIMAL.

 2164              TS           Z,X5,2        Z,X4          PHI A2D             CONVERT ALF-DEC, USING S0, S3, R7.
 2166              RESERVE      1
 2167   NORM REVN  NA, CHAR1    4,0           ZERO          SAVE REVN
 2168              LA           ZERO C1       N,X4          SAVE REVN           SUPPRESS LEADING ZEROS BUT LEAVE LONE 0.
 2170              SWS, C1T7    N,X4          A,1,L         N,X4                SIMULTANEOUSLY LEFT-NORMALIZE...
 2172              TS           Z,S1,1        -             NORM REVN           ...AND DECREMENT CHARACTER COUNT.

 2174   SAVE REVN  SWS, CHAR6   Z,S1          12,L          N,X5,1              STORE ADJUSTED LENGTH.
 2176              TX           Z,X5          -             WHODUNIT
 2177              NA           N,X5,3        W OF          HOWZAT              ERROR IF 3RD WORD IS NOT "OF".
 2179   SET REVN   SM           SWITCH        BIT 10        SWITCH              SIGNIFY REVISION RATHER THAN NEW.
 2181              TS           NORM REVN -1  REVNO         N,S2                FETCH DECIMAL REVISION NUMBER AND EXIT.

R2183   PROCEDURE TO CUSS A REVISION NUMBER OF 4 OR MORE DIGITS.

 2184   LONG REVN  TN           N,X5          2             LREVN MSG +3
 2185              S, YUL TYPER LREVN MSG     AMTF +5       REJEC DIR

R2186   PROCEDURE TO CUSS A NON-DECIMAL REVISION NUMBER.

 2187   NDEC REVN  TX           N,X5          -             UDRVN MSG +3
 2188              S, YUL TYPER UDRVN MSG     AMTF +4       REJEC DIR

# Page 89
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  49        PAGE  49

P2189              SUBROUTINE IN PASS 0 TO DECODE AND STANDARDIZE A COMPUTER NAME.  THE WORD "MOD" IS IGNORED IF IT PRE-
R2191   CEDES THE COMPUTER NAME.  THE RAW NAME IS STORED IN COMP NAME.  ERROR EXIT IF NAME IS MORE THAN 4 CHARACTERS
R2193   LONG.  IF THE NAME BEGINS WITH A DIGIT, IT IS SHIFTED RIGHT 4 CHARACTERS AND "MOD " INSERTED (IN THE SENTENCE
R2195   ONLY, NOT IN COMP NAME).  WITH X5 SET TO THE WORD IN THE SENTENCE, ENTRY IS:

R2197              TS           Z,SC          Z,S2          DECOD CPN           (THIS IS IN TRANSFER VECTOR AT 0,131.)



 2199   DECOD CPN  NA           N,X5          W MOD         C,+2
 2200              TS           6,55          COMMON        COVER UP       C    MOVE UP SENTENCE TO COVER "MOD".

 2202              LA           ONES          N,X5          CUS NO COM          BRANCH IF COMPUTER NAME IS MISSING.
 2204              LA, CHAR6    5,2           4 C6          C,+3
 2205              TN           N,X5          2             LCPN MSG +3
 2206              S, YUL TYPER LCPN MSG      AMTF +5       REJEC DIR           ERROR IF NAME LONGER THAN 4 CHARACTERS.

 2208              TX           N,X5          -             COMP NAME
 2209              NA           COMP NAME     BLANKS        C,+2
 2210   CUS NO COM S, YUL TYPER BLCPN MSG     AMTF +3       REJEC DIR           CUSS BLANK COMPUTER NAME AND ABORT.
 2212              EX           PAR MANUF     C1T4          COMPUTER            FORM UP A BLANKLESS COMPUTER NAME.
 2214              SSL, SEVEN   5,2           12            C,+0                SELECT ON LENGTH OF COMPUTER NAME.
 2216              TS, CHAR1    COMP NAME     COMPUTER      C,+4
 2217              TS, CHAR2    COMP NAME     COMPUTER      C,-1
 2218              TS, CHAR3    COMP NAME     COMPUTER      C,-1
 2219              TS, CHAR4    COMP NAME     COMPUTER      C,-1
 2220              SS           BLANKS        C5T8          N,X5                ENTER HERE FOR GENERAL COMPNAME FIXER.
 2222              LA           TEN C1        N,X5          N,S2                EXIT IF NAME DOES NOT BEGIN WITH DIGIT.

 2224   MOD CHEK 3 LA, CHAR3    5,0           9 C3          C,+4                BUT EXIT IF 3RD CHARACTER IS ALSO DIGIT.

 2226              SWS, ONES    N,X5          A,4           N,X5
 2227              SS           W MOD         C1T4          N,X5
 2228              WA           5,2           4 C6          5,2                 INSERT "MOD" AND ADJUST LENGTH.
 2230              TX           Z,S2          -             Z,SC



R2231   MINOR SUBROUTINE IN PASS 0 TO CLOSE UP THE SENTENCE SO AS TO COVER UP THE WORD JUST EXAMINED.  ENTRY IS:

R2233              TS           6,55          COMMON        COVER UP       C

 2234   COVER UP   IT           5,3           6,55          N,X5           C    MOVE UP REST OF SENTENCE.
 2236              MT           ONES          2             N,AU2,1        C    GUARANTEE END SIGNAL.
 2238              TX           COMMON        -             6,55                RESTORE WORD REPLACED BY EOI AND EXIT.



R2240   PROCEDURE TO CUSS AN UNRECOGNIZED WORD WHICH WAS SET UP BY PUTTING ITS ADDRESS IN WHODUNIT.  (SEE XFER VECTOR).

 2242   HOWZ THAT  TN           N,AU1         2             WUNRC MSG +3
 2243              S, YUL TYPER WUNRC MSG     AMTF +5       REJEC DIR

# Page 90
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  50        PAGE  50

P2244              SUBROUTINE IN PASS 0 TO DECODE NOUN AND NAME.  THE NOUN IS EITHER "PROGRAM" OR "SUBROUTINE".  THE
R2246   PROGRAM OR SUBROUTINE NAME IS STORED IN PROGNAME.  ERROR EXIT IF NAME IS LONGER THAN 8 CHARACTERS.  ENTRY IS:

R2248              TS           Z,SC          Z,S2          DECOD PSR           WITH X5 SET TO THE WORD IN THE SENTENCE.

R2250   BIT 9 OF THE SWITCH REGISTER IS SET TO 0 IF PROGRAM OR 1 IF SUBROUTINE.



 2251   DECOD PSR  NA           N,X5          W PROGRAM     C,+2
 2252              TS           Z,X5,3        -             WHAT PROG           LEAVE SWITCH ALONE IF PROGRAM.

 22532             NA           N,X5          W SEGMENT     C,+3
 22534             SM           SWITCH        BIT 7         SWITCH              SET SEGMENT FLAG AND TREAT LIKE PROGRAM.
 22536             TS           Z,X5,3        -             WHAT PROG

 2254   FINGER     TX           Z,X5          -             WHODUNIT       S
 2255              NA           N,X5,1        W SUBROTI     HOWZAT
 2256              NA           N,X5,2        W NE          HOWZAT              BRANCH IF UNRECOGNIZED NOUN.
 2258              SM           SWITCH        BIT 9         SWITCH

 2259   WHAT PROG  NA           5,1           BLANKS        LONG PRGN           BRANCH IF NAME IS TOO LONG.
 2261              NA           N,X5          BLANKS        C,+2
 2262              S, YUL TYPER BLPSN MSG     AMTF +3       REJEC DIR           CUSS BLANK PROGRAM/SUBRO NAME AND ABORT.
 2264              TS           N,X5,3        PROG NAME     N,S2                STORE NAME AND EXIT.

 2266   LONG PRGN  TN           N,X5          2             LPRGN MSG +3
 2267              S, YUL TYPER LPRGN MSG     AMTF +5       REJEC DIR           CUSS NAME OF MORE THAN 8 CHARACTERS.



R2269   ENTRIES TO ROUTINES IN SERVICE MODULE.

 2270   DO BACKUP  TS           Z,SC          Z,AU1         SERVICE
 2271   PRINT PSR  TS           Z,SC,1        Z,AU1         SERVICE
 2272   PUNCH PSR  TS           Z,SC,2        Z,AU1         SERVICE
 2273   XFER PSR   TS           Z,SC,3        Z,AU1         SERVICE

 2274   ADD COMP   TS           Z,SC,4        Z,AU1         SERVICE
 2275   RMOV COMP  TS           Z,SC,5        Z,AU1         SERVICE
 2276   PASS STAT  TS           Z,SC,6        Z,AU1         SERVICE
 2277   MANU STAT  TS           Z,SC,7        Z,AU1         SERVICE



R2279   GENERAL ENTRY TO SERVICE MODULE ROUTINES.

 2280   SERVICE    SWE, CAC3    BANK 1        32            Z,X0
 2281              WD           Z,SH          Z,AU1         Z,AU1
 2282              WA           Z,AU1         L SERVICE     Z,AU1
 2283              TX           N,AU1         -             Z,SC

# Page 91
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  51        PAGE  51

P2284              SUBROUTINE IN PASS 0 TO DECODE AN AUTHOR NAME AND STORE IT IN STANDARDIZED FORM IN AUTHNAME AND
R2286   AUTHNAME+1 AND IN THE SENTENCE REPLACING THE FIRST WORD OF THE AUTHOR NAME.  STANDARDIZING HERE MEANS CLOSING UP
R2288   THE WORDS WITH ONLY THE NON-BLANK TERMINATORS INTERVENING.  ERROR EXITS IF THE AUTHOR NAME IS MISSING OR IS
R2290   LONGER THAN 16 CHARACTERS WHEN STANDARDIZED.  WITH X5 SET TO THE FIRST WORD, ENTRY IS:

R2292              TS           Z,SC          Z,S3          DCOD AUTH



 2293   DCOD AUTH  TX           Z,X5          -             Z,X4                SAVE LOCATION OF FIRST WORD.
 2295              TX           Z,X5,2        -             Z,S2                SET UP ADDRESS FOR CLOSING UP.
 2297              LA           ONES          N,X5          CUSS NAUT           ERROR IF AUTHOR NAME IS MISSING.
 2299              TS           ZERO          Z,R6          C,+2                INITIALLY CLEAR LENGTH COUNTER.
 2301   HOW LONG   WA           Z,R6          ONE           Z,R6                ADD LENGTH OF TERMINATOR.
 2303              SWE, CHAR8   N,X5,3        12            COMMON
 2304              NA           COMMON        ZERO          C,+2
 2305              S, YUL TYPER BAUTH MSG     AMTF +4       REJEC DIR           CUSS BLANK WORD IN AUTHOR NAME, ABORT.
 2307              WA           Z,R6          COMMON        Z,R6                ADD LENGTH OF COMPONENT WORD.
 2309              NA           N,X5          ONES          HOW LONG

 2310              LA           Z,R6          OCTAL 20      LAUTH OK
 2311              S, YUL TYPER LAUTH MSG     AMTF +3       REJEC DIR           ERROR IF NAME MORE THAN 16 CHARACTERS.

 2313   LAUTH OK   TX           Z,X4          -             Z,X5
 2314              LA           ONES          4,5           SAVE AUTH           BRANCH IF 1-WORD AUTHOR NAME.

 2316              LA, CHAR6    4,2           7 C6          C,+2
 2317              TX           Z,S2,1        -             -                   IF CLOSING-UP BEGINS IN WORD 2.
 2319              TX           4,2           -             COMMON
 2320              SSL, SEVEN   4,2           12            PUT CHAR       C    MOVE TERMINATOR OF FIRST WORD.
 2322              TS           Z,X5,3        -             CLOS AUTH +1

 2323   CLOS AUTH  TX           N,X5,1        -             COMMON         C    MOVE TERMINATOR CHARACTER.
 2325              TN           N,X5,2        2             COMMON
 2326              SWE, CHAR8   N,X5          12            Z,S0
 2327              TS           Z,SC          Z,S1          MOVE CARS +3        INSERT COMPONENT WORD.
 2329              NA           5,3           ONES          CLOS AUTH
 2330              SWS, CHAR6   Z,R6          12,L          4,2                 LENGTH OF STANDARDIZED NAME.

 2332   SAVE AUTH  TX           N,X4          -             AUTH NAME
 2333              TS           4,1           AUTH NAME +1  N,S3                STORE AUTHOR NAME SEPARATELY AND EXIT.

# Page 92
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  52        PAGE  52

P2335              SUBROUTINE IN PASS 0 TO MOVE PART OF A SENTENCE.  ASSUMES A PREVIOUS ENTRY TO PUT CHAR AND STOPS
R2337   AFTER MOVING THE WORD WHOSE ADDRESS IN X4, OR BEFORE IF THAT WORD HAS LENGTH 0.  ENTRY IS:

R2339              TS           Z,SC          Z,S3          WRIT OBJC



 2340   WRIT OBJC  SWE, CHAR8   N,X5,1        12            Z,S0                LENGTH OF COMPONENT WORD.
 2342              TS           Z,SC          Z,S1          MOVE CARS           MOVE ALL BUT 1ST CHAR OF WORD.
 2344              TN           N,X5          2             COMMON         C    MOVE 1ST CHARACTER OF NEXT WORD.
 2346              NA           Z,X5,2        Z,X4          WRIT OBJC

 2347              SWE, CHAR8   N,X5          12            Z,S0
 2348              LA           Z,S0          ZERO          N,S3                EXIT IF LAST WORD HAS ZERO LENGTH.
 2350              TS           Z,S3          Z,S1          MOVE CARS           MOVE LAST WORD AND EXIT.



R2352              SUBROUTINE IN PASS 0 TO MOVE THE CHARACTERS OF A WORD, ASSUMING A PREVIOUS ENTRY TO PUT CHAR.  WITH
R2354   THE WORD IN COMMON AND COMMON+1 AND THE FIRST CHARACTER MOVED, ENTRY IS:

R2355              TS           Z,SC          Z,S1          MOVE CARS

 2356   MOVE CARS  SWS, ONES    COMMON        A,1,L         COMMON
 2357              SWS, ONES    COMMON +1     A,1,L         COMMON +1
 2358              SS           COMMON +1     CHAR8         COMMON              SHIFT COMMON AND COMMON+1 LEFT 1 CHAR.
 2360              SS           BLANKS        CHAR8         COMMON +1      C    MOVE ONE CHARACTER.
 2362              NA           Z,S0,1        ONE           MOVE CARS
 2363              TX           Z,S1          -             Z,SC



R2364   MINOR SUBROUTINE TO POSITION YULPROGS JUST AFTER THE LABEL.  ENTER AT POSIT YUL IN TRANSFER VECTOR.

 2366   POSIT REW  TS           Z,X0          Z,S2          PHI TAPE            SAVE X0.
 2368              RW,1         -             -             -                   (USUALLY SUPERFLUOUS).
 2370              TS           L STOPPER     Z,X0          PHI TAPE
 2371              RF,1         0,0           -             -
 2372              TS           Z,S2          Z,X0          PHI TAPE            RESTORE X0.
 2374              RF,1         -             -             -
 2375              TX           Z,S3          -             Z,SC

# Page 93
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  53        PAGE  53

P2376              SUBROUTINE IN PASS 0 TO FIND AN AUTHOR NAME IN THE YUL FILE DIRECTORY.  WITH THE NAME IN AUTHNAME,
R2378   ENTRY IS   TS           ONES          1,6           FIND AUTH      C    RETURNS TO L+2 WITH ADDRESS OF AUTHOR
R2380   NAME IN X3 IF FOUND, OR TO L+1 WITH ADDRESS OF NEXT ALPHA-EARLIER AUTHOR NAME IN X5 (N,X5 = 1,6 IF NONE) IF NOT.



 2382   FIND AUTH  SWE, CAC3    1,9           16            Z,X3           C    ADDRESS OF ALPHA-EARLIEST NAME.
 2384              TS           L END THR     Z,X5          C,+2           C    INITIALIZE ADDR OF PREVIOUS NAME.
 2386              SWS,THREAD10 3,1           12            Z,X3           C    FOLLOW THREAD TO NEXT NAME.
 2388              LA           AUTH NAME     N,X3          PLAC AUTH      C    BRANCH WHEN THIS NAME NOT GREATER.
 2390              TS           Z,X3          Z,X5          C,-2           C    UPDATE ADDR OF PREVIOUS NAME.

 2392   PLAC AUTH  LA           N,X3          AUTH NAME     C,+2           C    BRANCH ON EQUALITY OF 1ST 8 CHARACTERS.
 2394              TX           -             -             -                   OTHERWISE EXIT ON NO MATCH.

 2396              TX           Z,X3          -             Z,AU1          C
 2397              SS           3,1           THREAD 11     Z,AU1          C    ADDR OF 2ND 8 CHARS OF FOUND NAME.
 2399              NA           N,AU1         AUTH NAME +1  C,+2           C    BRANCH IF MATCH FAILS ON 2ND HALF.
 2401              TX           Z,SC,1        -             -                   EXIT SKIPPING WHEN NAME IS FOUND.
 2403              LA           N,AU1         AUTH NAME +1  PLAC AUTH -1   C    LOOK AGAIN WHEN FOUND NAME SMALLER.
 2405              TX           -             -             -



R2406              SUBROTUINE IN PASS 0 TO INCLUDE THE AUTHOR NAME GIVEN IN AUTHNAME IN THE YUL FILE DIRECTORY.  ENTRY:
R2408              TS           ...           ...           ADD AUTHR           WITH X5 SET UP BY FIND AUTH.  RETURNS
R2410   WITH ADDRESS OF AUTHOR NAME IN X3.



 2411   ADD AUTHR  TS           Z,SH          Z,S3          FIND PAIR      C    FIND 2 CONSECUTIVE UNUSED LOCATIONS.
 2413              TX           AUTH NAME     -             N,X3                STORE 1ST HALF OF NAME.
 2415              TX           PLUS ZERO     -             3,1                 FLAG TO SIGNIFY AUTHOR, NOT PROG OR SUB.
 2417              SWS,ATHRED10 Z,X3          24,L          3,1                 PROGRAM THREAD OF BARREN AUTHOR TO SELF.
 2419              NA           Z,X5          L END THR     2ND AUTHR           BRANCH IF NOT ALPHA-EARLIEST AUTHOR.

 2421              SWS,BTHRED10 1,9           4             3,1                 INSERT AT HEAD OF LIST.
 2423              SWS, CAC2    Z,X3          16,L          1,9
 2424              TS           Z,SC,3        -             FIND SLOT      C    FIND A SINGLE UNUSED LOCATION.

 2426   2ND AUTHR  SS           5,1           BTHRED10      3,1                 INSERT NEW NAME IN LIST IN ALPHABETICAL
 2428              SWS,BTHRED10 Z,X3          12,L          1,9                 ORDER.
 2430              TS           -             -             FIND SLOT      C    FIND A SINGLE UNUSED LOCATION.

 2432              SS           Z,X5          THREAD 11     3,1                 SET THREAD TO 2ND HALF OF NAME.
 2434              TS           AUTH NAME +1  N,X5          N,S3                STORE SECOND HALF OF NAME AND EXIT.

# Page 94
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  54        PAGE  54

P2436              SUBROUTINE IN PASS 0 TO FIND THE ADDRESS OF A SINGLE UNUSED LOCATION IN THE YUL FILE DIRECTORY.  IF
R2438   THERE ARE NO INTERNAL SLOTS (AS FROM AN EARLIER DELETION), THE DIRECTORY IS LENGTHENED BY 2 WORDS, ONLY THE
R2440   FIRST BEING RESERVED.  ENTER BY COSEQUENCE CALL TO  FIND SLOT .  THE ADDRESS IS RETURNED IN X5.



 2442   FIND SLOT  SWE, CAC3    1,8           32            Z,X5           C    SET UP ADDRESS IF INTERNAL.
 2444              NA           Z,X5          L END THR     NOT ADD1       C    BRANCH IF AN INTERNAL LOCATION.

 2446              TX           1,8           -             Z,X5           C    USE END OF DIRECTORY AS ADDRESS.
 2448              EX           1,8           CAC1          5,1            C    THREAD FOLLOWING LOCATION INTO LIST.
 2450              WA           1,8           ONE           1,8            C
 2451              SWS, CAC1    1,8           32,L          1,8            C    NEW SLOT HEADS THE LIST.
 2453              WA           1,8           ONE           1,8                 FINISH LENGTHENING AND EXIT.

 2455   NOT ADD1   SS           N,X5          CAC1          1,8            C    DELETE LOCATION FROM LIST.
 2457              EX           Z,X5          CAC3 M1       Z,R5           C    SET UP TO SEE IF A PAIR IS AFFECTED.
 2459              TS           1 COMMA 8     Z,X2          PAIR SRCH +4   C    ADDRESS OF INITIAL THREADS.

 2461   PAIR SRCH  SWE, CAC3    N,X2          16            Z,X2           C    FOLLOW THE THREAD THROUGH PAIR LIST.
 2463              NA           Z,X2,1        Z,R5          C,+2           C    BRANCH IF PAIR NOT CONTAIN THIS SLOT.
 2465              SS           N,X2          CAC2          N,X4                SEW UP GAP AROUND PAIR, EXIT.
 2467              LA           ONES          N,X2          N,SC,1         C    EXIT IF END OF PAIR LIST.
 2469              TS           Z,X2          Z,X4          PAIR SRCH      C    UPDATE ADDRESS OF PREVIOUS PAIR.



R2471              MINOR SUBROUTINE IN PASS 0 TO TYPE OUT A TASK MESSAGE, SUCH AS "ASSEMBLY FOR MOD 3C", AND THE OBJECT
R2473   OF THE TASK, SUCH AS "NEW PROGRAM BUGGY BY JOE BLOW".
R2474   ENTRY IS   TS           Z,SC          Z,X0          TYP TKOBJ



 2475   TYP TK OBJ S, YUL TYPER TASK MSG      AMTF +4       C,+1
 2476              S, YUL TYPER OBJCT MSG     A +7          0,0



R2477              SUBROUTINE IN PASS 0 TO VACATE A PAIR OF WORDS IN THE DIRECTORY.  CSC CALL WITH ADDRESS IN AU1.
R2479   ENTER AT 0,133 IN TRANSFER VECTOR.

 2480   GIVE PR    TX           1,8           -             N,AU1          C    MAKE 2ND WD POINT ALONG PAIR+SLOT LISTS.
 2482              SWS, CAC1    Z,AU2         32,L          1,8            C
 2483              SWS, CAC2    Z,AU2         16,L          1,8            C    SET PAIR+SLOT POINTERS TO 1ST WD.
 2485              SWS, CAC1    Z,AU1         32,L          N,AU2               LET WD 1 POINT TO WD 2, EXIT.

# Page 95
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  55        PAGE  55

P2487              SUBROUTINE TO FIND A COMPUTER NAME IN THE YUL FILE DIRECTORY.  WITH NAME IN  COMP NAME , ENTRY IS
R2489   L          TS           ...           ...           FIND COMP      C    RETURNS WITH ADDRESS OF THE NEXT LOWER
R2491   NAME IN R4 (OR ZERO IF NONE) AND WITH ADDRESS OF NAME (OR NEXT HIGHER IF NO MATCH) IN X0, TO L+2 IF NAME FOUND,
R2493   OTHERWISE TO L+1.  FIND COMP IS IN THE TRANSFER VECTOR AT 0,134.


 2494   FIND CNAM  SWE, CAC3    1,9           32            Z,X0           C    GET THREAD TO 1ST COMPUTER NAME.
 2496              TS           ONES          1,6           C,+2           C    SET UP LIMITING VALUE.

 2498              SS           N,X0          THREAD 10     Z,X0           C    FOLLOW THREAD TO NEXT HIGHER NAME.
 2500              LA, C1T4     COMP NAME     0,0           C,+2           C
 2501              TS           Z,X0          Z,R4          C,-2           C

 2502              NA, C1T4     COMP NAME     0,0           C,+2           C
 2503              TX           Z,SC,1        -             -                   EXIT SKIPPING IF NAME FOUND.
 2505   NEWP FITS  TS           -             -             -                   EXIT WHEN NAME NOT FOUND.



R2507              SUBROUTINE TO FIND A PROGRAM OR SUBROUTINE NAME IN THE DIRECTORY.  WITH NAME IN  PROG NAME , ENTRY IS
R2509   L          TS           ...           ...           FIND PROG      C    IF NAME IS FOUND, RETURN IS TO C+1 WITH
R2511   LOCATION IN X3 AND LOCATION OF PRECEDING NAME IN X2.  IF NOT FOUND, RETURN IS TO L+2 WITH B7,6 IN X3 AND LOCA-
R2513   TION OF LAST PROGRAM NAME IN X2.


 2514   FIND PROG  TX           Z,X0          -             Z,X2           C
 2515              TX           Z,X0          -             Z,X3           C    TO SET BANK INDICATOR AND BIT 48.
 2517              SWS,THREAD10 N,X0          12            Z,X3           C    THREAD TO FIRST PROGRAM.
 2519              TS           PROG NAME     1,6           C,+3           C    ENSURE APPARENT FINDING ANYWAY.

 2521              TX           Z,X3          -             Z,X2           C
 2522              SS           2,1           THREAD 10     Z,X3           C    PROGRAM-TO-PROGRAM THREAD.
 2524              NA           N,X3          PROG NAME     C,-2           C

 2525              TX           ONES          -             1,6            C    RESTORE END-OF-LIST SENTINELS.
 2527              NA           3,1           ONES          N,SC,1         C    EXIT IF REALLY FOUND.
 2529              TX           Z,SC,1        -             -                   EXIT SKIPPING IF NOT FOUND.


R2531   MINOR SUBROUTINE IN PASS 0 TO LABEL YULPROGS.  ENTER AT LABEL YUL IN TRANSFER VECOTR.

 2533   LABL TEST  NN           NON WISE      ZERO          TYP NON YS          TYPE COUNT OF NON-YUL-DIRECTORS IF NZ.
 2535              SS           N,X1          BIT 35        FRAME
 2536              SS           ZERO          BIT 35        N,X1                REMOVE TAPE PUNCH CALL BIT FROM LABEL.
 2538              TX           1,8           -             Z,SH
 2539              CC           N,X1          -             N,SH
 2540              TS           1,1           FIX SNACH +1  PHI LABEL           ORTHOCOUNT AND WRITE YULPROGS LABEL.
 2542              WF,1         1,0           -             -
 2543              TS           1,2           FIX SNACH +2  PHI SNACH           UNDO APPARENT TYPE-3-DISPOSITION SNATCH
 2545   FIX SNACH  ALF,3        N00<0:01YULPROGS                                CAUSED BY LABELING.
 2547              SS           FRAME         BIT 35        N,X1
 2548              TS           Z,X5          Z,S3          POSIT REW           POSITION AFTER LABEL AND RETURN.

# Page 96
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  56        PAGE  56

P2550              SUBROUTINE TO FIND THE ADDRESS OF AN UNUSED WORD PAIR IN THE YUL FILE DIRECTORY.  ENTRY IS
R2552   L          TS           ...           ...           FIND PAIR      C    RETURNS WITH ADDRESS IN X3.



 2554   FIND PAIR  SWE, CAC3    1,8           16            Z,X3           C    GET ADDRESS OF FIRST UNUSED PAIR.
 2556              NA           Z,X3          L END THR     NOT ADD 2      C    BRANCH IF ADDRESS NOT VACUOUS.

 2558              TX           1,8           -             Z,X3           C    THUS UNUSED PAIR IS AT END OF THE FILE.
 2560              WA           1,8           TWO           1,8                 LENGTHEN END MARKER ACCORDINGLY, EXIT.

 2562   NOT ADD2   TS           1 COMMA 8     Z,X4          C,+2           C    A WORD PAIR IS ALSO TWO SINGLETONS.
 2564              TX           Z,X2          -             Z,X4           C
 2565              SWE, CAC3    N,X4          32            Z,X2           C    THREAD UNTIL FIRST SINGLETON.
 2567              NA           Z,X2          Z,X3          C,-2           C

 2568              WA           Z,X3          ONE           Z,R3           C    FORM ADDRESS OF SECOND SINGLETON.
 2570              SS           N,X2          CAC1          N,X4           C    SEW UP GAP AROUND 1ST SINGLETON.
 2572              TS           1 COMMA 8     Z,X4          C,+2           C    RESET SINGLETON THREAD.

 2574              TX           Z,X2          -             Z,X4           C
 2575              SWE, CAC3    N,X4          32            Z,X2           C    THREAD UNTIL 2ND SINGLETON.
 2577              NA           Z,X2          Z,R3          C,-2           C

 2578              SS           N,X2          CAC1          N,X4           C    SEW UP GAP AROUND 2ND SINGLETON.
 2580              SS           3,1           CAC2          1,8                 SEW UP GAP AROUND PAIR AND EXIT.



R2582              SUBROUTINE IN PASS 0 TO VACATE A WORD IN THE DIRECTORY.  COSEQUENCE CALL WITH ADDRESS IN AU1.

 2584   GIVE SLOT  SS           1,8           CAC1          N,AU1          C    MAKE WORD POINT ALONG SLOT LIST.
 2586              SWS, CAC1    Z,AU1         32,L          1,8            C    SET SLOT POINTER TO WORD.
 2588              HA           Z,AU1         ONE           Z,AU2          C    FORM ADDRESSES OF OTHER HALF OF PAIR.
 2590              SWE, CAC3    N,AU1         32            Z,AU1          C    FOLLOW THE SLOT THREAD.
 2592              LA           ONES          N,AU1         N,SC,1         C    EXIT WHEN WORD IS NOT PART OF VOID PAIR.
 2594              NA           Z,AU1         Z,AU2         C,-2           C    FALL THRU IF OTHER HALF IS VACANT.
 2596              SS           ZERO          ONE           Z,AU1          C
 2597              SM           Z,AU2         ONE           Z,AU2          C    FORCE ORDER OF ADDRESSES IN AU1, AU2.
 2599              SS           1,8           CAC2          N,AU2          C
 2600              SWS, CAC2    Z,AU1         16,L          1,8                 INCLUDE PAIR IN PAIR LIST AND EXIT.

# Page 97
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  57        PAGE  57

P2602              ROUTINE TO RESPOND TO REQUESTS TO MANUFACTURE AN EXISTING PROGRAM.  LOOKS ON DISC FOR THE SPECIFIED
R2604   REVISION; IF LATEST WAS SPECIFIED AND IS NOT ON DISC, USES TAPE.  ABORTS IF SPECIFIED REVISION IS UNMANUFACTUR-
R2605   ABLE.  IF ALL IS WELL, LOADS THE MANUFACTURING PROGRAM FOR THE NAMED COMPUTER.



 2606   MANUFACT   TS           NEXT NAME     SERCH KEY     TAPE SRCH -1   C    SET GRP B TO SEARCHING FOR END SYLT.
 2608              TS           W MNUFACT     TASK MSG      MANUF OBJ           BREAK DOWN AND REFORM REST OF DIRECTOR.
 2610              TS           CAC3          SYMS OR NO    ELIM PR SU +1  C    ASSUME NO SYM TAB CALL, TYPE TASK, OBJ.

 2612              TS           CPUT CN C6    PUT CN C6     FIND COMP      C    SEEK COMPUTER NAME IN DIRECTORY.
 2614              S, YUL TYPER UNRCO MSG     AMTF +4       TYP ABORT           CUSS AND EXIT IF NOT THERE.

 2616              SSL, ONE     0,1           0             C,+1                CAN WE MANUFACTURE FOR THIS COMPUTER...
 2618              S, YUL TYPER N MANU MSG    AMTF +5       TYP ABORT           CUSS AND EXIT IF NOT.

 2620              TS           C,+1          TYP ABORT     SAY ABORT +1
 26201             TS           TYP WREVN     2DIG REVN -1  C,+1                ABORT MUST RESTORE REVISION-NO. CUSSER.
 26203             TX           SAY ABORT     -             TYP ABORT      S    ..AND THEN RESTORE ITSELF.
 26205  SAY ABORT  S, MON TYPER Y ABORT       SPRAMR +16    TYP BORTA

 26206             TS           C,+1          2DIG REVN -1  TYP WREVN +1
 26207             TS           SAY ABORT     TYP ABORT     C,+1                WRONG-REV-NO. MUST RESTORE ABORT.
 26209             TX           TYP WREVN     -             2DIG REVN -1   S    ..THEN RESTORE ITSELF..
 26211             LA           REVNO         COMMON        OK NOUN +2          ..AND SEE IF REVNO IS REALLY OK FOR MFG.
 26213  TYP WREVN  S, MON TYPER WREVN MSG     SPRAMR +40    TYP ABORT           FALL INTO HERE IF SPEC. REVNO TOO BIG.

 26215             NA, BIT 9    SWITCH        ONES          C,+2
 26216             S, MON TYPER MANSU MSG     SPRAMR +40    TYP ABORT           CUSS AND EXIT IF ASKED TO MANUF SUBRO.
 26218             TS           Z,X0          L COMP NAM    KNOWN PSR           RETURNS IF THE SPECIFIED REVISION NUMBER
 2622              SWE, ONES    REVNO         D,4,L         PHI ARG              IS LESS THAN OR EQUAL TO THE LATEST.
 26222             TS           Z,SC          Z,AU1         YUL D2A ZS
 26223             SM           COMPUTER      PHI ARG       TRONDEX
 26224             SWS, CHAR5   1,1           A,4           TRONDEX             FORM FIRST WORD OF REQUIRED DISC NAME.
 26226             TS           ONES          TRONDEX +2    SAY ABORT -1   C    RESTORE ABORT AND WRONG-REVISION-NO....
 26228             TS           ZERO          COMMON +1     TYP WREVN -2   C    ...AND INITIALIZE LOG-NUMBER LOCATIONS.
 2623              LA           COMMON        REVNO         MANU SEEK           BRANCH IF LATEST REVISION WAS SPECIFIED.

 26232             SWS, C3T5    TRONDEX       A,3,L         WREVN MSG +4
 26234             NA, CHAR3    WREVN MSG +4  ZERO          C,+2
 26235             SWS, C3T5    WREVN MSG +4  A,1,L         WREVN MSG +4
 26236             NA, CHAR3    WREVN MSG +4  ZERO          C,+2
 26237             SWS, C3T5    WREVN MSG +4  A,1,L         WREVN MSG +4        LEFT-NORMALIZE AND ZERO-SUPPRESS.
 26239             S, MON TYPER OLRVN MSG     SPRAM +16     -
 2624              S, MON TYPER WREVN MSG +4  SPRA +8       -                   "OLD REVISION NO.: NN    ".
 26242             LA, CHAR5    ONES          DISC STAT     C,+2
 26243             S, MON TYPER ND NMF MSG    SPRAMR +40    TYP ABORT           WITHOUT DISC, REFUSE TO MANUF OLD REV.

# Page 98
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  58        PAGE  58

P26245  SEARCH THROUGH THE DISC INDEX FOR THE PROGRAM FILE FOR THE THE SPECIFIED REVISION WITH THE HIGHEST LOG NUMBER.

 26247  MANU SEEK  TS           PROG NAME     TRONDEX +1    DISCAP         C
 26248             OCT          -15
 26249             SPEC                                     TRONDEX
 2625              TS           Z,X4          L PROG FIL    GOOD SEEK           GOT ONE.  NOW, IS IT THE RIGHT ONE?
 26252             NA           COMMON -1     ZERO          GOT BINF            BRANCH IF WE GOT A FILE AS SPECIFIED.

 26254             LA           COMMON        REVNO         C,+2                BR IF LATEST IS WANTED BUT NOT ON DISC.
 26256             S, MON TYPER NTHIS MSG     SPRAMR +16    TYP ABORT           "NOT ON THIS DISC".
 26258             LA, C7T8     BIT 37        4,1           MANU TAPE           IF LATEST REV IS GOOD, MANUF FROM TAPE.

 2626              S, MON TYPER DR UMA MSG    SPRAMR +40    TYP ABORT           CUSS AND EXIT IF UNMANUFACTURABLE.
 26262  GOOD SEEK  NA, C7T8     TRONDEX +3    YUL FILE      MANU SEEK           TRY AGAIN IF WRONG TYPE (DISABLED, E.G.)
 26264             LA           TRONDEX +2    COMMON +1     MANU SEEK           TRY AGAIN IF NOT A HIGHER LOG NUMBER.
 26266             TS           TRONDEX +2    COMMON +1     MANU SEEK           RECORD HIGHER LOG NUMBER, TRY AGAIN.

 26268  GOT BINF   TS           COMMON +1     TRONDEX +2    DISCAP         C
 26269             OCT          -1
 2627              SPEC                                     TRONDEX             GET BACK WHOLE INDEX ENTRY FOR WINNER.
 26272             NA, C7T8     TRONDEX +3    YUL FILE      DISASTER            (IF LOG NUMBERS ARE REALLY SCREWED UP).
 26274             LA           BIT 1         TRONDEX +11   GOOD SEEK -1        CUSS AND EXIT IF UNMANUFACTURABLE.

 26276             S, MON TYPER FDISC MSG     SPRA +16      -                   "FOUND ON DISC  ".
 26278             SWE, C5T8    TRONDEX +5    24            COMMON +1           SAVE LOG NUMBER OF LAST REFERENCE.
 2628              EX           TRONDEX +5    C5T8          TRONDEX +5
 26281             SWE, C5T8    YUL LOG       24            COMMON
 26282             DS           COMMON        COMMON +1     COMMON              COMPUTE PERIOD OF IDLENESS.
 26284             LN           FIFTY         COMMON        NO NEW CWD          NO NEW CHARLIE-WORD IF VERY SHORT.

# Page 99
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  59        PAGE  59

P262852 COMPUTE THE DECAY OF THE CHARLIE-WORD (A FIGURE OF MERIT, NAMED FOR ITS DESIGNER, CHARLES P. WERNER) SINCE THE
R262854 LAST USE OF THIS FILE, APPLYING A FACTOR OF 0.8465 FOR EVERY 1000 LOG NUMBERS OF IDELNESS.  THEN ADD 2500 AND
R262856 APPLY A LIMIT OF 10000, SO THAT THE FILE DOES NOT LONG OUTLIVE ITS LAST USE.

 26286             DM           TRONDEX +5    CW FACTOR     TRONDEX +5
 26287             DS           COMMON        THOUSAND      COMMON
 26288             LN           COMMON        ZERO          C,-2                APPLY EXPONENTIAL DECAY FOR IDLENSS.
 2629              DA           TRONDEX +5    CHAS 2500     TRONDEX +5
 26291             LA           TRONDEX +5    DEC 10000     C,+2
 26292             TX           DEC 10000     -             TRONDEX +5          APPLY LIMITED REWARD FOR INDUSTRY.

 26294  NO NEW CWD TS, C1T4     YUL LOG       TRONDEX +5    DISCAP         C    APPLY CURRENT LOG NUMBER AND REWRITE.
 26296             OCT          -12
 26297             SPEC                                     TRONDEX
 26298             SWE, ONES    TRONDEX +6    24            TRONDEX +6          ALIGN DISC ADDRESS OF FIRST SUBFILE.
 2630              TX           ZERO          -             SRCH TEST           WIPE OUT SEARCH UP TAPE...
 26302             NA           SERCH KEY     EOR           C,-1                ...AND WAIT FOR IT TO ABORT.
 26304             TS           FOUND BUF +1  Z,X5          PHI TAPE            FETCH BUFFER NAME AND REWIND TAPE.
 26306             RW,1         -             -             -
 26307             S, DISC READ 5,3           CHK DF ERR +4 TRONDEX +6          READ AUTHMEMO RECORD OF PROGRAM.
 26309             S, MON TYPER DF ERR MSG    SPRAM +16     MDF ERROR           CUSS AND EXIT IF FILE IS UNREADABLE.
 2631              TX           W AUTHMEM     -             5,2
 26311             TX           PROG NAME     -             5,1                 GOOD READ: FILL OUT FIRST THREE WORDS.
 26313             TS           COMPUTER      N,X5          C,+2

 26314  MANU TAPE  TX           ZERO          -             TRONDEX +6          NO DISC ADDRESS MEANS MANUF FROM TAPE.
 2634              SS           0,1           THREAD 10     Z,X0
 2635              TX           CHAR 1        -             TEMP MASK
 26355             TX           PAR MANUF     -             COMMON
 2636              SS           N,X0          TEMP MASK     COMMON              FORM NAME OF MANUFACTURING
 2638              SWE, C1T4    TEMP MASK     A,1           TEMP MASK           PROGRAM FOR THIS COMPUTER.
 2640              NA, TEMPMASK 0,0           BLANKS        C,-2
 2641              TS           Z,SC          Z,X1          RD SUBDRC           GO TO SENTENCE-READ FIRST SUBDIRECTOR.
 2643              S, YUL TYPER SD MIS MSG    AMTF +3       TYP ABORT           CUSS AND ABORT IF NO SUBDIRECTOR.
 2645              SS           W SOURCE C    CHAR 6        LOAD PAS 1          SET TO BACK UP 21 PROGRAMS TO PASS 1.
 2647              S, PHI LOAD  COMMON        2             BASE ADDR           LOAD AND GO TO MANUFACTURING PROGRAM.



R26481  ROUTINE TO RESPOND TO AN OPERATOR'S REQUEST TO CLOSE THE MONAIN TAPE ON THE 2200 AND BEGIN PUNCHING OR WRITING.

 26482  CLOS MONA  TX           Z,X5          -             WHODUNIT
 264821            NA           N,X5,3        W MONAIN      HOWZAT
 26483             TX           Z,X5          -             WHODUNIT
 264831            NA           N,X5,3        W TAPE        HOWZAT
 26484             TX           Z,X5          -             WHODUNIT
 264841            NA           N,X5          ONES          HOWZAT
 26485             LA, CAC3     B36T37        1,0           C,+2                BRANCH IF THERE IS SOME MONAIN DATA.
 26486             S, MON TYPER NO MDS MSG    SPRAMR +24    REJEC DIR           "NO MONAIN DATA STORED".
 26487             SS           ZERO          BIT 35        N,X1                CLEAR MONAIN DATA PRESENCE BIT.
 26488             S, MON PUNCH ZERO          ATAPE PCH +40 ZERO                SEND END-OF-JOB SIGNAL TO MONAIN.
 26489             S, MON TYPER 22 OUT MSG    SPRAMR +24    MANUF RTN           "2200 READY TO DO MONAOUT".

# Page 100
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  60        PAGE  60

P2649              SUBROUTINE TO SEARCH YULPROGS FOR A RECORD WHOSE SECOND WORD IS THE ARGUMENT PROVIDED IN SERCH KEY.
R2651   WHEN FINISHED, WAKES GROUP A AND RESTORES THE END-OF-RECORD WORD TO SERCH KEY.  YULPROGS IS POSITIONED AFTER THE
R2653   RECORD FOLLOWING THE ONE THAT SATISFIED THE SEARCH.  BOTH RECORDS ARE AVAILABLE IN MEMORY VIA X1 AND X2 OF GRP
R2655   B.  THE SEARCH MAY BE CUT OFF IN CASE OF ABORT BY PUTTING A PROCEED IN SRCH TEST.  ENTER AT TAP SERCH IN TRANS-
R2657   FER VECTOR, OR AT TAPE SRCH -1 WHEN THERE IS NO COMPUTER NAME.

 2658              TS           L SERVICE     L COMP NAM    TAP SERCH      C    USE 0000 FOR COMPUTER NAME IF NONE.
 2660   TAPE SRCH  WA           Z,CSC         ONE           N,CSH          C
 2661              TS           Z,SC          Z,CSC         MON WAKE       C    EXIT AND LET GROUP B CARRY ON.

R2663   GROUP B ACTION BEGINS HERE.

 2664              TX           YUL MASKS     -             Z,MXR
 2665              TN           BUF NAMES +6  2             Z,X1                USE ASSEMBLY BUFFERS 7 AND 8.
 2667              HA           SERCH KEY     ONES          2,1                 ENSURE NO FALSE ALARM FIRST TIME.

 2669              TS           Z,X1          Z,X3          PHI TAPE
 2670              RF,1         1,0           -             DISASTER
 2671              TN           Z,X2          2             Z,X1                SWAP BUFFERS.
 2673   SRCH TEST  NA           1,1           SERCH KEY     SRCH TEST -3

 2674              LA           SRCH TEST     ZERO          C,+3                SKIP OUT IF SEARCH WAS CUT OFF.
 2676              LA           N,X1          C5T8          C,+2                ASSUME AGREEMENT IF NO COMPUTER NAME.
 2678              NA, C1T4     1,0           COMPUTER      SRCH TEST -3        SEARCH AGAIN IF WRONG COMPUTER.

 2680   SRCH DONE  TS           Z,X1          FOUND BUF     PHI TAPE
 2681              RF,1         -             -             -
 26812             TX           Z,X2          -             FOUND BUF +1
 2682              TS           EOR           SERCH KEY     MON WAKE       C    SIGNAL SUCCESS OF SEARCH, WAKE GROUP A.
 2684              TX           Z,R0          -             Z,SC                GO TO BED UNTIL NEEDED AGAIN.



R2686              PROCEDURE TO MAKE GROUP B APPEAR TO ANNOUNCE A TASK ABORTION.  IF A SEARCH OF YULPROGS IS IN PROG-
R2688   RESS, HALTS IT AND POSITIONS YULPROGS JUST AFTER THE LABEL.  ENTRY IS IN TRANSFER VECTOR.

 2690   TYP BORTA  S, MON TYPER BLANKS        SPRA +8       -
 2691              TX           ZERO          -             SRCH TEST
 2692              NA           SERCH KEY     EOR           C,-1                WAIT FOR SEARCH TO BE INTERRUPTED.

 2694              TX           FETCH SS1     -             FETCH SSN           RESTORE SUBSTRAND FETCHER.
 2696              TX           NO TP TASK    -             PNCH FRAM           RESTORE TAPE PUNCHING TO INITIAL STATE.
 2698              TS           N,SC,1        SRCH TEST     POSIT YUL           RESTORE INSTRUCTION, POSITION YULPROGS.
 2700              NA           1,1           SERCH KEY     SRCH TEST -3
 2701              TS           YUL MASKS     Z,MXR         SET PG HED          PROCEED TO NEXT TASK.

# Page 101
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  61        PAGE  61

P2703   SUBROUTINE IN PASS 0 TO PEEK AT AND SENTENCE-READ CARDS.  EXITS TO L+2 IF THE NEXT CARD IS A SUBDIRECTOR ("S" IN
R2705   COLUMN 1), OR TO L+1 IF NOT.  ENTER WITH L+1 IN X1 (CALLING FROM BANK 1) OR BY SEQUENCE CALL TO RD SBDIRC IN THE
R2707   TRANSFER VECTOR.

 2708   RD SUBDRC  TX           Z,MXR         -             Z,R6
 2709              TS           YUL MASKS     Z,MXR         NEX DIREC      C
 2710              TS           PHI WAA       Z,X4          PHI PEEK       C    PEEK AT NEXT CARD.
 2712              NA, CHAR1    4,0           S COLUMN 1    NOT S CARD          BRANCH IF NOT A SUBDIRECTOR.

 2714              S, PHI READ  6,1                                             SET UP FOR SENTENCE READING.
 2716   SET COL 81 TS           ONES          6,11          PHI SENTR           BREAK DOWN SUBDIRECTOR.
 2718              TS           Z,R6          Z,MXR         1,1

 2719   NOT S CARD TS           Z,R6          Z,MXR         N,X1                NON-SKIPPING EXIT IN THIS CASE.



R2721              MANUFACTURING SUBROUTINE IN PASS 0 TO WAIT FOR GROUP B TO FIND END SYLT, AND SET IT GOING ON A
R2723   SEARCH FOR THE FIRST SUBSTRAND OF THE PROGRAM BEING MANUFACTURED.  ENTER WITH RETURN IN X4 (BANK 1) OR BY SE-
R2725   QUENCE CALL TO E SYLT OK IN THE TRANSFER VECTOR.  ASSUMES THAT PROG NAME IS SET.  ALTERABLE FOR SYMBOL TABLE.

 2727   EN SYLT OK TX           L GPB STT     -             Z,X3
 2728              NA           SERCH KEY     EOR           GROUP NAP           SLEEP IF GB STILL SEEKING END SYLT.
 2730              TX           ZERO          -             SERCH KEY
 2731              WA           Z,SC          ONE           N,X3
 2732              TS           Z,X4          Z,SC          MON WAKE       C    SET GB GOING AND EXIT.

R2734   GROUP B ACTION AT END SYLT.

 2735   E SYLT LUP TS           Z,X1          Z,X3          RD PARAG
 2740              NA           1,1           PROG NAME     E SYLT LUP          BRANCH IF NOT DESIRED PROGRAM.
 2742              LA           N,X1          C5T8          C,+2                ASSUME AGREEMENT IF NO COMPUTER NAME.
 2744              NA, C1T4     1,0           COMPUTER      E SYLT LUP          LOOK AGAIN IF WRONG COMPUTER.
 2746              LA           SYMS OR NO    1,2           E SYLT LUP          BRANCH IF NOT RIGHT TYPE OF RECORD.
 2748              TS           CAC3          SYMS OR NO    SRCH DONE           USE NORMAL END SEARCH PROCEDURE.



R2752              MANUFACTURING SUBROUTINE IN PASS 0 TO FETCH A SUBSTRAND.  ENTER WITH RETURN IN X4 (BANK 1) OR BY
R2753   SEQUENCE CALL TO FETCH SS IN THE TRANSFER VECTOR.  RETURNS TO L+2 IF THERE IS A SUBSTRAND, OTHERWISE TO L+1.

 2754   FETCH SSN  TS           ZERO          FETCH SSN     AWAIT GB            BRANCH IF GROUP B SEEKING FIRST SS.
 27544             TS           Z,MXR         FETCH SSN     YUL MASKR      C
 2755              TS           Z,X1          Z,X3          RD PARAG
 2756   AWAIT GB   NA           SERCH KEY     EOR           GROUP NAP           SLEEP IF GB STILL SEARCHING.
 2757              TX           FOUND BUF     -             Z,X1
 2758              TS           FOUND BUF +1  Z,X2          PICK EXIT           SET UP GROUP A INDEXES, GET SUBSTRAND.

# Page 102
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  62        PAGE  62

P27585  SUBROUTINE TO READ THE AUTHMEMO RECORD, A SYMBOL TABLE RECORD, OR A PARAGRAPH FROM DISC OR TAPE AS REQUIRED.

 2759   RD PARAG   NA           TRONDEX +6    ZERO          C,+3
 27592             NA           2,1           EOR           FROM TAPE           BRANCH IF USING TAPE, NOT DISC.
 27594             TS           EOR           1,1           FROM TAPE -1        SET UP SECOND EOF RECORD JUST IN CASE.
 2760              WA           TRONDEX +6    A4 MINUS 4    TRONDEX +6          ADD 4 TO DISC ADDR, SUB 4 FROM COUNT.
 2762              NA, C7T8     TRONDEX +6    ZERO          FROM DISC           BRANCH UNLESS RECD WAS LAST OF SUBFILE.
 2764              SWE, ONES    TRONDEX +7    24            TRONDEX +6          MAYBE MOVE UP ADDRESS OF 2ND SUBFILE.
 2766              NA           TRONDEX +6    ZERO          C,+2                BRANCH TO BEGIN 2ND SUBFILE.
 2768              TS           EOR           1,1           PROC DISC -1        END OF FILE.  SEND LAST RECORD OF FILE.
 2770              TX           ZERO          -             TRONDEX +7          SHOW THAT WE ARE IN 2ND SUBFILE.

 2772   FROM DISC  S, DISC READ 1,3           CHK DF ERR +4 TRONDEX +6          READ A PARAGRAPH OF 256 WORDS.
 2774              S, MON TYPER DF ERR MSG    SPRAM +16     MDF ERROR
 2775              TS           PROG NAME     1,1           PROC DISC           SUPPLY PROGRAM NAME AFTER GOOD READ.
 2777   MDF ERROR  S, MON TYPER TRONDEX       SPRAM +16     -
 2778              S, MON TYPER TRONDEX +2    SPRAMR +72    -                   CUSS UNREADABLE FILE (LOG NUMBER IN HEX)
 2780              S, MON TYPER Y ABORT       SPRAMR +16    MANUF RTN           VARY NORMAL ABORT PROCEDURE.

 27819             TS           ONES          1,2           DISC CHEK
 2782   PROC DISC  WA           Z,X2          C 259         Z,CSC
 2783              CC           N,X2          -             N,CSC               MOVE EOR TO RIGHT PLACE.
 27831             NA           2,2           W AUTHMEM     SYMBOLS Q           BRANCH UNLESS ABOUT TO DELIVER AUTHMEMO.
 27833             WA, C5T8     2,71          C 255         MID POINT
 27834             SWE, CAC3    MID POINT     8             MID POINT           FORM NUMBER OF SYMBOL TABLE RECORDS.
 27836             TN           2,5           8             SUBSTRAB
 27837             TS           W SYMBLS 0    E SYLT BAN    SYMBOLS Q +1        PREPARE TO SET UP TITLES ON SYM TAB RCS.

 27839  SYMBOLS Q  NA, C1T6     2,2           W SYMBLS  0   PARA LAST -1        BRANCH UNLESS DELIVERING SYM TAB RECORD.
 27841             LA           MID POINT     ZERO          PARA LAST +1        BRANCH IF NO MORE SYM TAB RECORDS.

 27843             WD           MID POINT     ONE           MID POINT           COUNT DOWN SYMBOL TABLE RECORDS.
 27845             WA           E SYLT BAN    ONE           E SYLT BAN          COUNT UP CHAR 8 OF "SYMBOLSN".
 27847             TS           E SYLT BAN    1,2           FROM TAPE -1

 278478            LA           ONES          1,2           FROM TAPE +2        BRANCH IF DELIVERING LAST PARAGRAPH.
 27848  PARA LAST  WA           MID POINT     ONE           MID POINT           ADVANCE PARAGRAPH NUMBER.
 2785              SWE, LOW5    MID POINT     0             E SYLT BAN          PARAGRAPH NUMBER WITHIN SUBSTRAB WORD.
 27852             WD           N,SC,2        E SYLT BAN    E SYLT BAN          COMPUTE SHIFT COUNT FOR SSL AND TAB.
 27854             OCT          -55
 27855  PARAG YES  TS           MID POINT     1,2           FROM TAPE -1        PUT PARAGRAPH NUMBER INTO RECORD.
 27857             SWS, CHAR5   E SYLT BAN    A,3,L         MANUF SSL
 27858             SWE, SEVEN   MID POINT     5             E SYLT BAN
 27859             WA           L SUBSTRB     E SYLT BAN    Z,AU1               SELECT A SUBSTRAB WORD.
 27861  MANUF SSL  SSL, FOUR    N,AU1                       PARA LAST           GOT TO PARAG YES IF GOT NEXT PARAG NO.

 27868             TS           COMPUTER      N,X1          FROM TAPE +2
 27869  FROM TAPE  TS           -             -             PHI TAPE
 2787              RF,1         1,0           -             DISASTER            DOUBLE-BUFFERED READ.
 2789              TN           Z,X2          2             Z,X1                SWAP BUFFERS.
 2791              LA           SERCH KEY     ZERO          E SYLT LUP +1       RETURN TO EN SYLT OK LOOP.

 27922             TX           FETCH SSN     -             Z,MXR
 2793   PICK EXIT  LA           1,2           CAC3          4,1                 SKIPPING EXIT IF NEW RECD IS PARAGRAPH.
 2795              TX           Z,X4          -             Z,SC                EXIT WITH AUTHMEMO, SYMBOLS, OR EOFRI.

# Page 103
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  63        PAGE  63

P2797              MANUFACTURING AND SIMULATION SUBROUTINE IN PASS 0 TO IGNORE AND CUSS A BAD BUT NOT VITAL SUBDIRECTOR.
R2799   ENTER WITH CARD IN SENTENCE READER AREA AND WITH RETURN IN X4 (BANK 1) OR SEQUENCE CALL TO IGN SUBDR IN THE
R2801   TRANSFER VECTOR.

 2802   IGN SBDIR  S, YUL TYPER IGNOR MSG     AMTF +4       C,+1                TYPE "THEREFORE THIS CARD IS IGNORED:".
 2804              S, YUL TYPER 6,2           A+9           4,0                 TYPE SIGNIFICANT WORDS AND EXIT.


R2806              MANUFACTURING AND SIMULATION SUBROUTINE IN PASS 0 TO CUSS AN UNRECOGNIZED WORD IN A SUBDIRECTOR CARD
R2808   AND CAUSE THE CARD TO BE IGNORED.  ENTER WITH C(WHODUNIT) SET AND RETURN IN X4 (BANK 1) OR SEQUENCE CALL TO
R2810   UNRC SUBR IN THE TRANSFER VECTOR.

 2811   UNRC SBDR  TX           WHODUNIT      -             Z,SH
 2812              TN           N,SH          2             WUNRC MSG +3
 2813              S, YUL TYPER WUNRC MSG     AMTF +5       IGN SBDIR           CUSS BAD WORD AND IGNORE CARD.


R2815              MANUFACTURING SUBROUTINE IN PASS 0 TO PUNCH ON TAPE THE OBJECT MESSAGE, THUS IDENTIFYING COMPLETELY
R2817   THE PROGRAM REPRESENTED.  ENTER WITH RETURN IN X4 (BANK 1) OR BY SEQUENCE CALL TO PCH LEDER IN THE TRANSFER
R2819   VECTOR.  PROVIDE ONE PREFATORY WORD IN FRAME.

 2820   PNCH LEDR  TX           FRAME         -             LEADR MSG
 2821              TN           OBJCT  MSG    7             LEADR MSG +1        MOVE OBJECT MESSAGE FOR PUNCHING.
 2823              TS           Z,SC,7        Z,S1          PCH TITLE
 2824   LEADR MSG  RESERVE      8
 2825              TX           Z,X4          -             Z,SC



R2826              SUBROUTINE IN PASS 0 TO COMBINE THE FUNCTIONS OF THE MONITOR DECIMAL-TO-ALPHABETIC CONVERTER AND LEFT
R2828   ZERO SUPPRESSOR.  SEQUENCE CALL WITH RETURN IN AU1, TO YUL DA LZS IN THE TRANSFER VECTOR WITH ARGUMENT AT N,AU1,
R2830   OR ENTER HERE WITH ARGUMENT IN PHI ARG.  USE EITHER RESULT (FIRST IS AT N,SH UPON RETURN) OR BOTH.

 2832   YUL D2A ZS TS           Z,MXR         Z,AU2         YUL MASKR      C
 2833              SWS, C5T8    PHI ARG       8             PHI ARG
 2834              SWS,DECALFM1 PHI ARG       4             PHI ARG
 2835              SWS,DECALFM2 PHI ARG       2             PHI ARG
 2836              SWS,DECALFM3 PHI ARG       2             PHI ARG             SPREAD LEFT 8 DIGITS TO ALPHABETIC.
 2838              TS           C1T7          TEMP MASK     PHI ARG +1
 2839              SWS, C1T7    TEMP MASK     A,1,L         TEMP MASK
 2840              NA, TEMPMASK PHI ARG +2    ZERO          C,-1
 2841              SS           BLANKS        TEMP MASK     PHI ARG +2          BLANK OUT AS MANY AS 7 LEADING ZEROS.
 2843              TS           Z,AU2         Z,MXR         N,AU1

 2844   PHI ARG    RESERVE      1
 2845              TS           C,-1          C,+1          C,-4
 2846              RESERVE      1

 2847              ALF,4         CARDS PUNCHED BY LOG AND TASK                  THESE MUST FOLLOW PHI ARG +2.

# Page 104
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  64        PAGE  64

P2489   SUBROUTINE TO SEND N WORDS OF ALPHABETIC IDENTIFICATION TO MON-A, TO BE PUNCHED INTO PAPER TAPE IN BLOCK-LETTER
R2851   FORM.  ENTRY IS TO THE TRANSFER VECTOR, THUS:
R2852              TS           Z,SC,(N-1)    Z,S1          PCH TITLE           FOLLOWED BY THE N WORDS TO BE PUNCHED.
R2854   LEAVES CSC SET TO PCH FRAME AS IF FOR DATA TRASNMISSION.

 2855   PTP TITLE  NA           PNCH FRAM     END FLAG Q    IN TP TASK     C    BRANCH IF NO TAPE PUNCHING TASK GOING.
 2857              NA           BKB PLACE     BANK B        SEND DATA      C    CLEAN OUT DATA FRAME BUFFER.
 2859              TS           Z,S0,1        Z,S2          BEG PH ALF     S    FORM HISTORY AND LWA, RETURN TO S MODE.
 2861   BEG PH ALF SS           SWITCH        B34T35        TITL SEND           COPY END FLAG AS BEGIN-PARAGRAPH BIT.
 2863              SS           ZERO          B34T35        SWITCH              CLEAR OUT END FLAG (INCLUDES END TASK).
 2865              TN           Z,X0          2             SAVE XS
 2866              TN           Z,S1          2             Z,X0                SET UP FWA AND LWA OF TITLE.
 2868   TITL SEND  S, MON PUNCH 0,0           ATAPE PCH +16 1,0                 SEND N WORDS OF BLOCK-LETTER 1.0.
 2870              TS           BKB PLACE     Z,SH          BEG PH ALF     C    REMOVE POSSIBLE BEGIN-PARAGRAPH BIT.
 2872              TN           SAVE XS       2             Z,X0
 2873              TS           Z,S0          Z,SC          PCH FRAME -1   C    SET UP CSC FOR CALLER AND RETURN.


R2875   MINOR SUBROUTINE TO INITIALIZE A TAPE PUNCHING TASK WHEN ITS FIRST FRAME OR TITLE IS SUBMITTED.

 2877   IN TP TASK TX           Z,CSH         -             SAVE XS +2     C
 2878              EX           1800 AB SW    B24 B36       SAVE XS        C
 2879              LA           SAVE XS       C5T8          C,+2           C    BRANCH IF RUNNING ON 1800 A.
 2881              S, MON TYPER TAPE B MSG    SPRAMR +32    TYP ABORT           "CAN'T PUNCH TAPE WITH THIS 1800".
 2884              TS           Z,SC          SAVE XS +1    C,+1           S
 2895              TX           L DIRECTY     -             Z,S2
 2896              SS           N,S2          BIT 35        GRADE LIM           SET BIT IF NOT 1ST TAPE PUNCHING TASK.
 2900              SM           SWITCH        C5T8          SAVE XS             FORM PAPER-GRADE AND DATA-UNLIMIT WORD.
 2902              SS           ZERO          ACH4          SWITCH              REVERT PAPER GRADE TO PINK OILED PAPER.
 2904   GRADE LIM  S, MON PUNCH SAVE XS       ATAPE PCH +1  SAVE XS             SPECIFY PAPER GRADE, KILL DATA LIMIT.
 2906              TS           END FLAG Q    PNCH FRAM     C,+2                INITIALIZE TITLE AND FRAME ROUTINES.
 2908              S, MON TYPER NTPCH MSG     SPRAMR +16    TYP ABORT           "NO TAPE PUNCHING".
 29092             SM           N,S2          BIT 35        N,S2                SHOW THAT SOME PUNCHING IS TO BE DONE.
 29094             TN           SAVE XS +1    2             Z,SC           C    NOW PROCESS FIRST FRAME OR TITLE.


R2910   MINOR SUBROUTINE TO TYPE OUT THE COUNT OF CARDS BYPASSED BECAUSE THEY LACKED A "Y" IN COLUMN 1.

 2912   TYP NON YS TX           Z,SH          -             TYP RTURN
 2913              SWE, ONES    NON WISE      D,4,L         PHI ARG
 2914              TS           Z,SC          Z,AU1         YUL D2A ZS
 2915              TX           PHI ARG       -             NON WISE
 2916              NA, CHAR1    NON WISE      ZERO          C,+3
 2917              SWE, ONES    NON WISE      A,1,L         NON WISE            ALPHABETIZE AND NORMALIZE.
 2919              TS, CHAR8    BLANKS        NON WISE      C,-2

 2920              S, MON TYPER NUM NONS      SPRAMR +24    -
 2921              S, MON TYPER BLANKS        SPRA +8       -
 2922              TX           ZERO          -             NON WISE
 2923              TX           TYP RTURN     -             Z,SC

# Page 105
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  65        PAGE  65

P2924   SUBROUTINE TO PROCESS DATA FRAMES DESTINED FOR PAPER TAPE.  COLLECTS UP TO 2040 FRAMES IN BANK B BEFORE CALLING
R2926   IN MON-A TO HAUL THEM AWAY.  INITIALLY, MAKE COSEQUENCE CALL TO PCH FRAME IN THE TRANSFER VECTOR WITH DATA IN
R2928   LOW 8 BITS OF FRAME, SUBSEQUENTLY MAY ENTER BY PUTTING DATA IN FRAME AND SWITCHING TO COSEQUENCE MODE.



 2930   PNCH FRAM  TS           END FLAG Q    PNCH FRAM     IN TP TASK     C    (INITIAL STATE OF PNCH FRAM).
 2932              LA           BKB PLACE     END BANK B    SET FRAME -2   C    BRANCH IF BANK B BUFFER NOT BLOATED.
 2934              TS           Z,CSC,3       -             SEND DATA      C    SHIP 2040 FRAMES OF DATA TO MON-A.

 2936   END FLAG D NA           BKB PLACE     BANK B        SEND DATA      C    CLEAR OUT BUFFER AT END OF PARAGRAPH.
 2938              SS           SWITCH        B34T35        DATA SEND      C    SET BEGIN-PARAGRAPH BIT FOR NEXT XMIT.
 2940              SS           ZERO          B34T35        SWITCH         C    CLEAR END FLAG (INCLUDES END TASK BIT).

 2942   SET FRAME  TX           BKB PLACE     -             Z,SH           C
 2943              TS           FRAME         N,SH,1        PCH FRAME -1   C    SET FRAME INTO BUFFER AND EXIT.

 2945   END FLAG Q LA           BIT 34        Z,SH          END FLAG D     C    BRANCH IF END FLAG IS ON.



R2947   MINOR SUBROUTINE TO SEND UP TO 2040 ACCUMULATED PAPER TAPE FRAMES TO MON-A.

 2949   SEND DATA  TS           Z,SC          SAVE XS +2    C,+1           S
 2950              TS           Z,CSH         SAVE XS +3    BEG PH ALF +2  C    SAVE RETURN, X0, X1.
 2952              TX           BANK B        -             Z,X0
 2953              WD           BKB PLACE     ONE           Z,X1
 2954              TX           BANK B        -             BKB PLACE           SHOW THAT BUFFER WILL BE EMPTY.
 2956   DATA SEND  S, MON PUNCH 0,0           ATAPE PCH +32 1,0                 SEND PAPER TAPE DATA FRAMES.
 2958              SS           ZERO          B34T35        DATA SEND           CLEAR POSSIBLE BEGIN-PARAGRAPH BIT.
 2960              TN           SAVE XS       2             Z,X0
 2961              TN           SAVE XS +2    2             Z,SC           C



R2962   PROCEDURE AT MANUF RTN (RETURN FROM ANY TASK USING PASS 0 AS A MONITOR) TO RE-INITIALIZE SUBSTRAND FETCHING AND
R2964   TAPE PUNCHING ROUTINES.  ENTER AT END M TASK.

 2965   END SEND Q NA           BKB PLACE     BANK B        SEND DATA      C    CLEAN OUT DATA BUFFER.
 2967              TS           Z,CSC         Z,SC          BEG PH ALF +1  C    CLEAR END FLAG, REVERT TO SEQUENCE MODE.

 2969   END M TASK NA           PNCH FRAM     NO TP TASK    C,+2                BRANCH IF ENDING A TAPE PUNCHING TASK.
 2971              TS           FETCH SS1     FETCH SSN     INIT PAS0           INITIALIZE FETCHING AND EXIT.
 2973              TS           NO TP TASK    PNCH FRAM     END SEND Q     C

 2974   NO TP TASK TS           END FLAG Q    PNCH FRAM     IN TP TASK     C
 2975   FETCH SS1  TS           ZERO          FETCH SSN     AWAIT GB

# Page 106
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  66        PAGE  66

P3025              GENERAL-PURPOSE CARD-PUNCHING SUBROUTINE IN PASS 0.  ALWAYS PUNCHES ON-LINE, BUT BENEFITS FROM DRUM
R3027   BUFFERING OF CARDS IN THE 200 OR 2200.  THE FIRST CARD PUNCHED FOR ANY TASK IS AN IDENTIFIER WHICH, VIEWED FROM
R3029   THE REAR, DISPLAYS THE LOG AND TASK NUMBERS IN BLOCK LETTERS. THE LAST CARD PUNCHED IN A TASK IS A CHECKERBOARD.
R3031   ENTRY:     S,0,87       CARD CW                     RETURN              WHERE THE CONTROL WORD GIVES THE MODE.
R3033   TO CLOSE OUT A CARD-PUNCHING TASK, A CALL MUST BE MADE IN WHICH CARD CW ADDRESSES AN EOR WORD.  AT 0,88 IS
R3035              TS           Z,MXR         FRAME         PNCH CARD           0,87 IS TAGGED PUNCH CD.


 3037              SETLOC,3C    1984          B1

 3038   PNCH CARD  TX           YUL MASKS     -             Z,MXR
 3039              EBA          Z,AU1         ZERO          PUNCH ADR           SAVE ADDRESS OF CARD CONTROL WORD.
 3041              SS           Z,AU2         CAC3          PUNCH CD            SAVE RETURN ADDRESS.
 3043              LA           BIT 32        CRD COUNT     LAST CRD Q          BRANCH IF NOT FIRST CARD OF TASK.

 3045   SN CPUNCH  TS           OCTAL 20      Z,AU1         MON SN QIP     C    SNATCH CARD-PUNCH FOR ON-LINE PUNCHING.
 3047              TS           PHI WAA       Z,X4          1ST CARD            ACCESS INTERTASK STORAGE AREA.
 3049              S, MON TYPER CPUNV MSG     SPRAMR +24    -                   "CARD PUNCH UNAVAILABLE".
 3051              SS           ACA OTHE      CHAR3         ASTRY MSG           PUT GROUP A IDENTITY INTO MESSAGE.
 3053              S, MON TYPER ASTRY MSG     SPRAMR +16    -                   "ASA TO TRY AGAIN".
 3055              S, MON TYPER ACA OTHE      SPRA +16      -                   "ACA OTHERWISE".
 3057              TS           L SN CPNCH    Z,SC          C,+1           C
 3058              STOP                                     -              S    ASA OR ARA OR DON A WILL TRY AGAIN.
 3060              S, MON TYPER NCOUT MSG     SPRAMR +16    TYP ABORT           "NO CARD OUTPUT".

 3062   1ST CARD   DA, CAC3     4,104         ONE           4,104               INCREMENT CARD-PUNCH-TASK NUMBER.
 3064              SWE, ONES    4,104         24            TASK LOG            FETCH DATA FOR BLOCK-LETTER IDENTIFIER.
 3066              TX           BANK B        -             Z,AU2
 3067              MT           ZERO          21            N,AU2,1             BLANK OUT BINARY CARD IMAGE.
 3069              SWE, CAC3    NUMBASE       16            Z,X4                POINT TO ARRAY OF BLOCK-NUMERAL CODES.
 3071   BB VIA AU2 TX           BANK B        -             Z,AU2          S
 3072              SWE, ONES    THREE         17            N,AU2,11            CONTROL BITS TO SET BINARY PUNCH MODE.
 3074              SWE, ONES    C1T7          A,1           TEMP MASK           SYNTHETIC C2T8 MASK.

 3076   OUTLINES   SWS, ACH4    TASK LOG      24            C,+1
 3077              TX           4,0           -             N,AU2,1             PLANT BLOCK NUMERAL IN CARD.
 3079              SWE,TEMPMASK TASK LOG      D,1           TASK LOG
 3080              NA           TASK LOG      ZERO          OUTLINES            LOOP END CAUSES ZERO-SUPPRESS OF TASK.
 3082              TS           BANK B        Z,X4          PUNCH HED      C    USE SPECIAL ENTRY INTO CARD-PUNCH SUBRO.

 3084   LAST CRD Q EBA          PUNCH ADR     ZERO          Z,X4                RECOVER ADDRESS OF CONTROL WORD.
 3086              NA           N,X4          EOR           SEND CARD           BRANCH IF NOT THE CLOSING-OUT CALL.

# Page 107
#      @YUL SYSTEM -- PASS 0                                                     USER'S OWN PAGE NO.  67        PAGE  67

P3088   ON RECEIVING A CLOSE-OUT CALL, PUNCH A CHECKERBOARD CARD, TYPE THE NUMBER OF CARDS PUNCHED, AND PUNCH A BLANK
R3090   CARD TO RUN OUT THE PUNCH.

 3091   LAST CARD  WA           BANK B        ONE           Z,AU2
 3092              MT           CHECKERS      20            N,AU2,1             CREATE CHECKERBOARD CARD.
 3094              TS           BANK B        Z,X4          PUNCH ONE      C    PUNCH THE CHECKERBOARD.
 3096              TS           CRD COUNT     PHI ARG       TYP NON YS +2  C
 3097              S, MON TYPER PHI ARG +2    SPRAM +40     -                   "    NNNN CARDS PUNCHED BY LOG AND TASK"
 3099              TS           PHI WAA       Z,X4          BB VIA AU2     C
 3100              TX           ZERO          -             N,AU2,1
 3101              MT           BLANKS        10            N,AU2,1             CREATE BLANK ALPHABETIC CARD IMAGE.
 3103              S, MON TYPER 4,104         SPRA +72      -                   HEX: "LLL LLL 000 TTT".
 3105              TS           BANK B        Z,X4          PUNCH ONE      C    PUNCH FINAL BLANK CARD IN ALPHA MODE.
 3107              EX           CRD COUNT     CAC3          CRD COUNT           RESET CARD COUNT TO ZERO.
 3109              TS           RLS CD PCH    Z,AU1         MON SN QIP     C    RELEASE THE CARD PUNCH.
 3111              TS           PUNCH CD      Z,SC          PNCH EXIT      C

R3112   EVERY CARD SENT BY A CALLER COMES HERE EVENTUALLY.

 3113   SEND CARD  TS           -             -             PUNCH ONE      C    NORMAL WAY TO SEND A CARD.
 3115              TS           PUNCH CD      Z,SC          PNCH EXIT      C
 3116   PNCH EXIT  TX           FRAME         -             Z,MXR          S

 3117   PUNCH HED  TN           4,17          4             4,3            C    MOVE TASK NUMBER TO PLACE ON CARD.
 3119              TN           N,CSC,4       4             4,7            C    PLANT BLOCK LETTERS: "TASK".
 3121              OCT          -00 4224 1076,  -22 5252 5244
 3122              OCT          -70 2422 2470,  -02 0276 0202
 3123              TN           N,CSC,5       4             4,17           C    PLANT "LOG:" AND TAB TO PUNCH ONE.
 3125              OCT          -00 0000 2424,  -72 5242 4234
 3126              OCT          -34 4242 4234,  -40 4040 4076

 3127              WF, DA       -             -             INCR COCT           BRANCH IF 200 GOT CARD INFO OK.
 3129   PUNCH ONE  SWS, CHAR1   MON PRADS     A,2,L         C,+1           C    SUPPLY TRUE ADDRESS OF PUNCH.
 3131              WF, DA       4,0           -             -
 3132              TS, CHAR1    C,-1          PUNCH ONE -1  PUNCH ONE -1   C
 3133   INCR COCT  DA           CRD COUNT     BIT 32        CRD COUNT      S    INCREMENT COUNT OF CARDS IN TASK.



 SEQBRK            END          YUL PASS 0    GENERAL
back to top