Raw File
YUL_SYSTEM_ASSEMBLER_--_PASS_3.argus
# Copyright:    Public domain.
# Filename:     YUL_SYSTEM_ASSEMBLER_--_PASS_3.mitigus
# 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:        482-539
# Mod history:  2016-10-06 JL   Created.
#               2016-12-29 JL   Transcribed pages 482-501.
#               2016-12-31 JL   Transcribed pages 502-507.
#               2017-01-02 JL   Transcribed pages 508-516.
#               2017-01-08 JL   Transcribed pages 517-525.
#               2017-01-10 JL   Transcribed pages 526-535.
#               2017-01-11 JL   Transcribed pages 536-539.

# 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 ASSEMBLER -- PASS 3

# Page 482
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           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 3 HAS A VARIETY OF FUNCTIONS.  PRINTED OUTPUT CONSISTS OF THE FOLLOWING:

R0008           1) A SYMBOL TABLE ANALYSIS, GIVING EACH SYMBOL, ITS EQUIVALENT IN OCTAL AND WHATEVER ADDITIONAL NOTATION
R0010              MAY BE CONVENIENT FOR THE OBJECT MACHINE, THE PAGE OF DEFINITION, THE NUMBER OF REFERENCES TO IT, THE
R00111             PAGES OF FIRST AND LAST REFERENCE TO IT, AND A CODED FLAG INDICATING ITS STATE OF HEALTH;

R0012           2) A SUMMARY OF THE ABOVE, GIVING THE NUMBER OF SYMBOLS IN EACH HEALTH CATEGORY, THE TOTAL NUMBER OF
R0014              SYMBOLS, AND, IF THE SYMBOL TABLE OVERFLOWED, HOW MANY SYMBOLS TOO MANY;

R00152          3) AN ERASABLE AND EQUIVALENCE CROSS-REFERENCE TABLE (A SUBSET OF THE SYMBOL TABLE ANALYSIS) CONSISTING
R00154             OF SYMBOLS DEFINED BY ERASE AND BY EQUALS, ORDERED ON VALUE OF DEFINITION, SHOWING THE DEFINITION,
R00156             PAGE OF DEFINITION, AND THE SYMBOL;

R00157          4) A SUMMARY OF WORD COUNTS FOR ROUTINES NAMED IN COUNT CARDS, WITH AN ANALYZER FOR THE LAST REACH OF
R00159             THE ROUTINE;

R0016           5) AN AVAILABILITY TABLE DISPLAY, SHOWING WHICH LOCATIONS WERE WHICH MEMORY TYPE DURING THIS ASSEMBLY,
R0018              AND (FOR  E  OR  F  LOCATIONS) WHICH WERE RESERVED;

R00181          6) AN INDEX TO OCCUPIED LOCATIONS, SHOWING ON WHAT PAGE EACH WORD IS DEFINED;

R0019           7) A LIST OF THE PARAGRAPHS GENERATED BY ASSEMBLY, WITH MANUFACTURING LOCATION CODE IF APPLICABLE;

R0020           8) A LISTING OF EACH PARAGRAPH GENERATED, DESIGNATING THE CONTENTS OF EACH LOCATION AS ANY OF THE
R0022              FOLLOWING... (A)  AVAILABLE,
R0023                           (B)  A BASIC INSTRUCTION,
R0024                           (C)  AN INTERPRETIVE-LANGUAGE WORD,
R0025                           (D)  A CONSTANT,
R0026                           (E)  A BAD WORD (E.G. AN INSTRUCTION WITH AN UNDEFINED ADDRESS SYMBOL),
R0028                           (F)  UNDETERMINED BECAUSE OF CONFLICT, OR
R00282                          (G)  HAVING OTHER QUALITIES APPROPRIATE TO A PARTICULAR MACHINE; AND

R00284          9) A LISTING OF SUBROUTINES CALLED, SHOWING ON WHAT PAGE EACH IS CALLED, AND ON WHAT PAGE EACH BEGINS.

R0029   PASS 3 ALSO UPDATES THE BYPT AND YUL FILE ON THE YUL SYSTEM PROGRAM FILE TAPE (YULPROGS ET AL), AND PUTS BINARY
R00302  RECORDS FROM NON-REJECTED PROGRAM ASSEMBLIES ON THE DISC FILE.

# Page 483
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.   2        PAGE   2

P0031   ITEMS FOR INTERPASS STORAGE.  63 WORDS.



 0032   PROG NAME  RESERVE      1
 0033   NEXT NAME  RESERVE      1
 0034   SWITCH     RESERVE      1
 0035   L OLD LINE RESERVE      1

 0036   OLD LINE   RESERVE      16
 0037   PAGE HEAD  RESERVE      16

 0038   PAGE NO    RESERVE      1
 0040   SYM PLACE  RESERVE      1
 0041   SYM TAB XS RESERVE      1
 0042   L COP BUFS RESERVE      1

 0044   MID POINT  RESERVE      1
 0045   LIN COUNT  RESERVE      1
 0046   N WD RECS  RESERVE      1
 0047   E SYLT BAN RESERVE      1

 0048   L PROG FIL RESERVE      1
 0049   N LINES    RESERVE      1
 0050   L COMP NAM RESERVE      1
 0051   N COPIES   RESERVE      1

 00511  PAPER PLY  RESERVE      1
 00512  ERR PAGES  RESERVE      1
 00513  N ERR LINS RESERVE      1
 00514  L AUTH NAM RESERVE      1

 00515  SORS NAME  RESERVE      1
 00516  COMPUTER   RESERVE      1
 00518 *SEG OWNER  RESERVE      1

 00519  SUBSTRAB   RESERVE      8



R0053              THE FOLLOWING INSTRUCTION IS PLACED AT THE BASE ADDRESS6OF PASS 3 (10077) FOR CONVENIENCE.

 0055   YUL PASS 3 TS           L DIRECTY     Z,X5          INISH P3            FIRST INSTRUCTION EXECUTED IN PASS 3.

R00561  SIMULATED EXTENDED TS ROUTINE, PLACED HERE TO TAKE ADVANTAGE OF THE 7.

 00562  ETS        EQUALS       YUL PASS 3
 00563             SWS, C7T8    ETS           12            C,+2           C    ADDRESS OF REGISTER TO BE LOADED.
 00564             EX           N,AU1         CAC 3         ETS            C    INPUT IS 16 BITS.
 00565             EBA          ETS           BIT 25        Z,0            C    OUTPUT IS 24 BITS.
 00566             NA           Z,CSH         Z,SC          N,AU2          C
 00567             TX           Z,AU2         -             Z,SC           S    EXIT IN SAME MODE AS ENTRY.

# Page 484
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.   3        PAGE   3

P0057   FIELD AND SHIFT MASKS FOR PASS 3.



 0058   B,BIT8     OCT          002
 0059   B,PROG SUB OCT          001
 0060   B,SPECSIGN OCT          -10 0000
 0061   B,BIT34    OCT          -40000

 0062   B,B33T40   OCT          -177400
 0063   B,B41T48   OCT          -377
 0064   OCT 377    EQUALS       B41T48
 0065   B,B44T45   OCT          -30
 0066   B,LSTYPE   OCT          -7000 0000

 0067   B,D4       DEC          000G
 0068   B,CHAR7    OCT          -7700
 0069   B,CHAR8    OCT          -77
 0070   B,CAC1     DEC          GGGG

 0071   B,CAC3     DEC          -GGGG
 0072   B,AVAILMSK OCT          0                                               VARIABLE MASK.
 0074   B,D1       DEC          G
 0076   B,CHAR1    OCT          77

 0077   B,BANBITS  OCT          -760 0000
 0078   B,BIT11    OCT          0002
 0079   B,CAC2     DEC          0000 GGGG
 0080   B,AVMASK2  OCT          0077 7777 7777 7777                             SECOND VARIABLE MASK, FOR RD4.

 0081   B,THREE    OCT          -3
 0082   B,C5T8     OCT          -    7777 7777
 0083   B,C7T8     OCT          -7777
 0084   B,B36T48   OCT          -1 7777

 0085   B,DECALFM1 OCT          -7777 0000 7777
 0086   B,DECALFM2 OCT          -74 0074 0074 0074
 0087   B,C1T4     OCT          7777 7777
 0088   B,GROUPIND OCT          -74000

 0089   B,BIT13    OCT          00004
 0090   B,C6T8     OCT          -77 7777
 0091   B,D10D11   DEC          -GG0
 0092   B,BIT16    OCT          000004

# Page 485
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.   4        PAGE   4

P0093   FURTHER SHIFT MASKS.

 0094   S,B26T30   OCT          -3700 0000
 0095   S,B39T42   OCT          -1700
 0096   S,B39T48   OCT          -1777
 0097   S,B31T39   OCT          -777 000

 0098   S,ONE      OCT          -1
 0099   S,TWO      OCT          -2
 0100   S,ONES     DEC          GGGG GGGG GGGG
 0101   S,D12      DEC          -G

 0102   S,ACO1     OCT          07
 0104   S,ACO2     OCT          0007
 0104   S,ACO3     OCT          0000 07
 0105   S,ACO4     OCT          0000 0007

 0106   S,ACO5     OCT          -0700 0000
 0107   S,ACO6     OCT          -07 0000
 0108   S,ACO7     OCT          -0700
 0109   S,ACO8     OCT          -07

 0110   S,SPECMAG  OCT          -77777
 0111   S,CAC12    DEC          GGGG GGGG
 0112   S,C2T4     OCT          0077 7777
 0113   S,CHAR6    OCT          -77 0000

 0114   S,C1T2     OCT          7777
 0115   S,DECALFM3 OCT          1717 1717 1717 1717
 0116   S,C1T6     OCT          7777 7777 7777
 0117   S,C3T6     OCT          0000 7777 7777

 0118   S,C3T8     OCT          -7777 7777 7777
 0119   S,B44T48   OCT          -37
 0120   S,C1T7     OCT          7777 7777 7777 77
 0121   S,THREAD10 OCT          -3776

 0122   S,THREAD11 OCT          -3777
 0123   S,A ADRES  OCT          0000 7777
 0125   S,C5T7     OCT          -7777 7700
 0126   S,B15T16   DEC          0003

# Page 486
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.   5        PAGE   5

P0127   RESERVATIONS.



 0128   LINE STOR  RESERVE      6
 01281             ALF,5
 01282             ALF,5
 0129   EQIVLENT   RESERVE      1
 0130   ADDRESS    RESERVE      1
 0131   COMP BITS  RESERVE      1

 0132   END LINE   RESERVE      1
 0133   IMAGE      RESERVE      2
 0136   INDEX      RESERVE      15
 0137   N SUBFIL 1 RESERVE      1
 0138   DISC ADRS  RESERVE      1
 0140   TOTAL WDS  RESERVE      2
 01401  COMPARES   RESERVE      3

# Page 487
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.   6        PAGE   6

P01409  NUMERIC CONSTANTS.



 0141   54 LINES   OCT          0066
 01415  BLANK C8   OCT          -15
 01417  D8T12      DEC          -GGGGG
 0142   FIFTEEN    FXBIN        -15

 0143   BIT1       OCT          4
 0144   BIT 12     OCT          0001
 01441  BIT 25     OCT          -4000 0000
 0145   ZERO       OCT          0
 0146   B7T8       OCT          0060

 0147   FOUR       DEC          -4
 0148   EIGHT      DEC          -8
 01481  TWELVE     FXBIN        -12
 0149   3D4        DEC          0003
 0150   6D4        DEC          0006

 0151   C200       FXBIN        -200
 0152   BIT 32     DEC          -1 0000
 0153   SPACE 2    OCT          0002
 0154   SPACE 4    OCT          0004

 0155   C32        OCT          -40
 0156   5 LINES    OCT          0005
 0157   TYPE N     OCT          -1000 0000
 0158   TYPE F     OCT          -2000 0000

 01581  BAN EOFRI  OCT          -420 0000
 01582  LAST SS NO OCT          0
 01583  PH FLAG A  OCT          0
 01584  PH FLAG C  OCT          0

 01585  L NEW LINE OCT          0
 01586  BIT 20     OCT          0000 0020
 01587  OCT 200    OCT          -200
 01588  YUL FILE   OCT          -7001

 01589  BIT 30     OCT          -100 0000
 015891 SIX        OCT          -6
 015892 35 C2      OCT          0035
 0159   OWED SYM   OCT          0

 01591  SYM LINER  OCT          -526
 01592  ONE THIRD  OCT          -253
 01593  FULL PAGE  OCT          -53576
 01594  ONE FIFTH  DEC          +33 333 333 333

 01595  B1B11      OCT          4002
 01596  C 8D       FXBIN        -80
 01597  D4T8       DEC          000G GGGG

# Page 488
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.   7        PAGE   7

P0160   FIRST PAGE OF ALPHABETIC CONSTANTS.



 01601  SY COL HDG ALF,5          SYMBOL H   DEFINITION   REFERENCES F

 016015            SETLOC,6C    512           B5

 01602  SYM FOOT 1 ALF,5        KEY: SYMBOLS DEFINED BY EQUALS ARE FLAGG
 01603             ALF,5        ED =.  OTHERS ARE NORMALLY DEFINED EXCEP
 016035            ALF,2        T THOSE FLAGGED:

 01604  SYM FOOT 2 ALF,5        U UNDEFINED             E FAILED LEFTOVE
 01605             ALF,5        R ERASE   M MULTIPLY DEFINED           T
 01606             ALF,5         WRONG MEMORY TYPE    MM MULTIPLE ERRORS

 01607  SYM FOOT 3 ALF,5        N NEARLY DEFINED BY =   J FAILED LEFTOVE
 01608             ALF,5        R WORD    D OVERSIZE- OR ILL-DEFINED   C
 01609             ALF,5         CONFLICT IN MEMORY   K  MISC. TROUBLE

 016095            SETLOC,1

# Page 489
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.   8        PAGE   8

P016099 SECOND PAGE OF ALPHABETIC CONSTANTS.

 0161   PAGE HED2  OCT          0002
 0162              ALF,5        SYMBOL TABLE LISTING, INCLUDING PAGE NUM
 0163              ALF,5        BER OF DEFINITION, AND NUMBER OF REFEREN
 0164              ALF,5        CES WITH FIRST AND LAST PAGE NUMBERS

 01641  SUP REVOK  ALF,5        ▪▪▪▪▪▪▪▪▪▪▪ SUPPRESSION OF OCTAL STORAGE
 01642             ALF,5         MAP REVOKED BECAUSE OF CUSSES (▪XXX; EA
 01643             ALF,5        CH COUNTS AS A CUSSED LINE). ▪▪▪▪▪▪▪▪▪▪▪

 0165   W NO SYMBS ALF,5        THERE ARE NO SYMBOLS IN THIS ASSEMBLY.
 01651  AV SUBHED  ALF,5        MEMORY TYPE & AVAILABILITY DISPLAY
 01652  W SPEC NON ALF,4        SPECIAL OR NONEXISTENT MEMORY
 01653  SUBL HEAD  ALF,4        SUBROUTINE  REV#  CALLED  BEGINS

# Page 490
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.   9        PAGE   9

P0166   THIRD PAGE OF ALPHABETIC CONSTANTS.  W SUMMARY THROUGH CHAR SET ARE AN INVIOLABLE ARRAY.

 016605            SETLOC,6

 01661  W SUMMARY  ALF,4        SUMMARY OF SYMBOL TABLE LISTING

 01665  HEALTH 0   ALF,2        UNDEFINED
 01667  HEALTH 1   ALF,3        NEARLY DEFINED BY EQUALS
 0167   HEALTH 2   ALF,5        MULTIPLY DEFINED INCLUDING NEARLY BY EQU
 0168              ALF          ALS
 0171   HEALTH 3   ALF,3        DEFINED BY EQUALS

 0174   HEALTH 4   ALF,5        MULTIPLY DEFINED INCLUDING BY EQUALS
 0176   HEALTH 50  ALF,5        LEFTOVER WHICH FAILED TO FIT IN ERASABLE
 0177              ALF           MEMORY
 0178   HEALTH 51  ALF,5        LEFTOVER WHICH FAILED TO FIT IN FIXED ME
 0179              ALF          MORY
 0180   HEALTH 6   ALF,2        NORMALLY DEFINED

 0181   HEALTH 7   ALF,4        GIVEN MULTIPLE DEFINITIONS
 0182   HEALTH 8   ALF,3        OVERSIZE- OR ILL-DEFINED
 0183   HEALTH 9   ALF,5        ASSOCIATED WITH WRONG MEMORY TYPE

# Page 491
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  10        PAGE  10

P0835   FOURTH PAGE OF ALPHABETIC CONSTANTS.  SEE ALSO THIRD PAGE.

 0184   HEALTH B   ALF,5        ASSOCIATED WITH CONFLICT IN FIXED OR ERA
 0185              ALF,2        SABLE MEMORY
 0186   HEALTH C   ALF,5        MULTIPLY DEFINED; OVERSIZE- OR ILL-DEFIN
 0187              ALF          ED
 0189   HEALTH D   ALF,5        MULTIPLY DEFINED; ASSOCIATED WITH WRONG
 0190              ALF,2        MEMORY TYPE
 0191   HEALTH E   ALF,5        MULTIPLY DEFINED; ASSOCIATED WITH CONFLI
 0192              ALF,4        CT IN FIXED OR ERASABLE MEMORY

 0193   HEALTH F   ALF,2        MULTIPLE ERRORS
 0194   HEALTH G   ALF,3        IN MISCELLANEOUS TROUBLE

 0195   HEALTH NF  ALF,4        FAILED TO FIT IN SYMBOL TABLE



 0196   CHAR SET   ALF,5        H-1800 CHARACTER SEQUENCE (360 LACKS ▪≠½
 0197              ALF,5        ␍⌑¢);  0123456789'=: >&   +ABCDEFGHI:.)%
 0198              ALF,5        ▪?   -JKLMNOPQR#$*"≠½   </STUVWXYZ@,(␍⌑¢

# Page 492
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  11        PAGE  11

P0200   FIFTH PAGE OF ALPHABETIC CONSTANTS.

 0205   W RES FIXT ALF,4        RESERVED FIXED MEMORY
 0206   W AVA FIXT ALF,4        AVAILABLE FIXED MEMORY
 0207   W RES ERAS ALF,4        RESERVED ERASABLE MEMORY
 0208   W AVA ERAS ALF,4        AVAILABLE ERASABLE MEMORY

 02085             SETLOC,1

 0209   SUBSTRED   ALF,5        PARAGRAPHS GENERATED FOR THIS ASSEMBLY;
 0210              ALF,5        ADDRESS LIMITS AND THE MANUFACTURING LOC
 0211              ALF,4        ATION CODE ARE SHOWN FOR EACH.
 0216   BLANKS     ALF                                                          (MUST BE 15TH WORD OF SUBSTRED).

 02161  REJECT     ALF,4        ALL INPUT CARDS WERE REJECTED.
 021611 REJ REV    ALF,4          PRECEDING REVISION REMAINS ON
 021612 REJ VERS   ALF,4        THE NEW VERSION IS NOT FILED ON
 02163  REJAS MSG  ALF,3        ALL INPUT CARDS REJECTED

# Page 493
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  12        PAGE  12

P02166  SIXTH PAGE OF ALPHABETIC CONSTANTS.

 02169  W END OF   ALF           END OF
 0217   JOYFUL     ALF             GOOD
 0218   HOHUM      ALF             FAIR                                         JOYFUL THRUY WORSE+2 FORM AN ARRAY.
 0219   HORRID     ALF              BAD
 02191  WORSE      ALF,3          LOUSY  ROTTEN BILIOUS
 0220   ASSEMBLY   ALF,3        ASSEMBLY; FILED ON DISC

 0222   LAST LINE  ALF,3        -0000000THE ASSEMBLY WAS
 0223   GOOD BAD   ALF,5         NAWSTY MANUFACTURABLE BINARY RECORDS ST
 0224              ALF,5        ORED ON YULPROGS
 0225              ALF,3

 0226   GOOD       ALF           GOOD:
 0227   MEDIOCRE   ALF           FAIR:
 0228   BAD        ALF           BAD: UN
 02285  DISC TOO   ALF,2        CORDS ON DISC &

 0229   NO WORDS   OCT          0020
 0230              ALF,5        NO WORDS WERE GENERATED FOR THIS ASSEMBL
 0231              ALF          Y.

 0234   ERR SUMM L ALF,5         LINES CUSSED BETWEEN PA GES    .AND            THIS GETS STRAIGHTENED OUT DURING RUN.
 0235   YUL PASS 0 ALF          YULPASS0
 023509 W AUTMEMO  ALF          AUTHMEMO
 02351  W SYMBLS 1 ALF          SYMBOLS1
 02352  YUCCHH     ALF,2        YUCCCHHHH

# Page 494
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  13        PAGE  13

P023525 SEVENTH PAGE OF ALPHABETIC CONSTANTS.



 02353  USYM CUSS  ALF,4        UNDEFINED:
 02354             ALF,4                                  & MORE
 02355  OBS FRUST  ALF,5        NO DISC: CAN'T MARK OBSOLETE PROGS ON IT

 02356  EECR SUBH  ALF,5        ERASABLE & EQUIVALENCE CROSS-REFERENCE T
 023561            ALF,5        ABLE, SHOWING DEFINITION, PAGE OF DEFINI
 023562            ALF,2        TION, AND SYMBOL

 02357  BLOT C8    ALF                 ▪
 023572 999 REFS   ALF           999
 023574 OVER 1000  ALF           >1K
 023576 DITTO      ALF               "

 023578 999 COUNT  ALF          999
 02358  DASH C3    ALF            -
 023582 DASH C6    ALF               -
 023584 DASH C3 C7 ALF            -   -

 02359  PERIOD C1  ALF          .
 023592 UNDRLINE   ALF            ----
 023594 W TOTAL    ALF           TOTAL:

 023596 W THROUGH  ALF          THROUGH
 023598 E BLOTS    ALF          E▪▪▪▪▪▪
 0236   W REF      ALF              REF
 023602 W LAST     ALF              LAST
 023604 W TO C78   ALF                TO
 02361  W UNCOUNT  ALF,5        (UNCOUNTED)   (NO BLANK COUNT CARDS)

# Page 495
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  14        PAGE  14

P02362  EIGHTH PAGE OF ALPHABETIC CONSTANTS.

 02363  COUNT HDG  ALF,4        ROUTINE; COUNT DATA FOR ROUTINE'
 023631            ALF,4        S LAST REACH;TOTAL;CUMUL

# Page 496
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  15        PAGE  15

P02369  ADDRESS CONSTANTS.



 0237   P3 MASKS   MASKBASE     S,0           F,0
 0238   L DIRECTY  SPEC,B7                                  DAMN ZERO
 0239   L LIN STOR SPEC                                     LINE STOR
 02391  L COMPARS  SPEC                                     COMPARES
 0240   L SYM TAB  SPEC,B8                                  DAMN ZERO      -

 0241   L SYM FOOT SPEC                                     SYM FOOT 1
 0242   YP3 SY SPX SPEC                                     END PR SYM
 0243              SPEC                                     PRINT SYM -1
 0245   L AV DISPL SPEC                                     AV DISPLY

 02451  L PROG TAB SPEC, B3                                 DAMN ZERO
 02452  L END PTAB SPEC, B3                                 DAMN ZERO

 0246   L SYM THR  SPEC,B5                                  836
 0247   L TYP TAB  SPEC,B5                                  900
 0248   L SYMH VEC SPEC                                     SYMH VECT
 0249   L AV TABLE SPEC,B4                                  DAMN ZERO

 02491  L BANK 5   SPEC, B5                                 DAMN ZERO
 02492  B5 LOC 80  SPEC,B5                                  80
 024921 B5 LOC 129 SPEC,B5                                  129
 02493  M TYPE CAX CAC          W AVA FIXT    W RES FIXT    W SPEC NON
 02494  USY PLACE  CAC          W RES ERAS    W AVA ERAS    1ST UNSYM

 0250   L SUBSTRB  SPEC                                     SUBSTRAB
 0251   L W SUMARY SPEC                                     W SUMMARY
 0252   E BUFFERS  CAC          30720         4500          5500
 0253   DF PLACE   SPEC                                     DISC BUFF
 02531  L DISC BUF SPEC                                     DISC BUFF
 02532  END OF BUF SPEC                                     DISCBUFF +1024



R025395 ROUTINE FOR ALL UNMANAGEABLE TROUBLES.

 025396 DISASTER   MPC, H       Z,1           301           MON PCR             IMITATE THE ACTION OF A BACKGROUND.
 025398            ALF          DISASTER

# Page 497
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  16        PAGE  16

P0254   EQUIVALENCES.



 0255   N SYM RECS EQUALS       MIDPOINT
 02552  DEC▪REVN   EQUALS       SORS NAME
 0256   WDF RETRN  EQUALS       MIDPOINT
 02561  B38T48     EQUALS       THREAD11

 0257   DAMN ZERO  EQUALS       0
 025708 ZX         EQUALS       8
 02571  SPRA       EQUALS       128
 02572  SPRAMR     EQUALS       384
 02573  SPRAM      EQUALS       896

 02575  YP3        EQUALS       IMAGE
 02576  SYM LINES  EQUALS       IMAGE +1
 02577  DEPAGIN8   EQUALS       E BUFFERS
 02579  SUBRO NO   EQUALS       ADDRESS
 0258   SPACE 1    EQUALS       BIT 12

 02581  N EECRS    EQUALS       COMP BITS
 02582  EECR PAGE  EQUALS       COMPARES
 02583  EXCESS     EQUALS       COMPARES +1
 02584  COLUMN     EQUALS       COMPARES +2
 02585  N OCT ERRS EQUALS       COMP BITS

 02586  OCT 3777   EQUALS       THREAD 11
 02587  OCT 7777   EQUALS       C7T8
 02588  COLON C6   EQUALS       GOOD
 0259   BLOTS      EQUALS       SUP REVOK
 0260   N RECORDS  EQUALS       NEXT NAME
 0261   B1THRUB2   EQUALS       CAC12

 02611  COUNT PTR  EQUALS       COMP BITS
 02612  ROUTINES   EQUALS       COMPARES +1
 02614  COUNT PAG  EQUALS       COMPARES +2
 02615  THREAD 1   EQUALS       IMAGE
 02616  THREAD 2   EQUALS       IMAGE +1

# Page 498
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  17        PAGE  17

P0262   ASSIGNMENTS.



 0264   ALL DONE   ASSIGN       N,R3
 0265   FOUND SYM  ASSIGN       N,R4
 0266   OLD SPACE  ASSIGN       N,X5

 0267   LINE       ASSIGN       0,0
 02675  E BUFFER 1 ASSIGN       1,0
 0268   E BUFFER 2 ASSIGN       3,0

 02685  PHI TAPE   ASSIGN       7,1
 02687  EOR        ASSIGN       7,4
 0269   PHI LOAD   ASSIGN       7,7
 02695  PHI RLEAS  ASSIGN       7,19
 0270   PHI PRINT  ASSIGN       7,23

 0271   MON EOFRI  ASSIGN       7,31
 02715  BASE ADDR  ASSIGN       7,47
 0272   MON WAKE   ASSIGN       7,99
 02725  L DFNDX AD ASSIGN       7,107
 0273   DISCAP     ASSIGN       7,114

 02735  MON SLEEP  ASSIGN       7,166
 02738  DISC STAT  ASSIGN       7,210
 0274   MON TYPER  ASSIGN       7,215
 02742  MON PCR    ASSIGN       7,220
 02743  DISC CHEK  ASSIGN       7,221

 02744  GET LOG NO ASSIGN       7,225
 02745  DISC READ  ASSIGN       7,239
 02746  DISC WRIT  ASSIGN       7,247

# Page 499
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  18        PAGE  18

P0275              SYMBOL HEALTH VECTOR, PACKED AS FOLLOWS:  BITS 1-18, SYMBOL TABLE LISTING FLAG AND BLOT; BIT 25: NO-
R0277   VALID-LOCATION INDICATOR; BITS 27-30, LENGTH IN WORDS OF THE CORRESPONDING HEALTH DESCRIPTION; AND BITS 33-48,
R0279   COUNTERS FOR SYMBOLS IN EACH STATE OF HEALTH.

 0280   SYMH VECT  M,A,U        A,▪           A,K0
 0281              M,A,N        A,▪           A,L0
 0282              M,A,NM       A,▪           A,O0
 0283   DEF BY EQU M,A,=        A,▪           A,30

 0284              M,A,=M       A,▪           A,50
 0285              M,A,E        A,▪           A,O0
 0286              M,A,J        A,▪           A,O0
 0287   NORM DEF   M,A,         A,▪           A,20
 0288              M,A,M        A,▪           A,40

 0289              M,A,O        A,▪           A,L0
 0290              M,A,T        A,▪           A,50
 0291              M,A,C        A,▪           A,70
 0292              M,A,OM       A,▪           A,O0

 0293              M,A,TM       A,▪           A,70
 0294              M,A,CM       A,▪           A,90
 0295              M,A,MM       A,▪           A,K0
 0296              M,A,X        A,▪           A,L0

 0297   SYMBOL XS  M,D,GGG      D,GGG         A,40
 0298   N SYMBOLS  DEC          0


R0385              INITIALIZE SYMBOL TABLE OPERATIONS OF MAIN PASS 3.

 0387   P3 MASKER  TX           P3 MASKS      -             Z,MXR
 03872             TX           L AV TABLE    -             Z,X4
 0388              LA, CAC3     L SYM TAB     4,1           READ SYMS           BRANCH IF THERE ARE ANY SYMBOLS.

 0390              TN           W NO SYMBS    5             LINE +1             ANNOUNCE LACK OF SYMBOLS.
 0392              TS           L AV DISPL    Z,X4          PRINT LIN           AND GO DIRECTLY TO AVAILABILITY DISPLAY.


R0394              ROUTINE TO PICK SYMBOLS OUT OF THE SYMBOL TABLE IN ALPHABETICAL ORDER, USED JOINTLY AND MORE OR LESS
R0396   SIMULTANEOUSLY BY MAIN PASS 3, WHICH OPERATES IN GROUP A AND PRINTS EACH SYMBOL WITH ITS DEFINITION AND STATE OF
R0398   HEALTH, AND BY WS3, WHICH OPERATES IN GROUP C AND WRITES THE SYMBOL TABLE ON TAPE JUST BEFORE THE BYPT RECORD
R0400   FOR THE PROGRAM.  FOUND SYM AND ALL DONE ARE ASSIGNED TO INDIRECT MEMORY ADDRESSES.

 0402   READ SYMS  TX           L AV TABLE    -             Z,X3
 0403              TS           Z,X3,1        -             THREAD +2           POINT TO FIRST SPEC PAIR.

 0405   THREAD     LA, CAC3     3,0           L AV TABLE    C,+2                BRANCH IF SYMBOL, NOT SPEC PAIR.
 0406              WA           N,X3          ONE           Z,X3                POINT TO THE SECOND SPEC OF THE PAIR.
 0408              EX           N,X3          CAC3          N,R1                USING RE-ENTRANT TEMP STORAGE.
 0409              EBA          N,R1          BIT 25        Z,X3                ADVANCE TO THE NEXT SYMBOL.
 0410              LA           ONES          N,X3          ALL DONE
 0412              TS           N,X3,1        N,R1,1        FOUND SYM           SUPPLY SYMBOL TO CALLING GROUP.

# Page 500
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  19        PAGE  19

P0414   ROUTINE USED DURING SYMBOL TABLE PRINTING TO PLACE SYMBOLS DEFINED BY ERASE AND EQUALS INTO A LIST ORDERED ON
R0415   NUMERICAL VALUE OF DEFINITION.  FORWARD AND BACKWARD THREADS ARE PLACED IN THE SYMBOL TABLE ENTRY IN THE PLACE
R0416   VACATED BY THE SYMBOL REFERENCE INFORMATION.  OUTPUTS ARE N EECRS AND A POINTER TO THE FIRST ONE (IN R0).

 04168  EECR TEST  TS           Z,SH          Z,SC          C,+1           C    INTO COSEQUENCE FOR EASY EXITS.
 0417              TX           L TYP TAB     -             Z,X4           C
 04175             LA, CAC3     EQIVLENT      4,0           C,+2           C    BRANCH WHEN MEMORY TYPE IS KNOWN.
 04185             TS           Z,X4,1        -             C,-1           C
 0419              LA, LS TYPE  BIT 25        4,0           C,+2           C    BRANCH IF DEFINITION IS IN ERASABLE.
 0420              LA, D4       6 D4          2,1           END THIRD -1   C    EXIT IF DEFINITION WAS NOT BY EQUALS.

 0421              WA           N EECRS       ONE           N EECRS        C    EECR = ERASABLE & EQUIVALENCE CROSS-
 0422              NA           N EECRS       ONE           TRY HIGH       C    REFERENCE TABLE SYMBOLS.
 0423              EBA          Z,X2          ZERO          Z,X0           C
 04232             EBA          Z,X2          ZERO          Z,R0           S    FIRST EECR IS NEW HIGH AND NEW LOW.

 04238  TRY HIGH   EBS          Z,X2          BIT 25        ADDRESS        C
 0424              EBA          Z,S0          ZERO          Z,X6           C
 04245             LA, CAC2     6,1           2,1           NEW HIGH       C    BRANCH IF NEW EECR NOT LESS THAN MAX.

 04265  TRY LOW    EBA          Z,R0          ZERO          Z,X4           C
 0427              LA, CAC2     4,1           2,1           BETWEEN        C    BRANCH IF NEW EECR NOT LESS THAN MIN.

 0428   NEW LOW    SWS, CAC2    ADDRESS       16,L          4,2            C    OLD MIN POINTS BACKWARD TO NEW MIN.
 0429              EBS          Z,X4          BIT 25        ARG 1          C    NEW MIN POINTS FORWARD TO OLD MIN.
 0430              TS, CAC2     ARG 1         2,2           TRY HIGH -1    C    R0 ALWAYS POINTS TO MINIMUM.

 04308  NEW HIGH   EBS          Z,X6          BIT 25        ARG 1          C
 0431              SWS, CAC2    ARG 1         16,L          2,2            C    NEW MAX POINTS BACKWARD TO OLD MAX.
 0432              SS           ADDRESS       CAC3          6,2            C    OLD MAX POINTS FORWARD TO NEW MAX.
 0433              EBA          Z,X2          ZERO          Z,S0           C    S0 ALWAYS POINTS TO MAXIMUM.

 0434   BETWEEN    WD, CAC2     2,1           4,1           ARG 1          C    NEW EECR - MINIMUM.
 0435              WD, CAC2     6,1           2,1           ARG 2          C    MAXIMUM - NEW EECR.
 0436              LA, CAC2     ARG 1         ARG 2         LO HALF        C

 04365  HI HALF    SWE, CAC3    6,2           16            ARG 1          C    FOLLOW BACKWARD THREADS.
 043702            EBA          ARG 1         BIT 25        Z,X4           C
 04371             LA, CAC2     4,1           2,1           PUT EECR       C    BRANCH IF NEW EECR'S PLACE IS FOUND.
 043718            EBA          Z,X4          ZERO          Z,X6           C
 04372             TS           -             -             HI HALF        C

 043721            EBA          Z,X6          ZERO          Z,X4           C
 04373  LO HALF    S, ETS       4,2           ZX +6         C,+1                FOLLOW FORWARD THREADS.
 04374             LA, CAC2     6,1           2,1           LO HALF -1     C    BRANCH UNLESS NEW EECR'S PLACE IS FOUND.

 04375  PUT EECR   SS           ADDRESS       CAC3          4,2            C    NEXT LOWER EECR POINTS FORWARD TO NEW.
 043758            EBS          Z,X4          BIT 25        ARG 1          C
 04376             SWS, CAC2    ARG 1         16,L          2,2            C    NEW EECR POINTS BACKWARD TO NEXT LOWER.
 043768            EBS          Z,X6          BIT 25        ARG 1          C
 04377             SS           ARG 1         CAC3          2,2            C    NEW EECR POINTS FORWARD TO NEXT HIGHER.
 04378             SWS, CAC2    ADDRESS       16,L          6,2            S    NEXT HIGHER EECR POINTS BACKWARD TO NEW.

# Page 501
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  20        PAGE  20

P0438              ROUTINE TO ACCEPT A SYMBOL FOUND BY READ SYMS AND PRINT IT, ITS DEFINITION, THE PAGE ON WHICH THE
R04382  SYMBOL WAS DEFINED, THE NUMBER OF REFERENCES TO IT WITH THE FIRST AND LAST PAGES WITH REFERENCES, AND A CODED
R04384  FLAG INDICATING ITS STATE OF HEALTH.  A KEY TO THE FLAGS IS PRINTED AT THE BOTTOM OF EACH PAGE.  IF THE SYMBOL
R04386  TABLE LISTING IS SUPPRESSED, SYMBOLS THAT ARE NORMALLY DEFINED OR DEFINED BY EQUALS ARE NOT PRINTED.  THIS ROU-
R04388  TINE COUNTS UP THE NUMBER OF SYMBOLS IN EACH STATE OF HEALTH.  SYMBOL INFORMATION IS PRINTED IN THREE COLUMNS.

 043898            LA           CAC12         3,1           OWE SYM Q +1        BYPASS MULTIPLE DEFINITION INTRODUCTION.
 0439   PRINT SYM  SSL, TWO     SWITCH        32            C,+1                "BRANCH" IS SYMBOL TABLE IS SUPPRESSED.
 04394             LA           ACO 7         SYM LINER     PL THREAD -1        BRANCH IF A PAGE IS UNDER CONSTRUCTION.
 04398             TS           LINE          LINE +1       PL THREAD -2        START NEW PAGE BY COPYING RECEIVED SYM.

 04402  SUPP SYMS  NA, D4       3,0           6 D4          NOT 6 TRY 3         BRANCH IF NOT NORMALLY DEFINED.
 04406             DA, CAC3     NORM DEF      ONE           NORM DEF            COUNT GOOD SYMBOLS DURING SUPPRESSION.
 0441              TS           Z,X0          Z,R1          THREAD              RESTORE ADDRESS, FETCH ANOTHER SYMBOL.

 04414  NOT6 TRY3  NA, D4       3,0           3 D4          PRINT SYM +1        IF NOT BY = EITHER, PRINT IT ANYWAY.
 04418             DA, CAC3     DEF BY EQU    ONE           DEF BY EQU          COUNT GOOD SYMBOLS DURING SUPPRESSION.
 04422             TS           Z,X0          Z,R1          THREAD              RESTORE ADDRESS, FETCH ANOTHER SYMBOL.

 04426             TX           LINE          -             OWED SYM
 04428             TS           ONE           N,X1,1        PL THREAD +1        OWE SYMBOL WHILE PRINTING A DIVIDER.
 04432             TS           L BANK 5      Z,X1          PL THREAD           POINT TO BEGINNING OF PAGE CONSTR. AREA.
 04436             NA, CHAR1    LINE          LINE +1       C,-3                BRANCH IF FIRST LETTER CHANGED.
 0444   PL THREAD  EBA          Z,X3          ZERO          N,X1,1              PLANT POINTER TO SYMBOL TABLE ENTRY.

 04444             WA           SYM LINER     ONE THIRD     SYM LINER           COUNT UP THIRDS OF LINES.
 04448             LA           SYM LINER     FULL PAGE     OWE SYM Q           BRANCH IF CONSTRUCTED PAGE IS NOT FULL.

 04452  SYM PAGE   SWE, CHAR8   SYM LINER     9             SYM LINES           FORM NUMBER OF LINES OF SYMBOL INFO.
 04456             SWE, THREE   SYM LINER     7             SYM LINER           FORM KEY TO NO. OF SYMBOLS IN LAST LINE.
 0446              TN           SY COL HDG    5             LINE +1             COLUMN HEADINGS FOR LEFT THIRD.
 04464             NA           SYM LINES     ONE           C,+2
 04466             LA           SYM LINER     ZERO          PRINT SP1           BRANCH IF JUST ONE SYMBOL ON PAGE.
 0447              SS           BLOTS         CHAR 8        LINE +5             PLANT VERTICAL DIVIDER.
 04474             TN           SY COL HDG    5             N,AU2               COLUMN HEADINGS FOR MIDDLE THIRD.
 04478             NA           SYM LINES     ONE           C,+2
 0448              LA           SYM LINER     ONE           PRINT SP1           BRANCH IF JUST TWO SYMBOLS ON PAGE.
 04484             SS           BLOTS         CHAR 8        LINE +10            PLANT VERTICAL DIVIDER.
 04488             TN           SY COL HDG    5             N,AU2               COLUMN HEADINGS FOR RIGHT THIRD.

 04492  PRINT SP1  TS           SPACE 1       LINE          GO PRINT       C
 04494             SS           5,5           CHAR 8        LINE +5
 04496             TS, CHAR8    5,10          LINE +10      PRINT SP1      C    LINE WITH JUST DIVIDERS AFTER COL HDGS.
 0450              TX           L BANK 5      -             Z,R5
 04502             WA           Z,R5          SYM LINES     Z,R6                POINT TO BEGINNING OF SECOND COLUMN.
 04506             WA           Z,R6          SYM LINES     Z,R7                POINT TO BEGINNING OF THIRD COLUMN.
 04509             NA           SYM LINER     ZERO          C,+2                BRANCH IF LAST LINE HAS OVER 1 COLUMN.
 045092            WD           Z,R7          ONE           Z,R7
 0451              TN           LINE +1       3             COMPARES            INITIALIZE COMPARISON REGS TO BLANKS.

 04514  SYM LINE   TX           L COMPARS     -             Z,S3                POINT TO LEFT COMPARISON REGISTER.
 04518             TX           Z,X0          -             L NEW LINE
 0452              SM           SPEC SIGN     YP3           Z,S2                GROUP INDICATOR FOR GROUP A.
 04524             TS           Z,S2,2        Z,X1          SYM THIRD           (FOR INDEXED INDIRECT ADDRESSING).

# Page 502
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  21        PAGE  21

P04528  EACH THIRD OF A LINE CONTAINS ALL THE INFORMATION ABOUT ONE SYMBOL.

 04529             SM           Z,X0,5        Z,S3,1        -                   ADVANCE TO NEXT COLUMN AND COMPARE REG.
 0453   SYM THIRD  EBS          1,N,R5,1      ONE           Z,X2                POINT TO A SYMBOL IN THE TABLE.
 04534             NA           Z,X2          ZERO          REAL SYM            BRANCH IF SYMBOL, NOT HORIZONTAL DIVIDR.
 04538             WA           Z,X0          ONE           Z,AU2
 0454              MT           BLOTS         5             N,AU2,1
 04542             TS, C5T8     BLOT C8       LINE +5       END THIRD +1        PLANT HORIZONTAL DIVIDER OF BLOTS.

 04564  REAL SYM   SWE, D12     2,1           32            Z,X6
 04566             LA           Z,X6          FOUR          C,+4                BRANCH IF ANY OF HEALTHS 0-4.
 0457              LA           SIX           Z,X6          C,+2                BRANCH IF ANY OF HEALTHS 6-G.
 04574             SSL, ONE     2,1           31            C,+1                BRANCH IF FAILED LEFTOVER ERASE, NOT WD.
 04578             WA           Z,X6          ONE           Z,X6                INCREMENT HEALTHS 5½ (FAILED J-CARD) UP.
 04582             WA           Z,X6          L SYMH VEC    Z,X6
 04584             DA, CAC3     6,0           ONE           6,0                 INCREMENT COUNT OF SYMS IN THIS STATE.
 04588             SWS, C6T8    N,X6          A,5           LINE +5             PLANT HEALTH FLAG AND VERTICAL DIVIDER.
 04592             LA, LSTYPE   6,0           TYPE F        C,+3                BRANCH IF SYMBOL HAS A VALID DEFINITION.
 04596             TX           USY PLACE     -             Z,CSC          C    OTHERWISE TRY TO PUT IT IN TYPING LIST.
 0460              TS           ONES          EQIVLENT      C,+2
 04602             SWE, CAC3    2,1           16            EQIVLENT
 04604             TX           M EDIT DEF    -             Z,CSC          C    SET DEFINITION OR BLOTS IN PRINT.
 046061            NA           N,X2          N,S3          C,+2                BRANCH IF DIFFERENT FROM LAST SYMBOL IN
 046063            TS           DITTO         LINE +1       C,+4                THIS COLUMN; OTHERWISE PRINT A DITTO.
 046065            TX           N,X2          -             N,S3                PLANT NEW SYMBOL FOR NEXT COMPARISON.
 046067            SWS, C3T8    N,X2          A,2           LINE +1
 046068            SWS, C1T2    N,X2          A,2           LINE +2             SET HEADED SYMBOL IN PRINT.
 04608             LA           D4            2,2           C,+2                BRANCH UNLESS SYMBOL WAS SIMPLY UNDEF.
 04612             TS, C5T8     DASH C6       LINE +3       C,+3                SHOW THAT THERE'S NO PAGE OF DEFINITION.
 04616             TS           2,2           ARG 1         P3 D2A LZS -3  C    CONVERT PAGE OF DEF TO ZERO-SUPP ALPHA.
 0462              SS           ARG 2         C5T8          LINE +3
 04622             SWE, A ADRES 2,2           D,6,L         ARG 1
 04624             NA           ARG 1         ZERO          C,+3                BRANCH IF SYMBOL WAS REFERRED TO.
 04628             TX           DASH C3 C7    -             LINE +4
 0463              TS, C1T4     DASH C3       LINE +5       END THIRD           SHOW LACK OF REFERENCES.
 04634             TS           -             -             P3 D2A LZS     C    CONVERT NUMBER OF REFERENCES TO Z/S ALF.
 04638             SWS, C1T4    ARG 2         A,2,L         LINE +4
 0464              NA           LINE +4       999 REFS      C,+2                BRANCH IF 998 REFERENCES OR FEWER.
 04644             TX           OVER 1000     -             LINE +4             SUBSTITUTE ">1K" FOR NO. OF REFS.
 04648             TS, DECALFM1 2,2           ARG 1         P3 D2A LZS -2  C    CONVERT PAGE OF FIRST REF TO Z/S ALPHA.
 04654             SWE, A ADRES 2,2           D,3,L         ARG 1
 04656             TS, C5T8     ARG 2         LINE +4       P3 D2A LZS -2  C    CONVERT PAGE OF LAST REF TO Z/S ALPHA.
 046592            NA, C5T8     ARG 2         LINE +4       C,+2                WHEN BOTH PAGE NUMBERS ARE THE SAME.
 046594            TX           BLANKS        -             ARG 2               PRINT ONLY THE FIRST ONE.
 0466              SWS, C1T4    ARG 2         A,4,L         LINE +5

 04661  END THIRD  NA           EQIVLENT      ONES          EECR TEST           BRANCH IF ANY DEFINITION EXISTS.
 04662             NA           SYM LINES     ONE           SYMB COL Q          BRANCH IF NOT DOING LAST LINE OF PAGE.
 04666             NA           SYM LINER     ZERO          C,+2                BRANCH UNLESS DOING LAST COLUMN.
 0467              TS, CHAR8    BLANKS        LINE +5       END SYM PG          REMOVE VERTICAL DIVIDER FROM LAST COL.

 04674             SWE, ONE     SYM LINER     1             SYM LINER           SHOW THAT LAST COLUMN IS APPROACHING.
 04682  SYMB COL Q NA           Z,X1,1        Z,S2          SYM THIRD -1        BRANCH TO DO ANOTHER COLUMN IN SAME LIN.

# Page 503
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  22        PAGE  22

P04686  THERE ARE AT MOST 45 LINES OF SYMBOL INFORMATION ON A PAGE (135 SYMBOLS).

 0469   END SYM LN WD           SYM LINES     ONE           SYM LINES
 04692             TS, CHAR8    BLANKS        LINE +5       C,+2           C    REMOVE LAST VERT. DIVIDER AND PRINT.
 04696             TS           L COMPARS     Z,S3          SYM LINE +1         GO TO START ON THE NEXT LINE.

 0470   END SYM PG TS           L NEW LINE    Z,X0          PRINT SP1      C
 04701             TX           L SYM FOOT    -             Z,X1
 04702             TN           N,X1,12       12            LINE +1
 04704             TS           SPACE 2       OLD SPACE     GO PRINT       C
 04706             TN           N,X1,15       15            LINE +1
 04708  SP2 PRINT  TS           SPACE 2       OLD SPACE     GO PRINT       C
 0471              TN           N,X1          15            LINE +1
 04712             TS           SPACE 1       OLD SPACE     GO PRINT       C    PRINT KEY TO HEALTH FLAGS AT END PAGE.
 04716             WA           ONE THIRD     ONE THIRD     SYM LINER           SHOW THAT NO PAGE IS UNDER CONSTRUCTION.
 0472              TS           L BANK 5      Z,X1          AV DIS PAG     C    POINT TO CONSTRUCTION AREA, SKIP TO HOF.

 04724  OWE SYM Q  NA           OWED SYM      ZERO          C,+2                BR. IF A SYMBOL IS OWED (NEW 1ST LTR).
 04728             TS           Z,X0          Z,R1          THREAD              RESTORE ADDRESS, FETCH ANOTHER SYMBOL.
 04732             TX           OWED SYM      -             LINE +1             SET IT UP FOR FIRST-LETTER COMPARISON.
 04736             TS           ZERO          OWED SYM      PL THREAD           CLEAR FLAG, GO TO PROCESS OWED SYMBOL.



R0474   COSEQUENCE SUBROUTINES TO FILL A TYPEWRITER CUSS MESSAGE NAMING UP TO FOUR UN- OR ILL-DEFINED SYMBOLS.  ADVANCES
R04741  ITS OWN ENTRY POINT UNTIL THE MESSAGE IS FULL.

 047415 1ST UNSYM  SWS, C5T8    N,X2          A,4           USYM CUSS +1   C
 04742             SWS, C1T4    N,X2          A,4,L         USYM CUSS +2   C
 047425            SS           Z,CSC         CAC3          USY PLACE      C

 04743  2ND UNSYM  TS           N,X2          USYM CUSS +3  LENGTHEN +1    C

 047435 3RD UNSYM  SWS, C5T8    N,X2          A,4           USYM CUSS +4   C
 04744             SWS, C1T4    N,X2          A,4,L         USYM CUSS +5   C
 047445            TS           -             -             LENGTHEN       C

 04745  4TH UNSYM  TS           N,X2          USYM CUSS +6  LENGTHEN +1    C

 047455 5TH UNSYM  TS           N,SC          N,CSC         LENGTHEN +1    C    UNVEIL " & MORE" AND MAKE SUBRO VACUOUS.

 047465 LENGTHEN   WA           USYM TYPE     SPEC SIGN     USYM TYPE      C
 04747             WA           USYM TYPE     SPEC SIGN     USYM TYPE      C
 047475            SS           Z,CSH         CAC3          USY PLACE      S    SET UP NEXT ENTRY POINT, EXIT.

# Page 504
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  23        PAGE  23

P0475              ROUTINE TO PRINT A SUMMARY OF THE SYMBOL TABLE ANALYSIS, GIVING THE NUMBER OF SYMBOLS IN EACH HEALTH
R0477   STATE (OF WHICH FAILURE TO FIT IN THE SYMBOL TABLE IS ONE) AND THE GRAND TOTAL.  EMPTY HEALTH STATES ARE OMITTED
R0479   FROM THE LISTING.



 0485   END PR SYM LA           SYM LINER     ACO 7         C,+2                BRANCH IF SYM TAB LISTING FILLED LAST P.
 0486              TS           C,-1          OWE SYM Q +1  SYM PAGE            PRINT LAST PAGE OF SYMBOL TABLE LISTING.

 04869             TX            L W SUMARY   -             Z,X2
 0487              TN           N,X2,4        4             PAGE HED2 +1        PAGE HEADING FOR SYMBOL TABLE SUMMARY.
 04882             MT           BLANKS        11            N,AU2,1             CLEAN OUT REST OF PAGE SUBHEAD, TOO.
 048832            TS           Z,X0          Z,AU2         C,-1           C    CLEAN PRINT LINE IN CASE OF SUPPRESS.
 0489              SS           SYM TAB XS    CAC3          SYMBOL XS           SYMBOL TABLE OVERFLOW INTO HEALTH VECTR.
 0491              NA, C5T8     USYM CUSS +1  BLANKS        C,+2                BRANCH IF THERE ARE SYMBOLS TO CUSS.
 04912             TS           L SYMH VEC    Z,X1          SUMM LOOP
 04914             S, MON TYPER USYM CUSS     SPRAM +16     -
 04916  USYM TYPE  S, MON TYPER USYM CUSS +2  SPRA +8       C,-2                NAME UP TO 4 UNDEFINED SYMBOLS ON TYPER.

 0492   SUMM LOOP  DA, CAC3     N SYMBOLS     1,0           N SYMBOLS           CONTRIBUTE TO GRAND TOTAL OF SYMBOLS.
 0494              SS           N,X1          B26T30        MOV HELTH           LENGTH IN WORDS OF HEALTH STATE DESCRIP.
 0496              LA, CAC3     1,0           ZERO          MOV HELTH +2        BRANCH IF NO SYMBOLS IN THIS STATE.
 0498              SWE, CAC1    N,X1          32,L          ARG 1
 0499              TS           SPACE 2       LINE          P3 D2A LZS     C    CONVERT COUNT FOR THIS STATE TO Z/S ALF.
 0501              SWS, C3T6    ARG 2         A,2           LINE +2
 0502              WA           Z,X0          THREE         Z,AU2
 0503   MOV HELTH  MT           N,X2,1                      N,AU2,1             SET HEALTH STATE DESCRIPTION IN PRINT.
 0505              TS           Z,SC,1        -             GO PRINT       C

 0506              TS           Z,X2          Z,AU2         MOV HELTH      C    ADVANCE X2 WHEN HEALTH STATE IS EMPTY.

 0508              LA           N,X1          CAC 3         SHO CHARS           EXIT IF JUST PRINTED GRAND TOTAL.
 0510              LA           N,X1,1        C1T4          SUMM LOOP           BRANCH UNLESS JUST DID EXCESS SYMBOLS.

 0512              TS           UNDRLINE      LINE +2       SET SP2        C    PLACE A LINE BETWEEN ADDENDS AND TOTAL.
 0514              TS           SPACE 1       OLD SPACE     GO PRINT       C
 0515              TS           W TOTAL       LINE +1       SUMM LOOP +1        PRINT GRAND TOTAL TO FINISH SUMMARY.

 051518 SHO CHARS  WD           Z,X2          ONE           Z,X2
 05152             TN           N,X2          15            LINE +1
 05154             TS           ACO2          OLD SPACE     GO PRINT       C    UPSPACE 7 AND PRINT CHARACTER SET.
 05156             TS           BIT 1         OLD SPACE     EECR TABL +1

# Page 505
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  24        PAGE  24

P05161             ROUTINE TO PRINT AN ERASABLE & EQUIVALENCE CROSS REFERENCE TABLE.  THERE ARE 5 COLUMNS ACROSS THE
R05163  PAGE, AND UP TO 10 GROUPS OF 4 LINES EACH, MAKING A MAXIMUM OF 200 EECR SYMBOLS PER PAGE.  INPUTS ARE N EECRS,
R06155  A POINTER TO THE FIRST ONE IN R0, AND THE THREADING OF THE EECR LIST IN CAC3 OF THE THIRD WORD IN EACH EECR
R06157  SYMBOL TABLE ENTRY.  THE INPUTS ARE GENERATED DURING THE PRINTING OF THE SYMBOL TABLE ANALYSIS.



 05169  EECR TABL  S, ETS       2,2           ZX +8         C,-1                POINT TO FIRST EECR OF NEXT PAGE.
 05171             LA           N EECRS       ZERO          WC SUMARY           BRANCH WHEN EECR TABLE IS DONE.

 05173             TN           EECR SUBH     12            PAGE HED2 +1
 05174             MT           BLANKS        3             N,AU2,1
 05175             LA           N EECRS       C200          C,+2
 05176             TS           C200          EECR PAGE     C,+2                THERE ARE AT MOST 200 EECRS PER PAGE.
 05178             TX           N EECRS       -             EECR PAGE           SET NUMBER OF EECRS FOR LAST PAGE.
 0518              WD           N EECRS       EECR PAGE     N EECRS
 05181             WA           Z,X0          TWELVE        END LINE            SET LOCATION OF FIFTH COLUMN ON PAGE.
 05183             LA           SIX           EECR PAGE     SAVE BEGL           BRANCH UNLESS THERE WILL BE ONLY 1 LINE.

 05185             WD           EECR PAGE     ONE           EXCESS
 05186             BT           EXCESS        3             EXCESS
 05187             WA           Z,X0          EXCESS        END LINE            ALLOW FOR INCOMPLETE LINE.
 05191  SAVE BEGL  TX           Z,X0          -             L NEW LINE
 05193             BM           EECR PAGE     ONE FIFTH     COLUMN              FORM LENGTH OF MAX COLUMN - 1.
 05195             BT           COLUMN        5             EXCESS
 05196             WD           EECR PAGE     EXCESS        EXCESS              NUMBER OF EECRS IN LAST LINE.
 05198             EBA          Z,R0          ZERO          Z,X2                POINT TO FIRST EECR ON PAGE.
 0520              TS           FOUR          Z,R7          EECOL HDS           PRINT GROUPS OF FOUR LINES.

R05202  PROCEDURE FOR HEADS OF COLUMNS, REPLACING BACKWARDS THREADS BY COLUMN-TO-COLUMN THREADS.

 05204  ADV COLUM  EBA          Z,X2          ZERO          Z,X1
 052042            LA           Z,X4,1        ZERO          C,+2
 052044            S, ETS       2,2           ZX +2         C,-1                ADVANCE TO HEAD OF NEXT COLUMN.
 05206             LA           EXCESS        ZERO          EECOL HDS -1        BRANCH IF NOW ON SHORTER COLUMNS.
 05208             S, ETS       2,2           ZX +2         C,+1                ADVANCE ONE MORE STEP ON LONGER ONES.
 0521              WD           EXCESS        ONE           EXCESS
 05211             SWS, CAC2    ETS           16,L          1,2                 HEAD OF LAST COL POINTS TO HEAD OF THIS.

 05213  EECOL HDS  TS           Z,SC          Z,X4          PRIN EECR           GO SET HEAD-OF-COLUMN EECR IN PRINT.
 052142            EBA          Z,R0          ZERO          Z,X1                POINT TO FIRST EECR OF SECOND ROW.
 05215             NA           N,SH          GO PR EECR    ND EECR PQ          BRANCH AFTER LINE IS PRINTED.
 05217             TS           COLUMN        Z,X4          ADV COLUM           GO PROCESS HEAD OF NEXT COLUMN ON PAGE.

# Page 506
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  25        PAGE  25

P05221  SUBROUTINE USED BY EECR TABL TO SET IN PRINT THE THREE-WORD INFORMATION ITEM ABOUT AN ERASE OR EQUALS SYMBOL.
R05223  PRINTS A LINE WHEN IT IS FILLED, AND GOVERNS DOUBLE SPACING BETWEEN GROUPS OF 4 LINES.  ENTER WITH RETURN IN X4.


 05225  PRIN EECR  SWE, CAC3    2,1           16            EQIVLENT
 05226             TX           M EDIT DEF    -             Z,CSC          C    SET DEFINITION OF SYMBOL IN PRINT.
 05228             SWE, ONES    LINE +2       A,3,L         LINE +1
 05229             SWS, C6T8    LINE +3       A,3,L         LINE +1             SHIFT DEFINITION TO LEFT EDGE OF COLUMN.
 05231             TS           2,2           ARG 1         P3 D2A LZS -3  C
 05232             SWE, ONES    ARG 2         A,3,L         LINE +2             SET PAGE OF DEFINITION IN PRINT.
 052332            SWS, CHAR8   N,X2          A,1,L         LINE +2
 052334            SWS, C1T7    N,X2          A,1,L         LINE +3             SET SYMBOL IN PRINT.
 05234             WD           EECR PAGE     ONE           EECR PAGE
 05235             NA           Z,X0,3        END LINE      N,X4                EXIT IF LINE NOT FILLED YET.

 05237  GO PR EECR TX           L NEW LINE    -             Z,X0                RESET BEGINNING AND END OF LINE.
 052382            WA           L OLD LINE    TWELVE        END LINE
 05239             TX           L OLD LINE    -             L NEW LINE
 0524              LA           Z,R7,1        ONE           C,+2                BRANCH IF NOW END OF A 4-LINE GROUP.
 052412            TS           SPACE 1       LINE          PRINT LIN
 05242             TX           FOUR          -             Z,R7
 05243             TS           SPACE 2       LINE          PRINT LIN



R05245  LOOP TO COLLECT EVERY EECR ON A PAGE AFTER THE FIRST ROW.


 05246  EECR LOOP  SWS, CAC2    1,2           16,L          2,2                 NTH EECR OF A COL POINTS TO NTH OF NEXT.
 05248             S, ETS       1,2           ZX +2         C,+1
 052485            TS           Z,SC          Z,X4          PRIN EECR           GO TO SET EECR IN PRINT.
 0525              SWE, CAC2    1,2           16            ARG 1
 052502            EBA          ARG 1         BIT 25        Z,X1                POINT TO (N-1)TH OF NEXT COLUMN.
 05252  ND EECR PQ NA           EECR PAGE     ZERO          EECR LOOP

 05253             NA           N,SH          GO PR EECR    EECR TABL           BRANCH IF LAST LINE WAS COMPLETE AND PR.
 05255             TS           L NEW LINE    Z,X0          GO PRINT       C    OTHERWISE PRINT LAST LINE OF EECR TABLE.

# Page 507
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  26        PAGE  26

P05257             ROUTINE TO PRINT A SUMMARY OF THE WORD COUNT DATA FOR EACH ROUTINE WHOSE NAME APPEARS IN ONE OR MORE
R052572 COUNT CARDS.  THE FORMAT, PRINTED IN TWO COLUMNS, IS:  ROUTINE NAME; SERIAL NUMBER, FIRST AND LAST PAGES, AND
R052574 WORD COUNT FOR LAST REACH OF EACH ROUTINE; TOTAL WORD COUNT FOR ROUTINE; AND A CUMULATIVE TOTAL ADDED FROM ROU-
R052576 TINE TO ROUTINE.  THE NUMBER OF "UNCOUNTED" WORDS IS GIVEN IF APPROPRIATE. THIS SUMMARY IS OMITTED IF THE ASSEM-
R052578 BLY HAD NO COUNT CARDS.

 05258  WC SUMARY  EBA          SPEC SIGN     BIT 25        Z,X1
 052584            EBA          Z,X1          ZERO          Z,X4                POINT TO ORIGIN OF ROUTINE LIST.
 052592            EX           N,X4          CAC3          COUNT PTR
 052596            TS           ZERO          ROUTINES      C,+3
 0526   INCRTNES   WA           ROUTINES      ONE           ROUTINES       S
 052604            EBA          Z,X2          ZERO          Z,X1                KEEP X1 ONE CYCLE BEHIND.
 052612            S, ETS       1,0           ZX +2         C,+1
 052616            NA           N,X2,1        ONES          C,-3                COUNT UP NUMBER OF ROUTINES.

 052632            TX           ZERO          -             TOTAL WDS
 052636            NA, C7T8     4,1           ZERO          INCL UNCO           BRANCH IF THERE WERE BLANK COUNT CARDS.
 052644            LA           ROUTINES      ZERO          AV DISPLY      S    EXIT NOW IF NO COUNT CARDS AT ALL.
 052652            LA           4,1           ZERO          WC PAGE +1          BRANCH IF COUNT CARDS, NONE UNCOUNTED.
 05266  INCL UNCO  TS, CAC3     1,0           4,0           INCRTNES       C    INCLUDE SUMMARY OF UNCOUNTED WORDS AS
 052668            TS, CAC3     SPEC SIGN     1,0           WC PAGE +1          FINAL ITEM OF SUMMARY.

 052676            EBS          Z,X1          BIT 25        COUNT PTR           2ND AND SUBSEQUENT PAGES BEGIN HERE.
 052682            TS           TOTAL WDS     TOTAL WDS +1  AV DIS PAG     C    SKIP BEFORE EACH PAGE.
 052684            TN           COUNT HDG     8             PAGE HED2 +1
 052688            TS           ROUTINES      COUNT PAG     INCL UNCO -2   C
 052692            NA           ROUTINES      ONE           OVER 1 WC           BRANCH IF MORE THAN 1 RTNE ON THIS PAGE.
 0527              MT           BLANKS        7             N,AU2,1             BLANK OUT RIGHT-HAND COLUMN HEADING.
 052708            TS           ZERO          ROUTINES      WC GROUP -1         GO TO PRINT ONE-ITEM PAGE.

 052716 WC PAGE    TN           COUNT HDG     7             N,AU2               PUT UP RIGHT-HAND COLUMN HEADING.
 052724            LA           ROUTINES      C 80          C,+2
 052728            TX           C 80          -             COUNT PAG           NO MORE THAN 80 ITEMS ON A PAGE.
 052736            WD           ROUTINES      COUNT PAG     ROUTINES
 052738            TS           D4T8          AVAIL MSK     WC GROUP -1    C    FAKE UP A D4T8 MASK.
 05274             WA           COUNT PAG     ONE           Z,R7
 052744            SWE, ONES    Z,R7          1             Z,R7
 052748            EBA          COUNT PTR     BIT 25        Z,X2                POINT TO FIRST ITEM ON PAGE.
 052752 FIND WCC2  DA, AVAILMSK TOTAL WDS     2,1           TOTAL WDS
 052754            DA, AVAILMSK TOTAL WDS     2,2           TOTAL WDS
 052756            S, ETS       2,1           ZX +2         C,+1
 052758            NA           Z,R7,1        ONE           FIND WCC2           POINT TO FIRST ITEM OF SECOND COLUMN.
 052764            EBS          Z,X2          BIT 25        THREAD 2
 05277             TS           THREAD 2      ARG 1         BGIN LACE

 052772 WC LACING  NA           Z,X2          SPEC SIGN     C,+2
 052774            TS, CAC3     THREAD 1      2,0           WC GROUP -1         SNEAK OUT IF GOT TO UNCOUNTED-WDS ITEM.
 052776            EBA          THREAD 1      BIT 25        Z,X1                REARRANGE THREADING ORDER WITHIN ROUTINE
 052784            EX           2,1           CAC3          THREAD 2            LIST SO THAT THE 80 OR LESS ITEMS FOR
 052792            SS           THREAD 1      CAC3          2,1                 THIS PAGE ARE THREADED FROM TOP OF LEFT
 0528              EBA          THREAD2       BIT 25        Z,X2                COLUMN TO TOP OF RIGHT COLUMN TO SECOND
 052808 BGIN LACE  EX           1,1           CAC3          THREAD 1            OF LEFT COLUMN TO SECOND OF RIGHT COLUMN
 052814            SS           THREAD 2      CAC3          1,1                 TO THIRD OF LEFT COLUMN ETC.
 052824            NA, CAC3     THREAD 1      ARG 1         WC LACING           EXIT IF AGAIN POINTING TO TOP OF RIGHT.

# Page 508
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  27        PAGE  27

P05283  PRINT THE PAGEFUL OF WORD COUNT SUMMARIES ON THE PRECEDING PG.

 052832            EBA          COUNT PTR     BIT 25        Z,X1                AGAIN POINT TO FIRST ITEM OF PAGE.
 05284  WC GROUP   TX           FOUR          -             Z,R7                ARRANGE PRINTING INTO 4-LINE GROUPS.

 052848 WC LINE    TS           SPACE 1       LINE          SAVE BEGL      C    SAVE TRUE BEGINNING OF LINE.

 05286  WC HAF LIN LA           Z,X1          SPEC SIGN     C,+2                BRANCH IF DOING UNCOUNTED-WORDS ITEM.
 052868            TS           N,X1,1        LINE +1       C,+3                SET ROUTINE NAME IN PRINT.
 052876            TN           W UNCOUNT     5             LINE +1             ASSUME NO BLANK COUNT CARDS INITIALLY.
 052884            LA, C7T8     1,1           ZERO          WC NO REF           BRANCH IF ASSUMPTION IS RIGHT.
 052892            SWE,DECALFM1 1,1           D,6,L         ARG 1
 052896            TS, C5T8     W REF         LINE +2       P3 D2A LZS -2  C
 0529              SWE, ONES    ARG 2         A,5,L         LINE +3             SERIAL NUMBER OF LAST COUNT CARD.
 052908            NA           LINE +3       999 COUNT     C,+2
 052912            SWE, ONES    OVER 1000     A,1,L         LINE +3             FOR 999, SAY OVER 1000.
 05292             SWE,DECALFM1 N,X1          D,3           ARG 1
 052924            TS, C5T8     W LAST        LINE +3       P3 D2A LZS -2  C
 052928            SWE, ONES    ARG 2         A,3,L         LINE +4             SET IN PRINT PAGE OF LAST COUNT CARD.
 052936            SWE,DECALFM1 1,1           D,3           ARG 1
 05294             TS, C7T8     W TO C78      LINE +4       P3 D2A LZS -2  C
 052944            SWE, ONES    ARG 2         A,3,L         LINE +5             SET IN PRINT PAGE OF LAST WORD OF RTNE.

 052952 WC NO REF  TX           D4T8          -             AVAIL MSK           FAKE UP A D4T8 MASK.
 05296             EX           1,1           D4T8          ARG 1               WORD COUNT FOR LAST REACH.
 052968            DA, AVAILMSK 1,0           ARG 1         1,0                 FORM TOTAL WORD COUNT OF ROUTINE.
 052976            TS, C6T8     COLON C6      LINE +5       P3 D2A LZS     C
 05298             SWS, CHAR8   ARG 2         A,4           LINE +5
 052984            SWE, ONES    ARG 2         A,4,L         LINE +6             SET IN PRINT WORD COUNT OF LAST REACH.
 052992            EX           N,X1          D4T8          ARG 1
 052993            TX           TOTAL WDS     -             TOTAL WDS +2
 052994            TN           TOTAL WDS +1  2             TOTAL WDS           SWAP CUMULATIVE COLUMN TOTALS AND
 052996            DA           TOTAL WDS     ARG 1         TOTAL WDS           UPDATE TOTAL WORD COUNT OF ASSEMBLY.
 053004            TS           DASH C6       LINE +7       P3 D2A LZS     C    INITIALLY, ASSUME DOING UNCOUNTED ITEM.
 053012            SWS, C6T8    ARG 2         A,2           LINE +6
 053016            SWS, C1T2    ARG 2         A,6,L         LINE +7             SET IN PRINT WORD COUNT FOR ROUTINE.
 053024            TS           TOTAL WDS     ARG 1         P3 D2A LZS     C
 053028            LA           Z,X1          SPEC SIGN     C,+2                BRANCH IF DOING UNCOUNTED WORDS.
 053036            SS           ARG 2         C3T8          LINE +7             SET IN PRINT CUMULATIVE WORD TOTAL.
 053044            WD           COUNT PAG     ONE           COUNT PAG
 053048            S, ETS       1,0           ZX +1         C,+1                FOLLOW THREAD TO NEXT ITEM TO PRINT.
 053056            LA           COUNT PAG     ZERO          C,+2                BRANCH IF NO MORE FOR THIS PAGE.
 053064            LA           Z,X0,8        L NEW LINE    WC HAF LIN          BRANCH TO DO 2ND HALF-LINE.

 053072            TS           L NEW LINE    Z,X0          PRINT AVL      C    PRINT LINE WITH ONE OR TWO ITEMS.
 05308             LA           COUNT PAG     ZERO          WC PAGE

 053084            NA           Z,R7,1        ONE           WC LINE             BRANCH IF NEXT LINE IS IN SAME GROUP.
 053092            TS           SPACE 2       OLD SPACE     WC GROUP

# Page 509
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  28        PAGE  28

P0531              ROUTINE TO PRINT A DISPLAY OF THE MEMORY TYPE PATTERN USED IN THE CURRENT ASSEMBLY, AND THE STATE OF
R05312  RESERVATION OR AVAILABILITY OF FIXED AND ERASABLE MEMORY.  THERE ARE FIVE TYPES OF ENTRIES IN THIS DISPLAY:
R05314             SPECIAL OR NONEXISTENT MEMORY,
R05315             RESERVED FIXED MEMORY,
R05316             AVAILABLE FIXED MEMORY,
R05317             RESERVED ERASABLE MEMORY, AND
R05318             AVAILABLE ERASABLE MEMORY.
R05319  THE DISPLAY CONSISTS OF AN ENTRY FOR EACH CONTIGUOUS GROUP OF ADDRESSES HAVING ONE ENTRY TYPE, GIVING THE LOWER
R05321  AND UPPER ADDRESS LIMITS AND THE ENTRY TYPE.  PRINTED IN TWO COLUMNS AT UP TO 80 ENTRIES PER PAGE.

 05325  AV DISPLY  TX           ZERO          -             Z,S2                INITIALIZE ADDRESS TO ZERO.
 05335             TN           AV SUBHED     5             PAGE HED2 +1
 05336             MT           BLANKS        10            N,AU2,1

 0534   AV DIS PAG TX           BIT 1         -             OLD SPACE           SKIP TO H-O-F BEFORE EACH PAGE.
 0535              TX           L BANK5       -             Z,X1                TWO COLUMNS ARE BUILT UP IN BANK 5.
 0536   WHAT TYPE  TX           Z,S2          -             ADDRESS
 05365             TX           L TYP TAB     -             Z,X3
 0537              LA, CAC3     ADDRESS       3,0           C,+2                BRANCH WHEN MEMORY TYPE FOUND.
 0538              TS           Z,X3,1        -             C,-1
 05385             NA, LSTYPE   3,0           TYPE N        E OR F              BRANCH IF NOT SPECIAL OR NONEXISTENT.
 05395             SWE, CAC1    MTYPE CAX     32,L          N,X1                SAVE ADDRESS OF DESCRIPTION.
 05405  USE ENCAT  TS, CAC3     3,0           1,0           STO AV CAC +1       SAVE END CATEGORY = UPPER LIM OF ENTRY.

 05415  E OR F     NA, LSTYPE   3,0           TYPE F        ERASABLE
 0542              TS           ADDRESS       EQIVLENT      AVAIL Q        C    TEST AVAILABILITY OF FIRST LOCATION.
 0543              LA           BIT 32        EQIVLENT      F AVAIL             ONE OF BITS 1-32 IS ONE IF AVAILABLE.
 0544              SWE, CAC1    M TYPE CAX    16,L          N,X1                SAVE ADDRESS OF DESCRIPTION.
 0545              TS           ZERO          COMP BITS     FIND END            GO TO FIND END OF RESERVED E OR F.
 0546   F AVAIL    TS           M TYPE CAX    N,X1          E AVAIL +1          SAVE ADDRESS OF DESCRIPTION.

 0547   ERASABLE   TS           ADDRESS       EQIVLENT      AVAIL Q        C    TEST AVAILABILITY OF FIRST LOCATION.
 0548              LA           BIT 32        EQIVLENT      E AVAIL
 05485             TS           M TYPE CAX +1 N,X1          F AVAIL -1          SAVE ADDRESS OF DESCRIPTION.
 05495  E AVAIL    SWE, CAC1    M TYPE CAX +1 16,L          N,X1                SAVE ADDRESS OF DESCRIPTION.
 05505             TX           B1 THRU 32    -             COMP BITS           SET UP TO FIND END OF AVAILABLE E OR F.
 05515             EX           EQIVLENT      CAC3          EQIVLENT            REMOVE AVAILABILITY BIT.

 05525  FIND END   LA, CAC3     3,0           EQIVLENT      USE ENCAT           ITEM DONE IF LOCATION IS END CATEGORY.
 05535             SWE, ONES    AVAIL MSK     1             AVAIL MSK           SET MASK TO TRY NEXT LOCATION.
 05545             LA           BIT 32        AVAIL MSK     TRY BIT N           BRANCH IF STILL IN SAME AVAIL. WORD.
 05555             TS           Z,X4,1        -             COMP WRDS           GO TO TEST 32 LOCATIONS AT ONCE.

 05565  TRY BIT 1  TX           BIT 1         -             AVAIL MSK           EXAMINE AT MOST 32 MORE LOCATIONS.
 05575  TRY BIT N  NA, AVAILMSK 4,0           COMP BITS     STO AV CAC          BRANCH ON CHANGE IN AVAILABILITY STATUS.
 05585             WA           EQIVLENT      ONE           EQIVLENT
 0559              TS           -             -             FIND END            CHECK CATEGORY END BEFORE NEXT LOCATION.

 0560   COMP WRDS  NA           N,X4          COMP BITS     TRY BIT 1           BRANCH ON ANY AVAIL CHANGE IN AVAILWORD.
 0561              WA           EQIVLENT      C32           EQIVLENT
 05615             LA, CAC3     3,0           EQIVLENT      USE ENCAT           BRANCH IF END CATEGORY WITHIN LAST AVWD.
 05625             TS           Z,X4,1        -             COMP WRDS           TRY THE NEXT 32 LOCATIONS.

# Page 510
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  29        PAGE  29

P05631  STORE IN BANK 5 A CAC OF THE FORM  L DESCRIP  FWA  LWA .

 05635  STO AV CAC SS           EQIVLENT      CAC3          N,X1                STORE UPPER LIMIT NOT END OF CATEGORY.
 05645             SWS, CAC2    ADDRESS       16,L          N,X1                STORE LOWER LIMIT OF ENTRY.
 05655             WA           N,X1,1        ONE           Z,S2                LOWER LIMIT FOR NEXT ENTRY.
 05665             LA           B5 LOC 80     Z,X1          C,+2                BRANCH IF A PAGEFUL IS READY.
 05675             LA           Z,S2          MAX LOC       WHAT TYPE           BRANCH IF MORE LOCATIONS FOR THIS PAGE.

R05685  HAVING STORED UP TO 80 ENTRIES IN CONDENSED CAC-FORMAT, WE NOW PRINT THEM ON ONE PAGE IN TWO COLUMNS.

 05695             SWE, CHAR8   Z,X1          1             EQIVLENT
 0570              WD           Z,X1          EQIVLENT      Z,X3                LET X3 POINT TO BEGINNING OF 2ND COLUMN.
 0571              TX           L BANK5       -             Z,X2
 05715             TX           Z,X3          -             Z,S1                S1 SERVES AS LIMIT +1 FOR 1ST COLUMN.

 05725  AV GROUP   TX           FOUR          -             Z,R7                DOUBLE-SPACE BETWEEN GROUPS OF 4 LINES.
 05735  AV LINE    TX           SPACE 1       -             LINE
 0574              TX           Z,X0          -             Z,S3                SAVE TRUE BEGINNING OF LINE.
 0575              SWE, CAC3    N,X2          32            Z,AU1
 05755  AV DSCRIP  TN           N,AU1         4             LINE +4             STORE DESCRIPTION OF MEMORY TYPE.
 05765             SWE, CAC3    N,X2          16            ADDRESS             RETRIEVE LOWER LIMIT.
 05775             EX           N,X2,1        CAC3          EQIVLENT            RETRIEVE UPPER LIMIT.
 05785             WA           M EDIT DEF    TWO           Z,CSC          C    PRINT UPPER LIMIT OF CATEGORY.
 05795             LA           EQIVLENT      ADDRESS       C,+3                STOP THERE IF LENGTH IS 1.
 05805             SWE, CAC3    M EDIT AV1    16            Z,CSC          C    PRINT LOWER LIMIT OF CATEGORY.
 05815             SS           MW TO         MW TO MASK    LINE +2             INSERT "TO" BETWEEN LOW AND HIGH LIMITS.
 05825             LA           Z,S1          Z,X2          LAST LEFT           BRANCH IF 1ST (LEFT-HAND) COLUMN DONE.

 05835  SET UP RGT SWE, CAC3    N,X3          32            Z,AU1
 0584              TS           Z,X0,8        -             AV DSCRIP      C    MOVE TO RIGHT SIDE, PRINT DESCRIPTION.
 0585              SWE, CAC3    N,X3          16            ADDRESS             RETRIEVE LOWER LIMIT.
 0586              EX           N,X3,1        CAC3          EQIVLENT            RETRIEVE UPPER LIMIT.
 0587              WA           M EDIT DEF    TWO           Z,CSC          C    PRINT UPPER LIMIT OF CATEGORY.
 0588              LA           EQIVLENT      ADDRESS       C,+3                STOP THERE IF LENGTH IS 1.
 0589              SWE, CAC3    M EDIT AV1    16            Z,CSC          C    PRINT LOWER LIMIT OF CATEGORY.
 0590              SS           MW TO         MW TO MASK    LINE +2             INSERT "TO" BETWEEN LOW AND HIGH LIMITS.
 0591   RSTORE X0  TS           Z,S3          Z,X0          PRINT AVL      C    BISEQUENCE BIT IS A SLY SWITCH.
 0592              NA           Z,R7,1        ONE           AV LINE             BRANCH IF STILL IN SAME 4-LINE GROUP.
 0593              TS           SPACE 2       OLD SPACE     AV GROUP            OTHERWISE DOUBLE-SPACE & START ANOTHER.

 0594   LAST LEFT  HA           RSTORE X0     BIT 1         RSTORE X0           SET SWITCH TO RETURN HERE.
 0595              NA           Z,X1          Z,X3          SET UP RGT          INCLUDE 2ND COLUMN IF IT HAS AN ENTRY.
 0596   PRINT AVL  TS           Z,SC          Z,X4          PRINT LIN           PRINT LINE WITH 1 OR 2 COLUMNS.
 0597              HA           RSTORE X0     BIT 1         RSTORE X0           RESTORE SWITCH BIT.
 0598              LA           Z,S2          MAX LOC       AV DIS PAG          BRANCH IF MORE TO DO ON ANOTHER PAGE.
 0600              TX           Z,X0          -             L NEW LINE

R06122             ROUTINE TO WAIT FOR WS3 TO PRINT THE INDEX TO OCCUPIED LOCATIONS.

 06124             LA           N RECORDS     ONE           E LOX GATE +1       BRANCH IF INDEX WILL BE OMITTED.
 06132             TS           -             -             MON WAKE       C
 06134  E LOX GATE TS           ZERO          PLOX GATE     PARAP NAP           LET WS3 BEGIN LOCATION INDEX.

# Page 511
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  30        PAGE  30

P0614              ROUTINE TO PRINT A SUMMARY OF THE PARAGRAPHS GENERATED BY THE CURRENT ASSEMBLY.  EACH LINE CONSISTS
R0615   OF THE LOWER AND UPPER ADDRESS LIMITS FOR THE PARAGRAPH, THE PARAGRAPH NUMBER, AND THE CORRESPONDING MANUFACTUR-
R0616   ING LOCATION CODE, WHICH WILL NORMALLY BE THE UNIT OF WORK FOR A MANUFACTURING TASK.  IT SHOULD BE NOTED HERE
R0617   THAT THE WORD "PARAGRAPH" HAS REPLACED THE WORD "SUBSTRAND" AS THE MOST GENERAL TERM FOR 256 WORDS OF YUL ASSEM-
R0618   BLY OUTPUT.  THIS CHANGE CAME AFTER THE WRITING OF GENERAL PASS 3, SO THAT THE TAGS AND ANNOTATION ARE NOT AL-
R0619   WAYS CONSISTENT WITH THE PRINT-OUTS.  CAVEAT LECTOR.



 06192             TX           L OLD LINE    -             Z,X5
 0620              TS           L NEW LINE    Z,X0          AV DIS PAG     C    SKIP TO HEAD OF FORM AFTER AVAILABILITY.
 0622              TX           SPEC SIGN     -             Z,R0                EXAMINE SUBSTRAND ZERO FIRST.
 0624              TN           SUBSTRED      15            PAGE HED2 +1        PAGE SUBHEAD FOR SUBSTRAND SUMMARY.
 0626              NA           N RECORDS     ONE           P3 FIND SS          BRANCH IF THERE ARE ANY WDS FROM ASSY.
 0628              TN           NO WORDS      7             LINE
 0629              TS           CAC3          Z,X2          PRINT AVL      C    IN CASE OF BARREN ASSEMBLY (NO WORDS).
 06291             TS, BIT 34   ONES          SWITCH        WS3 DONE Q          ANNOUNCE LACK OF WORDS, GO TO FINALIZE.

 0631   P3 FIND SS SWE, D12     Z,R0          5             Z,X4
 0632              WA           Z,X4          L SUBSTRB     Z,X4
 0633              SWS, B26T30  Z,R0          18,L          C,+1
 0634              SWE, ONES    BIT 1         0             AVAIL MSK
 0635              LA, AVAILMSK 4,0           ZERO          P3 NEXT SS          BRANCH IF CURRENT SUBSTRAND WASN'T USED.

 0637   SET SP2    TX           SPACE 2       -             LINE
 0638              NA           Z,R0          LAST SS NO    C,+3                BRANCH IF THIS PH NOT SUCCESSOR OF LAST.
 0639              LA, THREE    LAST SS NO    ZERO          C,+2                BRANCH IF THIS PH BEGINS 4-PH GROUP.
 0640              TX           SPACE 1       -             OLD SPACE           SELECTIVELY CLOSE UP PH SUMMARY FORMAT.
 0642              SWE, CAC3    Z,R0          8,L           ADDRESS
 0643              SM           ADDRESS       OCT 377       EQIVLENT            FORM 1ST & LAST ADDRESSES OF PARAGRAPH.
 0645              SWE, CAC3    M PRINT PN    32            Z,CSC          C    PRINT MOST PARAGRAPH INFORMATION.
 0647              SWE, CAC3    M EDIT AV1    16            Z,CSC          C    CALL FOR LOWER LIMIT PRINT.
 0649              SS           MW TO         MW TO MASK    LINE +2             INSERT "TO" BETWEEN LIMIT ADDRESSES.
 0651   GO PRINT   TS           Z,SC          Z,X4          PRINT LIN           PRINT SUBSTRAND SUMMARY LINE.
 06522             WA           Z,R0          ONE           LAST SS NO          NAME OF LAST PARAGRAPH USED.
 0653   P3 NEXT SS NA           Z,R0,1        MAX SSNO      P3 FIND SS          BRANCH IF THERE ARE MORE PARAGRAPHS.

 06542             TN           SUP REVOK     15            PAGE HED2 +1        IN CASE OCTAL SUPPRESSION IS REVOKED.
 06544             SWE, ONES    PAGE NO       D,4,L         ARG 1
 06545             DA           ARG 1         BIT 32        ARG 1
 06546             TS           ZERO          N OCT ERRS    P3 D2A LZS     C
 06548             SS           ARG 2         C5T8          PAGE HEAD +15       PREPARE FOR CUSSES IN THE OCTAL STORMAP.

# Page 512
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  31        PAGE  31

P0655              ROUTINE TO EDIT THE SUBSTRANDS GENERATED BY THE CURRENT ASSEMBLY AT THE RATE OF ONE PER PAGE.  THE
R0657   SUBSTRAND NUMBER AND A NOTATION KEY ARE PRINTED, AND EACH LINE BEGINS WITH THE ADDRESS OF THE FIRST OF THE 8
R0659   WORDS ON THE LINE.  WORDS ARE REPLACED BY "@", "BAD WORD", OR "CONFLICT" IF APPROPRIATE.

 0665   EDIT LOOP  LA           PH FLAG A     ZERO          PARAP NAP           SLEEP UNTIL WS3 PREPARES A PARAGRAPH.
 0667              TS           PH FLAG A     Z,X2          -
 0669              TS           ZERO          PH FLAG A     MON WAKE       C    ALLOW WS3 TO PRESENT ANOTHER PARAGRAPH.
 0671              LA           CAC3          Z,X2          SUBR LIST           BRANCH IF NOT A SUBSTRAND BUT END FILE.

 0673              TS           Z,X2,2        Z,X3          AV DIS PAG     C    SAVE BUFFER NAME, GO TO H-O-F EACH PAR.
 0675              SSL, ONE     SWITCH        32            C,+1                SKIP IF OCTAL MAP IS SUPPRESSED.
 0680              SWE, CAC3    M EXPLAIN     16            Z,CSC          C    PRINT PAGE HEAD AND SUBHEAD FOR PARAGS.
 0682              SWE, CAC3    N,X2          8,L           ADDRESS             FORM 1ST ADDRESS OF PARAGRAPH.

 0684   LINE LOOP  SWE, CAC3    M EDIT AV1    16            Z,CSC          C    SET 1ST ADDRESS OF LINE IN PRINT.
 0686              TX           Z,X0          -             Z,R1
 0687              WA           Z,R1,2        FIFTEEN       END LINE            START WITH N,R1 = LINE +2.

 0689   HALF LINE  TS           M EDIT WD     Z,S3          EDIT CALL      C    MAKE UP 14-CHARACTER PRINT IMAGE OF WD.
 0691              SWS, C1T6    IMAGE         A,6           N,R1
 0692              SWS, C7T8    IMAGE +1      A,6           N,R1,1
 0693              SWS, C1T6    IMAGE +1      A,6           N,R1                SET IN PRINT 1ST OR 5TH WORD OF LINE.
 0695   EDIT CALL  TS           Z,X2,1        -             N,S3           C    MAKE UP IMAGE OF NEXT WORD.
 0697              SWS, C7T8    IMAGE         A,4           N,R1,1
 0698              SWS, C1T4    IMAGE         A,4           N,R1
 0699              SWS, C5T8    IMAGE +1      A,4           N,R1,1
 0700              SWS, C1T4    IMAGE +1      A,4           N,R1                SET IN PRINT 2ND OR 6TH WORD OF LINE.
 0702              TS           Z,X2,1        -             N,S3           C    MAKE UP IMAGE OF NEXT WORD.
 0704              SWS, C5T8    IMAGE         A,2           N,R1,1
 0705              SWS, C1T2    IMAGE         A,2           N,R1
 0706              SWS, C3T8    IMAGE +1      A,2           N,R1,1
 0707              SWS, C1T2    IMAGE +1      A,2           N,R1                SET IN PRINT 3RD OR 7TH WORD OF LINE.
 0709              TS           Z,X2,1        -             N,S3           C    MAKE UP IMAGE OF NEXT WORD.
 0711              SS           IMAGE         C3T8          N,R1,1
 0712              TX           IMAGE +1      -             N,R1,1              SET IN PRINT 4TH OR 8TH WORD OF LINE.
 0714              LA           Z,R1          END LINE      HALF LINE           BRANCH IF JUST DID FIRST HALF OF LINE.

 0716              NA, B44T45   ADDRESS       ONES          C,+2                BRANCH IF NOT LAST OF 4-LINE GROUP.
 0718              TS           SPACE 2       LINE          C,+2
 0719              TX           SPACE 1       -             LINE
 07192             SSL, ONE     SWITCH        32            C,+1                SKIP TO SUPPRESS OCTAL STORAGE MAP.
 0720              TS           Z,SC          Z,X4          PRINT LIN           PRINT AN ADDRESS AND EIGHT WORDS.
 0722              WA           ADDRESS       EIGHT         ADDRESS
 07221             NA, B41T48   ADDRESS       ZERO          LINE LOOP           BRANCH IF NOT END OF SUBSTRAND.

# Page 513
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  32        PAGE  32

P072214 AT END OF EACH PARAGRAPH (FORMERLY CALLED A SUBSTRAND), IF ANY OCTAL-MAP ERRORS WERE FOUND, PRINT A COMBINATION
R072216 CUSS-WHAM LINE GIVING THE NUMBER(S) OF THE CUSS(ES) AND THE PAGE OF THE PRECEDING CUSSED LINE.

 07222             LA           N OCT ERRS    ZERO          ORTH PARA           BRANCH IF NO CUSSES ON THIS PAGE.

 07223  CUSS OCT   WA           Z,X0          TWO           Z,X4
 072235            DA           N ERR LINS    ONE           ARG 1               SERIAL NO. FOR FIRST CUSS OF PAGE.
 072245            SWE, ONES    ARG 1         D,4,L         ARG 1
 07225             TS           E BLOTS       LINE +1       P3 D2A LZS     C
 072255            SWE, ONES    ARG 2         A,1,L         ARG 2
 07226             LA, C1T4     BLANKS        ARG 2         C,-1
 072265            WA           35 C2         ARG 2         N,X4                LINE BEGINS "E▪▪▪▪▪▪  # NN  "
 072275            NA           N,X4,2        LINE +2       PR OCT ERR          BRANCH IF JUST DID SERIAL OF LAST CUSS.

 072285            TX           BLOTS         -             LINE +3
 07229             TN           LINE +3       12            LINE +4             FILL IT OUT AS A WHAM LINE.
 0723              LA           ERR PAGES     ZERO          PREV CUSS +5        BRANCH IF THIS IS THE FIRST CUSS PAGE.

 07231             SWS, C1T4    ERR PAGES     A,4,L         PREV CUSS +4
 072315            TN           N,SC,6        5             LINE +11            SET IN PRINT POINTER TO PREVIOUS CUSS.

 072325 PREV CUSS  ALF,5        PRECEDING CUSSED LINE IS ON PAGE     ▪▪▪

 07233             SWE, C1T4    PAGE HEAD +15 A,4,L         ERR PAGES           SHOW THAT FIRST CUSS IS ON THIS PAGE.
 07234             SS           PAGE HEAD +15 C5T8          ERR PAGES           SHOW THAT LATEST CUSS IS ON THIS PAGE.
 07235             DA           N ERR LINS    N OCT ERRS    N ERR LINS
 072355            LA           N OCT ERRS    ONE           PR OCT ERR          CUSS LINE IS DONE IF JUST ON ONE PAGE.

 072365            TX           W THROUGH     -             LINE +3
 07237             TS           N ERR LINS    ARG 1         CUSS OCT +2         MAKE IT "E▪▪▪▪▪▪  # NN   THROUGH  # NN".

 07238  PR OCT ERR SSL, ONE     SWITCH        32            C,+1                SKIP IF OCTAL MAP IS SUPPRESSED.
 07239             TS           Z,SC          Z,X4          PRINT LIN
 072395            TX           ZERO          -             N OCT ERRS          RESET COUNT FOR NEXT PAGE.

 07242  ORTH PARA  CC           N,X3          -             2,1                 ORTHOCOUNT FLAG-CORRECTED BYPT RECORD.
 07243             NA, BIT11    SWITCH        ZERO          WS3 DONE Q          BRANCH IF BYPT IS NOT TO BE WRITTEN.
 07244             TS, D4       C,+1          WRIT DISC +1  PHI TAPE            SUPPLY INDEX NUMBER TO DISC-WRITER.
 07246             WF,1         3,0           -             DISASTER            WRITE COMPLETED BYPT RECORD ON YULPROGS.
 072474            NA           DISC ADRS     ZERO          WRIT DISC           SEND PARAGRAPH TO DISC IF POSSIBLE,
 07248  WS3 DONE Q LA           CAC3          Z,X2          SUBR LIST
 0725              NA           PH FLAG C     ZERO          PARAP NAP           SLEEP IF WS3 HAS EARS CLOSED.
 0727              TS           Z,X3          PH FLAG C     MON WAKE       C    RETURN BUFFER TO WS3.
 0728              TS           -             -             EDIT LOOP

# Page 514
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  33        PAGE  33

P0729              ROUTINE TO PRINT A LIST OF THE SUBROUTINES CALLED BY THE PROGRAM OR SUBROUTINE BEING ASSEMBLED,
R072904 GIVING EACH SUBROUTINE'S NAME, REVISION NUMBER, THE PAGE ON WHICH ITS CONFIRMING CALL IS PRINTED, AND (IF THE
R072908 ASSEMBLY IS OF A PROGRAM) THE PAGE ON WHICH IT BEGINS.



 07291  SUBR LIST  TN           SUBL HEAD     4             PAGE HED2 +1
 072912            MT           BLANKS        11            N,AU2,1             SET UP PAGE SUBHEAD FOR SUBROUTINE LIST.
 072914            TS           ZERO          SUBRO NO      AV DIS PAG     C    INITIALIZE 4-LINES-PER-GROUP COUNTER.
 072916            WA           Z,X0          ONE           Z,AU2
 072917            MT           BLANKS        15            N,AU2,1             CLEAN LINE LEST OCTL MAP WAS SUPPRESSED.
 07292             TX           L SYM THR     -             Z,X2
 072922            S, ETS       2,13          ZX +2         NEXT SUB            BEGIN BY SEEING IF THERE ARE NONE.

 07293  SUBL LOOP  TS           N,X3          LINE +1       C,+4                SET SUBROUTINE NAME IN PRINT.
 072934            EX           3,1           A ADRES       ARG1           S    WHEN SUBROUTINE HAS NO SUBSIDIARIES.
 072938            SWS,THREAD11 3,1           24            Z,X3           C
 07294             SWE, A ADRES N,X3          D,3           ARG1           S    WHEN SUBROUTINE HAS SUBSIDIARY SUBROS.
 072944            SSL, ONE     3,1           23            C,-3           C
 072946            TS           -             -             P3 D2A LZS -2  C
 072948            SS           ARG 2         C6T8          LINE +2             SET REVISION NUMBER IN PRINT.
 072952            LA, CAC1     2,0           ZERO          LIST SUB            BRANCH IF SUBRO CALL WAS NOT CONFIRMED.

 072956            SWE, CAC2    N,X2          D,4           ARG 1
 072958            TS           -             -             P3 D2A LZS     C
 07296             SS           ARG 2         C5T8          LINE +3             SET IN PRINT PAGE OF CONFIRMING CALL.
 072964            LA, CAC1     2,1           ZERO          LIST SUB            BRANCH IF SUBROUTINE WAS NOT PRINTED.

 072968            SWE, CAC2    2,1           D,4           ARG 1
 07297             TS           -             -             P3 D2A LZS     C
 072972            SS           ARG 2         C5T8          LINE +4             SET IN PRINT PAGE WHERE SUBRO BEGINS.

 072976 LIST SUB   TX           SPACE 1       -             LINE
 072978            NA, THREE    SUBRO NO      ONES          C,+2
 07298             TX           SPACE 2       -             LINE                SP2 BETWEEN GROUPS OF FOUR LINES.
 072984            WA           SUBRO NO      ONE           SUBRO NO
 072986            S, ETS       2,1           ZX +2         C,+1
 072987            TS           Z,SC          Z,X4          PRINT LIN           ADVANCE TO NEXT SUBROUTINE AND PRINT.
 07299  NEXT SUB   LA           ONES          N,X2          CLOSE YUL           BRANCH IF THERE ARE NO MORE CALLED SUBS.
 072994            TS           N,X2          Z,X3          SUBL LOOP           POINT TO SUBRO NAME ENTRY IN DIRECTORY.

# Page 515
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  34        PAGE  34

P0730              SUBROUTINE IN PASS 3 TO PRINT A LINE WITH PAGINATION CONTROL.  ENTRY IS
R0732              TS           Z,SC          Z,X4          PRINT LIN           THE SYMBOL ..LINE.. IS ASSIGNED TO 0,0.
R0734   STRICTLY SPEAKING, THIS SUBROUTINE PRINTS THE LINE LAST DELIVERED TO IT.

 0735   PRINT LIN  TX           L OLD LINE    -             Z,X5
 07351             TX           Z,X0          -             L OLD LINE          NEW LINE AGES SUDDENLY.
 0736              LA           BIT 1         N,X5          PRIN SKIP           BRANCH IF LAST LINE IS SKIP.

 0738              WA           LIN COUNT     N,X5          LIN COUNT           ADD TO LINE COUNT FROM LAST LINE.
 0740              LA           LIN COUNT     N LINES       PRINT OLD           BRANCH TO NORMAL PRINT.
 0742              TX           BIT 1         -             N,X5                SKIP AFTER LAST LINE AT END OF PAGE.
 07432  PRIN SKIP  NA           N COPIES      ZERO          COPY PRTS           BRANCH IF MORE COPIES TO BE MADE.
 07434             S, PHI PRINT DEPAGIN8                                        AT EVERY SKIP, SUPPRESS MONITOR PAGEHED.
 0744              NA           N COPIES      ZERO          COPY PRTS           BRANCH IF MORE COPIES TO BE MADE.
 07442             S, PHI PRINT 5,0           -             -
 0745              DA           PAGE NO       ONE           PAGE NO
 0747              SWE, ONES    PAGE NO       D,4,L         ARG 1
 0749              TS           -             -             P3 D2A LZS     C    CONVERT PAGE NUMBER TO ZERO-SUPP ALPHA.
 0751              SS           ARG 2         C5T8          PAGE HEAD +15       PUT IT IN PAGE HEAD IN THAT FORM.

 07558  PRINT HED  NA           N COPIES      ZERO          COPY PRTS
 0756              S, PHI PRINT PAGE HEAD     -             -
 07561             NA           N COPIES      ZERO          COPY PRTS
 0757              S, PHI PRINT PAGE HED2     -             -                   PRINT SUBHEADING.
 0759              TS           5 LINES       LIN COUNT     C,+3

 0760   PRINT OLD  NA           N COPIES      ZERO          COPY PRTS
 0761              S, PHI PRINT 5,0           -             -
 0763              TX           Z,X5,1        -             Z,X0                OLD LINE DISCOVERS FOUNTAIN OF YOUTH.
 0765              MT           BLANKS        15            N,X5,1
 0766              TS           L OLD LINE    Z,X5          N,X4                AND IS MOREOVER MADE CLEAN AGAIN.



R0768   MINOR SUBROUTINE TO COPY PRINTING ONTO TAPE 5.

 0769   COPY PRTS  SS           N,SH          A ADRES       C,+2
 0770              WA           L COP BUFS    ONE           Z,X0
 0771              TN                         16            N,X0,15             COLLECT 4 LINES BEFORE WRITING.
 0772              TX           Z,SH          -             AVAIL MSK
 0773              NA           0,3           EOR           COPY EXIT           BRANCH IF BUFFER NOT YET FILLED.

 0774              TX           0,4           -             Z,X0
 0775              CC           0,1           -             0,65
 0776              TS           N,X0          L COP BUFS    PHI TAPE            SWAP TAPE BUFFERS.
 0777              WF,5         0,1           -             DISASTER

 0778              TX           AVAIL MSK     -             Z,SC
 0779   COPY EXIT  TS           Z,X0          L COP BUFS    C,-1                ADVANCE POINTER WITHIN BUFFER.

# Page 516
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  35        PAGE  35

P0780              SUBROUTINE IN PASS 3 TO TEST THE AVAILABILITY OF A LOCATION.  WITH ADDRESS IN EQIVLENT,
R0781   COSEQUENCE CALL TO AVAIL Q.  BITS 1 TO 32 OF EQIVLENT WILL BE ZERO ON RETURN ONLY IF THE LOCATION IS RESERVED.

 0783   AVAIL Q    SWS, B26T30  EQIVLENT      18,L          C,+1           C
 0784              SWE, ONES    BIT 1         0             AVAIL MSK      C    MASK TO SELECT ONE OF 32 BITS IN WORD.
 0786              SWE, B38T48  EQIVLENT      5             Z,X4           C
 0787              WA           Z,X4          L AV TABLE    Z,X4           C    SELECT WORD FROM AVAILABILITY TABLE.
 0789              SS           N,X4          AVAIL MSK     EQIVLENT            TRANSMIT AVAILABILITY BIT, EXIT.


R0791              SUBROUTINE IN PASS 3 TO CONVERT DECIMAL TO ALPHABETIC AND BLANK OUT UP TO SEVEN LEADING ZEROS.
R0793   COSEQUENCE CALL WITH ARGUMENT IN ARG 1.  USE EITHER RESULT OR BOTH.

 07934             SWE, A ADRES ARG 1         D,3           ARG 1          C    PAGE OF DEFINITION, ENTERING IN D1-3.
 07936             SWE, CAC2    ARG 1         D,2           ARG 1          C    OTHER 3- AND 4-DIGIT THINGS D3(4)-6.
 07938             DA           ZERO          ARG 1         ARG 1          C    CONVERT HEX HUNDREDS DIGIT BACK TO DEC.
 0794   P3 D2A LZS SWS, C5T8    ARG 1         8             ARG 1          C    NORMAL ENTRY.
 0795              SWS,DECALFM1 ARG 1         4             ARG 1          C
 0796              SWS,DECALFM2 ARG 1         2             ARG 1          C
 0797              SWS,DECALFM3 ARG 1         2             ARG 1          C    SPREAD LEFT 8 DIGITS OUT INTO ALPHA.
 0799              TS           C1T7          AVAIL MSK     C,+2           C
 0800   ARG 1      RESERVE      1
 0801              TS           ARG 1         ARG 2         C,+3           C
 0802   ARG 2      RESERVE      1
 0803              SWS, C1T7    AVAIL MSK     A,1,L         AVAIL MSK      C
 0804              NA, AVAILMSK ARG 2         ZERO          C,-1           C
 0805   P3 LZSUP   SS           BLANKS        AVAIL MSK     ARG 2          S    SUPPRESS UP TO 7 LEFT ZEROS, EXIT.


R0807              SUBROUTINE IN PASS 3 TO WRITE BLOCKS OF 1024 WORDS (16 SECTORS) ON THE DISC.  SUBMIT 4-SECTOR BLOCKS
R08074  BY FILLING IN D4 OF WRIT DISC +1 FROM THE CORRESPONDING TAPE ORDER, AND BRANCHING ON DISC ADRS NON-ZERO.

 08076  WRIT DISC  TX           DF PLACE      -             Z,CSH
 08078             RT           0,3           -             N,CSH,1             PLACE 256-WD BLOCK INTO 1024-WD BUFFER.
 0808              WA           Z,CSH         OCT 377       DF PLACE            WE ACTUALLY MOVED 259 BUT WILL KEEP 256.
 080812            WA           WRITE CWD     BIT 37        WRITE CWD           ADVANCE SECTOR COUNT BY 4 PER PARAGRAPH.
 08082  LAST RITE  TS           Z,SH          WDF RETRN     WRIT DISC      C
 080826            LA           ONES          N SUBFIL 1    C,+3                BRANCH IF WRITING IN SUBFILE 2.
 08083             WD           N SUBFIL 1    ONE           N SUBFIL 1
 080833            LA           N SUBFIL 1    ZERO          WRITE CWD -1        FORCE WRITING AT END OF 1ST SUBFILE.
 08084             NA           DF PLACE      END OF BUF    WDF EXIT            BRANCH IF BUFFER IS NOT YET FULL.

 08086             TS           EOR           N,CSH         DISCAP         C
 08088  WRITE CWD  OCT          -13                                             WRITE 16 SECTORS (MAYBE LESS LAST TIME).
 0809              CAC          DISC ADRS     DISC BUFF     INDEX
 08092             TS           L DISC BUF    DF PLACE      C,+2
 080925            TS           -             -             DISASTER
 08093             SS           ZERO          D31T39        WRITE CWD
 080935            NA           N SUBFIL 1    ZERO          C,+3                BRANCH UNLESS JUST FINISHED SUBFILE 1.
 08094             SWE, C2T4    INDEX +7      24,L          DISC ADRS           FETCH DISC BASE ADDRESS OF 2ND SUBFILE.
 080945            TS           ONES          N SUBFIL 1    WDF EXIT            SHOW THAT FURTHER WRITING IS IN 2ND SF.
 08095             WA           DISC ADRS     BIT 20        DISC ADRS
 08096  WDF EXIT   TX           WDF RETRN     -             Z,SC

# Page 517
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  36        PAGE  36

P0810   PARAPROGRAM RD4 - PASS 3 - GRP B
R0811   --------------------------------

R0812              THIS PARAPROGRAM OPERATES IN GROUP B DURING PASS 3 AND HAS TWO TASKS... FIRST TO COPY THE EXISTING
R0814   BYPT FROM TAPE 4 TO TAPE 1, MARKING OBSOLETE PROGRAMS ON TAPE AND (IN ALL THEIR REVISIONS AND DIFFERENTLY LOG-
R08142  NUMBERED INSTANCES) ON THE DISC, THEN TO DELIVER TO A SORTING PROGRAM THE UNSORTED WORD RECORDS WRITTEN BY PASS
R0816   2. EIGHT BUFFERS ARE ALLOTTED FOR THESE TASKS.  THE SECOND TASK IS A BIT COMPLICATED, AND IS SUMMARIZED AS
R0818   FOLLOWS... IF THE NUMBER OF WORD RECORDS IS 8 OR LESS, FILL AS MANY BUFFERS AS NEEDED, REWIND 4, AND DIE.
R0820   OTHERWISE, TAPE 4 IS READ FORWARD AND BACKWARD AS MANY TIMES AS THERE ARE SUBSTRANDS (GROUPS OF 256 CONSECUTIVE
R0822   ADDRESSES).  AT EACH TURNAROUND, THE 8 RECORDS JUST READ ARE PASSED OVER (SINCE THEY ARE STILL AVAILABLE TO THE
R0824   SORTER).  EACH RECORD READ GOES TO THE BUFFER THAT IS FINISHED WITH EARLIEST.  NOTE THAT AT TURNAROUND TIME THE
R0826   BUFFER CONTAINING THE EXTREMUM RECORD FULFILLS THIS CONDITION, AS THE 7 ADJACENT RECORDS MUST BE PROCESSED TWICE
R0828   BEFORE THEIR BUFFERS ARE OVERWRITTEN.

R0829   CONSTANTS AND ASSIGNMENTS.



 08299  ONDEX      RESERVE      15                                              INDEX AREA FOR OBSOLESCENCE PROCESSING.
 0830   RD4 SSTAB  RESERVE      8
 0831   BANNER     OCT          0
 0832   WD SER LIM RESERVE      1
 0833   WD SERIAL  RESERVE      1
 0834   N RECS P1  RESERVE      1
 0835   J LIM 9    RESERVE      1
 0836   7 DELTA J  RESERVE      1

 08367  LAST PROG  ALF
 0837   SPEC 260   OCT          -100404
 0838   BUF SIZE   FXBIN        -265
 0839   N LOX PH   OCT          0
 0840   B2T32      DEC          7GGG GGGG
 0841   DELTA B    OCT          0
 0842   DELTA J    OCT          -1
 0843   DELTA BUF  FXBIN        -265
 0844   DEC264     FXBIN        -264

 08448  L END THR  SPEC,B7                                  6
 08449  YUL WAA    SPEC,B7                                  600
 0845   L B BUF1   SPEC                                     11168
 0846   L B BUF23  CAC                        11433         11698
 0848   J LIM      SPEC                                     13023

 08496  YUL DATE   ASSIGN       6,101
 0850   YUL LOG    ASSIGN       6,104

 0852   L STOPPER  EQUALS       CAC3

# Page 518
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  37        PAGE  37

P0854   FIRST TASK... TO TRANSFER THE EXISTING BYPT TO TAPE 1, AND SUPPLY WS3 WITH THE NEW BANNER SERIAL IN ..BANNER..

 0856   RD4        TN           SUBSTRAB      8             RD4 SSTAB           CREATE LOCAL SUBSTRAND TABLE.
 0858              TX           P3 MASKS      -             Z,MXR
 0860              TS           L STOPPER     Z,X3          PHI TAPE
 0861              RF,4         3,0           -             DISASTER            BYPASS LABEL RECORD.
 0863              SWE, CAC3    L B BUF23     16            Z,X3                ADDRESS OF BUFFER 2.
 0865              TS           L B BUF1      Z,X2          PHI TAPE
 0866              RF,4         3,0           -             DISASTER            READ FIRST RECORD OF BYPT.
 0870              TS           L B BUF23     Z,X4          OBS OLDS            MARK OLD REVISIONS OF THIS PROGRAM OBS.

 08712             TS           Z,X1          Z,X4          PHI TAPE            (FOR XFER BYPT -2).
 0872   NEND BYPT  TX           Z,X4          -             Z,X3                THIS IS THE DANCE OF THE INDEX REGISTERS
 0874              WA           Z,X2          SPEC 260      Z,S3                AND QUITE A FANCY WHIRLIGIG IT IS TOO.
 0876              HA           N,S3          N,X2          N,S3                THE NET EFFECT IS TO COPY THE BYPT FROM
 0878              SS           Z,X5,1        SPEC MAG      N,X2                TAPE 4 TO TAPE 1, EXCEPT FOR THE TWO
 0880              HA           N,S3          N,X2          N,S3                SHORT END-OF-FILE RECORDS.  IN PARTICU-
 0882              NA, BIT11    SWITCH        ONES          C,+2                LAR, IF THERE IS NO PREVIOUS BYPT,
 08831             TS           Z,X1          Z,X4          XFER BYPT           NOTHING WILL BE WRITTEN ON TAPE 1.
 08832             NA, BIT13    SWITCH        ONES          XFER BYPT -2        BR. IF NO PROGS OBSOLETED BY THIS ASSY.

 088324            NA, C1T4     2,0           COMPUTER      XFER BYPT -2        BRANCH IF PROG BELONGS TO ANOTHER COMP.
 088328            NA           2,1           LAST PROG     C,+2                BRANCH IF THIS IS AN AUTHMEMO RECORD.
 088332            TS           -             -             XFER BYPT -2
 088334            TX           L COMP NAM    -             Z,X6
 088336            SWS,THREAD10 N,X6          12            Z,X6                POINT TO FIRST PROG OR SUB OF COMPUTER.
 08834             TS           2,1           LAST PROG     C,+2
 088342            SWS,THREAD10 6,1           0             Z,X6
 088344            NA           N,X6          LAST PROG     C,-1                WE ARE GUARANTEED TO FIND THE PROGRAM.
 088348            SSL, ONE     6,1           0             C,+1                TEST OBSOLETED-THIS-ASSEMBLY BIT.
 088352            TS           -             -             XFER BYPT -2

 088354            HA           6,1           ONE           6,1                 CLEAR THAT BIT.
 088358            TX           YUL WAA       -             Z,X6
 08836             HA           N,S3          2,100         N,S3
 088362            TX, AVMASK2  YUL DATE      -             2,100
 088364            HA           N,S3          2,100         N,S3,1
 088366            HA           N,S3          2,101         N,S3
 088368            TS           YUL DATE +1   2,101         C,-1           C    PLANT YUL DATE (ALPHA) AND FIX ORTHOWDS.
 08837  OBS OLDS   NA, BIT11    SWITCH        ZERO          XFER BYPT -2        REPRINTS AND BAD MERGES OBSOLETE NOBODY.
 088372            LA,C5T8      DISC STAT     C6T8          C,+2                BRANCH IF DISC IS INOPERATIVE.
 088376            TS           L PROG TAB    Z,X6          PROG DFQ            POINT TO START OF OWN DISC DIRECTORY.
 08838             S, MON TYPER OBS FRUST     SPRA +40      -                   "NO DISC: CAN'T MARK OBSOLETE PROGS ..."
 088382            TS           C,+0          C,-1          XFER BYPT -2        SAY THAT JUST ONCE.

 088384 PROG DFQ   LA           L END PTAB    Z,X6          XFER BYPT -2        BRANCH IF OBSOLETED PROGRAM NOT ON DISC.
 088388            NA           N,X6,6        LAST PROG     C,-1                GET ALL REVISIONS BY TESTING NAME ONLY.
 08839             WD           Z,X6          TWO           Z,X6
 088392            TX           N,X6          -             ONDEX +1
 088394            TX           BLANKS        -             N,X6,1              REMOVE NAME FROM OWN DIRECTORY...
 088398            TX           N,X6          -             ONDEX               ... AND PREPARE TO LOOK UP ALL INSTANCES
 088402            TX           ONES          -             ONDEX +2            (NOT REVISIONS) OF IT IN THE DISC INDEX.

# Page 519
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  38        PAGE  38

P088404 DURING FIRST TASK, MARK OBSOLETE PROGRAMS ON TAPE (ABOVE) AND DISC; CLOSE YULPROGS & SUPPRESS SORT IF POSSIBLE.

 088406 NEXT VERS  TS           YUL WAA       Z,X6          DISCAP         C
 088408            OCT          15                                              LOOK UP INSTANCES OF FILE SUCCESSIVELY.
 088412            SPEC                                     ONDEX
 088414            TS, AVMASK2  YUL DATE      ONDEX +11     C,+2                TENTATIVELY ASSUME NOT DISABLED.
 088418            TS           L PROG TAB    Z,X6          PROG DF Q +1        THAT REV NOT ON DISC. GO SEEK ANOTHER.
 088422            NA, D10D11   ONDEX +3      YUL FILE      NEXT VERS           BRANCH IF DISABLED FILE.
 088426            TS           YUL DATE +1   ONDEX +12     DISCAP         C
 088428            OCT          -12                                             PLANT ALPHA DATE OFFICIALLY IN INDEX.
 088432            SPEC                                     ONDEX
 088434            TS           -             -             NEXT VERS           CONTINUE SUCCESSIVE LOOKUP.
 088438            TS           -             -             DISASTER            BAD RETURN MUSTN'T HAPPEN HERE.

 08852             TS           NEND BYPT -1  C,+0          C,+2                CHANGE TO TAPE-COPYING PROCEDURE.
 08854             WF,1         2,0           -             DISASTER            NO WRITING IF REPRINT OR BAD MERGE.
 0886   XFER BYPT  TX           Z,X2          -             Z,X1
 0887              TS           Z,X3          Z,X2          PHI TAPE
 0888              RF,4         4,0           -             DISASTER            NEW BANNER SERIALS ARE SUPPLIED FROM X5.
 0890              NA, BANBITS  2,0           BAN EOFRI     NEN BYPT            THE RELEVANT ORTHOWORD BEING CORRECTED.

 0892              NA, BIT13    SWITCH        ONES          CHECK WF            BR. IF NO PROGS OBSOLETED BY THIS ASSY.
 08924             LA, C5T8     DISC STAT     C6T8          CHECK WF            BRANCH IF DISC IS INOPERABLE.
 08928             TX           L COMP NAM    -             Z,X2
 0893              SWS,THREAD10 N,X2          12            Z,X2                POINT TO FIRST PROG OR SUB OF COMPUTER.
 08934             TX           C,+2          -             XFER BYPT -2        MODIFY EXIT FROM DISC INDEX MARKER.
 08938             SSL, ONE     2,1           0             C,+1                TEST OBSOLETED-THIS-TIME BIT.
 08942             TS           -             -             C,+2
 08944             TS           N,X2          LAST PROG     PROG DFQ -3         GO TO MARK NEWLY OBSOLETE PROG ON DISC.
 08948             SWS,THREAD10 2,1           0             Z,X2
 0895              NA           Z,X2          L END THR     C,-4                BR. IF THERE'S MORE PROG/SUBS TO CHECK.

 08954  CHECK WF   NA, BIT11    SWITCH        ONES          C,+2                NO WRITING IF REPRINT OR BAD MERGE.
 08958             TS           N WD RECS     WD SER LIM    LD EBUF 2
 0896              TS           N WD RECS     WD SER LIM    PHI TAPE            SET UP SERIAL LIMIT FOR LATER USE.
 08964             WF,1         -             -             DISASTER            VERIFY FINAL WRITE IF ANY.
 08967  LD EBUF 2  TX           E BUFFERS     -             Z,X3           S
 08972             EX           Z,X5          SPEC MAG      E BUFFER 2          SET UP RECORD NO. FOR AUTHMEMO OR EOFRI.
 08974             NA, BIT11    SWITCH        ZERO          OCT MAP Q           BRANCH IF REPRINT OR BAD MERGE.
 0898              NA, PROGSUB  SWITCH        ONES          DO SORT -1          BRANCH IF DOING PROGRAM ASSEMBLY.
 08983             SM           SWITCH        B1 B11        SWITCH              FORBID FURTHER WRITING.
 08984  CLOS ERLY  S, MON EOFRI C,+2          -             E BUFFER 2          CLOSE YULPROGS NOW IF SUBRO ASSEMBLY.
 08988             TS           -             -             PHI TAPE
 08992             RW,1         -             -             -
 08994  OCT MAP Q  NA, BIT16    SWITCH        ONES          DO SORT             BRANCH IF PRINTING OCTAL STORAGE MAP.
 08998             TX           ZERO          -             RD4 SSTAB
 0900              TN           RD4 SSTAB     7             RD4 SSTAB +1        ALLOW TRANSMISSION OF WORD RECORDS FOR
 09004             TX           N,SC,2        -             SORT LOOP -1        OCCUPIED-LOCATION INDEX ONLY.
 09008             TS           -             -             DONT SORT
 09009             LA           N WD RECS     ZERO          CLOS ERLY -1
 0901   DO SORT    TS, C1T4     COMPUTER      E BUFFER 2    MON WAKE       C    PERMIT WS3 TO WRITE FROM E BUFFER 2.
 09014             TS, CAC3     E BUFFER 2    BANNER        PHI TAPE            SET UP BANNER SERIAL FOR USE BY WS3.
 09018             RF,4         -             -             DISASTER
 0902              LA           N WD RECS     ZERO          END RD4             CHECK FOR BARREN ASSEMBLY (VERY ODD).

# Page 520
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  39        PAGE  39

P0903   SECOND TASK... TO PRESENT WORD RECORDS TO WS3 FOR SORTING.

 0904              TS           L B BUF1      Z,X2          PHI TAPE            FIRST RECORD FOR SORTING TO BUFFER 1.
 0906              RF,4         2,0           -             DISASTER
 0907              TS           ONE           WD SERIAL     REMOTE 1

 0908   INIT RD WD WA           Z,X2          BUF SIZE      Z,X2
 0909              TS           -             -             PHI TAPE
 0910              RF,4         2,0           -             DISASTER            2ND THRU 8TH RECORDS (IF THAT MANY).
 0913              SWS, CAC1    WD SERIAL     32,L          N,X3                WAKE SORTER AND ATTACH FRESH SERIAL.
 0915              WA           WD SERIAL     ONE           WD SERIAL

 0916   REMOTE 1   TS           Z,X2          Z,X3          MON WAKE       C    FORM ADDRESS OF REMOTE RECORD.
 0918              NA           WD SERIAL     N WD RECS     FITS IN Q           BRANCH IF THERE ARE MORE RECORDS.

 0920              TS           -             -             PHI TAPE
 0921              RF,4         -             -             DISASTER
 0925              SWS, CAC1    WD SERIAL     32,L          N,X3                WAKE SORTER AND ATTACH FRESH SERIAL.
 0927              TS           N,SC          Z,SC          MON WAKE       C
 09272             SPEC                                     END RD4

 0928   FITS IN Q  NA           WD SERIAL     EIGHT         INIT RD WD          BRANCH TO GET NEXT REC OF FIRST EIGHT.
 0930              TS           L STOPPER     Z,X6          PHI TAPE            SET UP STOPPER ADDRESS FOR LATER USE.
 0932              RF,4         -             -             DISASTER            VERIFY 8TH READ OF MORE THAN 8 READS.
 0934              TS           L B BUF1      Z,X2          MON WAKE       C
 0935              SWS, CAC1    WD SERIAL     32,L          N,X3                WAKE SORTER AND ATTACH SERIAL NUMBER 8.
 0937              WA           N WD RECS     ONE           N RECS P1
 0938              WA           L B BUF1      L B BUF8      J LIM 9             USED TO GET FROM B1 TO B8 OR VICE VERSA.
 0940              TS           BIT 32        AV MASK 2     C,+2                INITIALIZE MASK FOR PARAGRAPH COUNTING.

 0942   COUNT PH   WA           AV MASK 2     AV MASK 2     AV MASK 2           SHIFT MASK LEFT 1 BIT.
 0943              NA, AVMASK2  RD4 SSTAB     ZERO          INC NLXPH
 0944              NA, AVMASK2  RD4 SSTAB +1  ZERO          INC NLXPH
 0945              NA, AVMASK2  RD4 SSTAB +2  ZERO          INC NLXPH
 0946              NA, AVMASK2  RD4 SSTAB +3  ZERO          INC NLXPH
 09461             NA, AVMASK2  RD4 SSTAB +4  ZERO          INC NLXPH
 09462             NA, AVMASK2  RD4 SSTAB +5  ZERO          INC NLXPH
 09463             NA, AVMASK2  RD4 SSTAB +6  ZERO          INC NLXPH
 09464             NA, AVMASK2  RD4 SSTAB +7  ZERO          INC NLXPH           STEP COUNTER FOR EACH PARAGRAPH USED.
 0948              NA           AV MASK 2     BIT 1         COUNT PH

 0954   BUSY Q     LA           N,X2          B2T32         PARAP NAP           GO TO SLEEP IF BUFFER NOT FINISHED WITH.
 0956              WA           Z,X2          DELTA B       Z,X3                FUDGE FACTOR TO ACCOUNT FOR BACKWD READ.
 0958              TS           -             -             PHI TAPE
 0959   RD WORDS   RF,4         3,0           -             DISASTER
 0960              BA           WD SERIAL     DELTA J       WD SERIAL           INCREMENT OR DECREMENT RECORD SERIAL.
 0962              TS, BIT 8    RD WORDS      C,+1          PHI TAPE            SET FORWARD/BACKWARD BIT OF OP CODE.
 0964              RF,4         -             -             DISASTER
 0966              SWS, CAC1    WD SERIAL     32,L          N,X2                WAKE SORTER AND ATTACH FRESH SERIAL.
 09672             TS           -             -             MON WAKE       C
 0968              NA           WD SERIAL     WD SER LIM    CH NEX RD4          BRANCH IF MORE TO READ THIS DIRECTION.

# Page 521
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  40        PAGE  40

P0970   PROCEDURE FOR CHANGING DIRECTION OF SCAN.

 0971              WD           N LOX PH      ONE           N LOX PH            COUNT DOWN WHEN SCAN IS DONE.
 0973              LA           N LOX PH      ZERO          END RD4 -3

 0980              TX           EIGHT         -             Z,S3
 0982              TS           -             -             PHI TAPE
 0983   PASS WDS   RB,4         6,0           -             DISASTER            READ EIGHT RECORDS INTO STOPPER.
 0985              NA           Z,S3,1        ONE           C,-2

 0986              HA           RD WORDS      BOT 8         RD WORDS            CHANGE DIRECTION OF MAIN READ.
 0988              HA           PASS WDS      BIT 8         PASS WDS            CHANGE DIRECTION OF BYPASS READ.
 0990              BS           ZERO          DELTA J       DELTA J             CHANGE SIGN OF SERIAL INCREMENT.
 0992              BT           DELTA J       7             7 DELTA 7
 0993              BA           7 DELTA J     WD SERIAL     WD SERIAL           CHANGE SERIAL FOR NEXT RECD READ IN.
 0995              BS           ZERO          DELTA BUF     DELTA BUF           CHANGE SIGN OF BUFFER ADDRESS INCREMENT.
 0997              WD           J LIM 9       J LIM         J LIM               SWITCH BUFFER ADDRESS LIMIT.
 0999              WD           DEC 264       DELTA B       DELTA B             SWITCH FUDGE FACTOR FOR READ ADDRESS.
 1001              WD           N RECS P1     WD SER LIM    WD SER LIM          SWITCH LIMIT ON SERIAL NUMBER.
 1003              TS           -             -             BUSY Q              BEGIN READS IN NEW DIRECTION.

 1005   CH NEX RD4 NA           Z,X2          J LIM         C,+3                BR UNLESS JUST DID BUFFER 1 OR 8.

 1007              WD           J LIM9        J LIM         Z,X2                CHANGE BUFFER 1 TO 8 OR VICE VERSA.
 1009              TS           -             -             BUSY Q

 1010              BA           Z,X2          DELTA BUF     Z,X2                INCREMENT OR DECREMENT BUFFER ADDRESS.
 1012              TS           -             -             BUSY Q

R1013   TRIVIAL MULTI-PROGRAMMED SUBROUTINE TO INCREMENT THE COUNT OF LOCATION INDEX PAGES PLUS USED PARAGRAPHS.

 1015   INC NLXPH  WA           N LOX PH      ONE           N LOX PH
 1016              TX           Z,SH          -             Z,SC

 1017              LA           E LOX GATE    ZERO          END RD4             ALL DONE IF NOT DOING LOCATION INDEX.
 1019              NA           BLOCK IND     ZERO          PARAP NAP           SLEEP UNTIL PAGE OF INDEX IS FINISHED.
 1021              NA, CAC3     LAST MAX      INDEX MAX     PASS WDS -2         BRANCH IF INDEX IS NOT DONE YET.
 1023   END RD4    SSL, ONE     SWITCH        44            C,+1                SEE IF ANOTHER YUL TASK FOLLOWS.
 10232             TS           Z,SC,1        -             PHI RLEAS
 10234             TS           -             -             PHI TAPE            REWIND OR RELEASE WORKER ACCORDINGLY.
 1024              RW,4         -             -             -                   WE ARE NOW THROUGH WITH TAPE 4.
 1026              TS           ZERO          RD4 WAIT      DEAD STOP



R10263             CLOSED SUBROUTINE FOR SEQUENCE MODE SLEEPING.

 10264  PARAP NAP  TS           -             -             MON SLEEP      C
 10265             WD           Z,SH          ONE           Z,SC

R10266             FINAL STOP FOR ALL PARAPROGRAMS.

 10267  DEAD STOP  TS           Z,R0          Z,SC          MON WAKE       C    WAKE PASS 3.
# Page 522
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  41        PAGE  41

P1027   PARAPROGRAM WS4 - PASS 3 - GRP C
R1028   --------------------------------

R1029              THIS PARAPROGRAM OPERATES IN GROUP C DURING PASS 3 AND HAS THREE TASKS.  FIRST, IT WRITES A RECORD OF
R1031   MISCELLANEOUS INFORMATION ABOUT THE PROGRAM ON YULPROGS AS THE FIRST BYPT RECORD FOR THE PROGRAM, AND FOLLOWS
R1033   IT BY RECORDS CONTAINING THE SORTED SYMBOL TABLE.  NEXT, IT SCANS THE WORD RECORDS AND PRINTS AN INDEX SHOWING
R10332  WHAT PAGE EACH WORD IS SPECIFIED ON.  FINALLY, WS3 SORTS WORDS INTO PARAGRAPHS (FORMERLY SUBSTRANDS) CONTAINING
R1035   256 WORDS EACH.  FOR EACH PARAGRAPH WHICH IS KNOWN TO CONTAIN AT LEAST ONE WORD OF USED FIXED MEMORY, WS3
R1037   CLEARS A BUFFERFUL OF 256 WORDS TO ALL ZEROS AND MAKES A PASS THROUGH ALL THE WORD RECORDS PRODUCED BY PASS 2.
R1039   THE RESULTING BYPT RECORD CONSISTS OF A BANNER WORD WITH SERIAL FROM X1, THE ALPHABETIC PROGRAM NAME, THE PAR-
R1041   AGRAPH NUMBER (EQUAL TO THE ADDRESS OF THE FIRST WORD IN THE RECORD DIVIDED BY 256, STORED AS A BINARY IN-
R1043   TEGER), 256 WORD POSITIONS, TWO ORTHOWORDS, AND THE EOR WORD.  EACH WORD POSITION MAY BE AVAILABLE (ALL ZEROS),
R1045   AN OBJECT MACHINE WORD WITH CORRECT PARITY AND CONSTANT OR INTERPRETIVE FLAGS IF REQUIRED, OR ONE OF THE ALPHA-
R1047   BETIC FLAGS ..BAD WORD.. OR ..CONFLICT..  WHEN A PARAGRAPH IS COMPLETED, IT IS HANDED OVER TO THE EDITOR IN MAIN
R1049   PASS 3.  THE WORD RECORDS ARE OBTAINED FROM RD4, WHICH DELIVERS THEM IN 8 BUFFERS SO THAT THE SET OF WORD REC-
R0151   ORDS MAY BE SCANNED IN ALTERNATING ORDER FOR SUCCESSIVE PARAGRAPHS.

# Page 523
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  42        PAGE  42

P1057   CONSTANTS AND ASSIGNMENTS.



 1058   BLOCK IND  RESERVE      1
 1059   FWA        RESERVE      1
 1060   LWA        RESERVE      1
 1061   LENGTH     RESERVE      1

 1062   COMMON     RESERVE      1
 1063   R7 LIM     RESERVE      1
 1064   W SER LIM  RESERVE      1
 1065   HI RECS P1 RESERVE      1

 10651  END LX BUF RESERVE      1
 10652  MIN PTR    RESERVE      1
 10653  FLW        RESERVE      1
 1066   WS3 SST    RESERVE      8

 1068   BIT 37     OCT          -4000
 1069   DELT SBUF  FXBIN        -265
 1070   W SERL     DEC          0001

 10701  NINE       FXBIN        -9
 10702  ELEVEN     FXBIN        -11
 10703  THIRTEEN   FXBIN        -13
 107031 C320       FXBIN        -320
 107032 2 THIRDS   DEC          +BB BBB BBB BBC
 10704  D8         DEC          -G 0000
 10705  D7D8       DEC          -GG 0000
 10706  LAST MAX   OCT          0
 10707  INDEX MAX  OCT          0

 10709  LOX SB HED ALF,4        OCCUPIED LOCATIONS  PAGE
 1071   W CONFLIC  ALF          CONFLICT

 1072   END SY BUF SPEC                                     4759
 1073              SPEC                                     5759
 1074              OCT          0
 1076   WS3 SY SPX SPEC                                     EN TAP SYM
 1077              SPEC                                     TAPE SYM
 10771  L ZERO     SPEC                                     ZERO
 1078   L ONES     SPEC                                     ONES
 1079   SJ LIM     SPEC                                     13023
 1080   WS3 SST P8 SPEC                                     WS3 SST +8
 10801  RL TYP TAB SPEC,B2                                  2000
 1081   L B BUF8   SPEC                                     13023

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

P1083              INITIALIZING OF WS3 AND FIRST TASK: TO WRITE THE "AUTHMEMO" RECORD ON YULPROGS JUST AFTER THE SAVED
R1085   BYPT RECORDS AND FOLLOW IT BY THE ALPHABETICALLY SORTED SYMBOL TABLE.

 1086   WS3        SPCR                                     WS3
 10862             TS           P3 MASKS      Z,MXR         LD EBUF 2      C
 1087              SWE,GROUPIND WS3           17            WS3
 1088              TX           PROG NAME     -             E BUFFER 2 +1       PROGRAM NAME FOR MISCELLANY RECORD.
 108812            TX           W AUTMEMO     -             E BUFFER 2 +2
 10882             SWS,THREAD10 0,1           12            Z,X0                FOLLOW AUTHOR THREADS IN PROGRAM NAME.
 10884             NA, D1       0,1           ONES          C,-1                ENTRIES UNTIL AUTHOR NAME ENTRY FOUND.
 1089              TX           N,X0,1        -             E BUFFER 2 +3       FETCH FIRST 8 CHARACTERS.
 10892             SS           N,X0          THREAD 11     Z,X0                THREAD TO REMAINDER.
 10894             TX           N,X0          -             E BUFFER 2 +4       FETCH SECOND 8 CHARACTERS.
 1090              TN           SUBSTRAB      8             E BUFFER 2 +5       SUBSTRAND TABLE.
 1092              TX           L SYM THR     -             Z,AU1
 1093              MT           N,AU1,1       58            N,AU2,1
 10932             TN           N,AU1         6             EBUFFER2 +102       SYMBOL TABLE INITIAL THREADS.
 1095              WD           SYM PLACE     L SYM TAB     E BUFFER 2 +71
 10952             BM           E BUFFER2 +71 2 THIRDS      E BUFFER2 +71       TWICE THE NUMBER OF SYMBOLS IN TABLE.
 10961             TS           L PROG FIL    Z,X0          REVNO SSL           ADDRESS OF PROGRAM NAME IN DIRECTORY.

 10963  WS3 REVNO  SS           0,1           A ADRES       E BUFFER 2 +71      SUPPLY REVISION NO. WHEN NO SUBROUTINES.
 10965             SWS,THREAD11 0,1           24            Z,X0           C
 10966             SWS, A ADRES N,X0          12            E BUFFER 2 +71      SUPPLY REVNO WHEN THERE ARE SUBROS.

 10968  REVNO SSL  SSL, ONE     0,1           23            WS3 REVNO      C    CHOOSE HOW TO GET REVISION NUMBER.
 1097              TX           RL TYP TAB    -             Z,S2
 1098              IT           N,S2,27       N,S2          E BUFFER 2 +72      STANDARD MEMORY TYPE TABLE.
 10991             TS           ZERO          EBUFFER2 +100 SET EBUF1      C
 10993             TX           ZERO          -             EBUFFER2 +101  C    SHOW NOT OBS., LET X1 POINT TO EBUFFER1.
 109942            NA, BIT34    SWITCH        ONES          C,+3
 109944            TX           BIT 1         -             EBUFFER2 +100
 109946            TX           BIT 1         -             INDEX +11           MARK BAD ASSEMBLY ON TAPE AND DISC.
 10995             TX           E BUFFERS     -             Z,X0                LET X0 POINT TO E BUFFER 2.
 10997             TX           PROG NAME     -             E BUFFER 1 +1
 10999             TX           Z,X1          -             Z,S0                SET UP INITIAL CONDITIONS FOR SORTING.
 1100              LA           E BUFFER 2    CAC3          PARAP NAP           SLEEP UNTIL PREVIOUS BYPT IS RESTORED.

 11016             WA           E BUFFER 2    ONE           N,S0
 11018             NA, BIT11    SWITCH        ZERO          EN TAP SYM +2       BRANCH TO BYPASS WRITING FOR ANY REASON.
 110195            TX           END SY BUF +1 -             Z,SH
 1102              CC           E BUFFER 2    -             N,SH
 1103              TS, D4       C,+1          WRIT DISC +1  PHI TAPE            SUPPLY INDEX NUMBER TO DISC-WRITER.
 1104              WF,1         3,0           -             DISASTER            WRITE AUTHMEMO RECORD.
 11054             NA           DISC ADRS     ZERO          WRIT DISC           SEND AUTHMEMO RECD TO DISC IF POSSIBLE.
 1106   SET EBUF1  SWE, CAC3    E BUFFERS     16            Z,R1
 1107              TX           Z,R1,3        -             Z,X1
 1108              TN           WS3 SY SPX    2             Z,R3
 1109              WA           E BUFFER 2    ONE           E BUFFER 1          SET UP E BUFFER 1 AND SPEC REGS FOR
 1111              TX           PROG NAME     -             E BUFFER 1 +1       RECEPTION OF SYMBOLS FROM READ SYMS.
 11122             TX           W SYMBLS 1    -             E BUFFER 1 +2
 1113              LA           SYM PLACE     L SYM TAB     EN TAP SYM          BRANCH IF NO SYMBOLS IN PROGRAM.
 1115              TS           -             -             READ SYMS

# Page 525
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  44        PAGE  44

P1117   PROCEDURE TO ACCEPT TWO-WORD SYMBOL TABLE ENTRIES FROM READ SYMS AND WRITE THEM ON YULPROGS IN LOTS OF 256,
R1119   DOUBLE-BUFFERING THROUGH E BUFFER 1 AND E BUFFER 2.

 1120   TAPE SYM   NA, D4       3,0           6 D4          C,+2                BRANCH IF NOT NORMALLY DEFINED.
 11202             TX           Z,SC,1        -             -
 11204             NA, D4       3,0           3 D4          TBAD SYM            BRANCH IF NOT DEFINED BY EQUALS.
 11206             TX           N,X3          -             N,R1                ACCEPT ONLY GOOD DEFINITIONS.
 112072            SS           3,1           C1T2          N,R1,1              SEND PAGE OF DEFINITION TO SIM & EDIT.
 112074            TX           Z,SC,1        -             -

 11208  TRAD SYM   SM           CAC12         N,X3          N,R1,1              SPECIAL FLAG FOR BAD DEFINITION.
 1122              NA           Z,R1          END SY BUF    THREAD              RETURN IF NOT AT END OF BUFFER.

 1124              TX           Z,R1          -             END SY BUF +2       END-OF-BUFFER SPECS ARE ROTATED.
 1126              CC           N,X1          -             N,R1
 1127              TS           Z,X0          Z,R1          PHI TAPE            FETCH NAME OF ALTERNATE BUFFER.
 1129              WF,1         1,0           -             DISASTER
 1130              SS           C,-1          D4            WRIT DISC +1        SUPPLY INDEX NUMBER TO DISC-WRITER.
 1131              NA           DISC ADRS     ZERO          WRIT DISC           SEND SYMBOL RECORD TO DISC IF POSSIBLE.
 1132              WA           N,X1          ONE           N,X0                INCREMENT BANNER SERIAL.
 1134              WA           1,2           ONE           0,2                 INCREMENT N IN "SYMBOLSN".
 1136              TN           END SY BUF +1 2             END SY BUF          ROTATE END-OF-BUFFER SPECS.
 1138              TX           Z,X1          -             Z,X0
 1139              TS           Z,R1,3        Z,X1          THREAD              SET R1 FOR NEW BUFFER AND RETURN.


R1141   PROCEDURE TO POLISH UP SYMBOL TABLE WRITING AND INITIALIZE FOR SORTING OPERATIONS.

 1147   EN TAP SYM TX           Z,X1,3        -             Z,S0                SET UP S0 FOR WORD-SORTING OPERATION.
 1149              NA           Z,X1          Z,R1          MID BUFF            BRANCH IF DIDN'T FILL LAST SYMBOL BUFFR.

 1151              TX           Z,S0          -             Z,X2                SET UP X2 FOR SORTING OPERATION.
 1153              WA           N,S0          SPEC SIGN     Z,X1                PUT BANNER SERIAL INTO X1.
 1157              WA           L B BUF1      L B BUF8      SJ LIM 9            SET UP FOR 2-WAY SCAN OF WORD RECORDS.
 1161              TX           L B BUF1      -             Z,X4
 1162              TX           SPEC SIGN     -             Z,R5                INITIALIZE NUMBER OF SUBSTRANDS.
 1164              SWE, CAC1    N WD RECS     32,L          W SERL LIM
 1165              WA           W SERL LIM    W SERL        HI RECS P1
 1166              TS           Z,X0          PH FLAG C     BARREN Q            CORRECT FLAG AND CHECK ON WORDLESSNESS.

 1168   MID BUFF   MT           ONES          2             N,R1,1
 1169              NA           Z,R1          END SY BUF    C,-1                FILL OUT LAST BUFFER WITH ONES.
 1171              CC           N,S0          -             N,R1
 1172              TS           Z,S0          Z,X2          PHI TAPE
 1173              WF,1         2,0           -             DISASTER            WRITE FINAL SYMBOL TABLE RECORD.
 11742             SS           C,-1          D4            WRIT DISC +1        SUPPLY INDEX NUMBER TO DISC-WRITER.
 11744             NA           DISC ADRS     ZERO          WRIT DISC           SEND IT TO DISC TOO IF POSSIBLE.
 1175              WA           N,X2          ONE           N,X0                PROVIDE SERIAL FOR 1ST SUBSTRAND RECORD.
 11752             TX           Z,X0          -             Z,S0                USE S0 AS TEMPORARY STORAGE.
 11754             TS           Z,X2          Z,X0          EN TAP SYM +2       GO TO INITIALIZATION OF SORTING.

 1177   BARREN Q   LA           N RECORDS     ONE           END WS3             BRANCH TO QUICK END IF NO WORDS.
# Page 526
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  45        PAGE  45

P1179              PROCEDURE TO SORT FWA-LWA WORDS FROM THE WORD RECORDS IN ORDER TO MAKE UP PRINTED ITEMS HAVING A FORM
R1181   SIMILAR TO THOSE OF THE AVAILABILITY DISPLAY, EXCEPT THAT WITH EACH RANGE OF ADDRESSES IS ASSOCIATED A PAGE NUM-
R1183   BER, WHICH IS THE PAGE ON WHICH THE CONTENTS OF THE NAMED LOCATIONS ARE DEFINED.  THESE ARE PRINTED AT UP TO 160
R1185   PER PAGE IN FOUR COLUMNS -- QUITE PRETTY, IF I SAY IT MYSELF.



 1186              WA           B5 LOC 129    C320          END LX BUF          INITIALIZE BUFFER END CONSTANT.

 1188   LOC INDEX  TX           B5 LOC 129    -             Z,R7                INITIALIZE ADDRESS OF NEXT AVAILABLE.
 1190              TX           B5 LOC 129    -             MIN PTR             INITIALIZE MINIMUM POINTER.
 1192              TX           L ZERO        -             Z,X5                INITIALIZE MAX POINTER TO POINT TO ZERO.
 11932             TS           ONES          BLOCK IND     INC NLXPH      C    SYNCHRONIZE RD4 RESCAN DECISIONS.
 1194              TS           Z,SC          Z,R1          RCV WORDS           GO GET A WORD RECORD.

 1196   LOX LOOP   TX           N,X4          -             Z,R4                SAVE FWA.
 1198              SWE, ONES    N,X4,2        16            FLW                 CONVERT TO FORM  CAC  FWA  PAGE  LWA  .
 1200              WD           FLW           Z,R4          COMMON
 1201              WA           Z,X4          COMMON        Z,X4                LET X4 POINT TO NEXT FWA-LWA WORD.
 1203              LA           FLW           LAST MAX      LOX EOR Q           BRANCH IF DONE ON SOME PRECEDING PAGE.

 1205              LA           FLW           INDEX MAX     C,+2
 1206              TS           FLW           INDEX MAX     C,+2                KEEP TRACK OF GREATEST FLW OF ALL.
 1208              LA           FLW           N,X5          LOX LUKUP           BR UNLESS GREATER THAN ANY ON THIS PAGE.

R1210   HEWERE FWA-LWA-PAGE ITEM IS KNOWN TO BE GREATER THAN ANY ON THIS PAGE.

 1211              NA, CAC2     FLW           5,0           FUL PAG Q1          BRANCH IF DIFF. PAGE NUMBER FROM PAGMAX.
 1213              WA           N,X5          ONE           Z,SH
 1214              NA           Z,R4          Z,SH          FUL PAG Q1
 1215              TS, CAC3     FLW           5,0           LOX EOR Q           (IF CONTINUATION OF PAGE MAX.)

 1217   FUL PAG Q1 LA           END LX BUF    Z,R7          LOX EOR Q           FORGET GREATER ITEM IF PAGE IS FULL.
 1219              TX           FLW           -             N,R7                PLANT HIGHEST ITEM OF PAGE SO FAR.
 1221              NA           N,X5          ZERO          C,+3                BRANCH UNLESS FIRST ITEM OF PAGE.
 1223              TX           Z,R7,1        -             Z,X5
 1224              TS           L ONES        N,R7,1        LOX EOR Q           SET FORWARD THREAD.

 1226              SS           Z,R7,1        CAC3          5,1                 SET FORWARD THREAD FROM FORMER GREATEST.
 1228              TX           L ONES        -             N,R7                FORWARD THREAD FOR NEW GREATEST.
 1230              SWS, CAC2    Z,X5,1        16,L          N,R7,1              BACKWARD THREAD FOR NEW GREATEST.
 1232              TS           N,X5          Z,X5          LOX EOR Q           NEW VALUE FOR MAX POINTER.

# Page 527
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  46        PAGE  46

P1234   FWA-LWA-PAGE ITEM IS NOW KNOWN TO BE IN CORRECT RANGE FOR THIS PAGE.

 1235   LOX LUKUP  TX           MIN PTR       -             Z,S1
 1236              LA           FLW           N,S1,1        S1 FOUND
 1237              TX           N,S1          -             Z,S2
 1238              LA           FLW           N,S2,1        S2 FOUND
 1239              TS           N,S2          Z,S1          LOX LUKUP +1        FIND FIRST ITEM GREATER THAN THIS ONE.

 1241   S1 FOUND   TX           Z,S1          -             Z,S3                LET S1 POINT TO NEXT LESS AND S2 POINT
 1243              TN           Z,S2          2             Z,S1                TO NEXT GREATER, WHICHEVER SN FOUND IT.
 1245   S2 FOUND   WD           Z,S1          ONE           Z,S1
 1246              WD           Z,S2          ONE           Z,S2
 1247              LA           N,S2          FLW           LOX EOR Q           IGNORE IF = FOUND ITEM (VERY QUEER).
 1249              NA           Z,S2          MIN PTR       COMB DOWN           BRANCH IF NOT LESS THAN ANY IN PAGE.
 1251              TS           Z,S2          Z,X3          COMBIN UP           GO TRY TO COMBINE WITH NEXT GREATER.

 1253   COMB DOWN  TX           Z,S1          -             Z,X3                TRY TO COMBINE WITH NEXT LESSER.
 1255              NA, CAC2     FLW           3,0           COMB DOWN -1        BRANCH IF WRONG PAGE NUMBER.
 1257              WA           N,X3          ONE           Z,SH                FORM LWA +1 OF NEXT LESSER ITEM.
 1259              NA           Z,R4          Z,SH          COMB DOWN -1        COMPARE FWA OF CURRENT ITEM.
 1261              TS, CAC3     FLW           3,0           LOX EOR Q           SUBSTITUTE LWA OF CURRENT ITEM.

 1263   COMBIN UP  NA, CAC2     FLW           3,0           FUL PAG Q2          BRANCH IF WRONG PAGE NUBER.
 1265              SWE, CAC3    N,X3          32            COMMON              ISOLATE FWA OF NEXT GREATER.
 1267              WA           FLW           ONE           Z,SH
 1268              NA           Z,SH          COMMON        FUL PAG Q2          COMPARE LWA +1 OF CURRENT ITEM.
 1270              TS, CAC1     FLW           3,0           LOX EOR Q           SUBSTITUTE FWA OF CURRENT ITEM.

 1272   FUL PAG Q2 NA           Z,R7          END LX BUF    LOX ON RYE          BRANCH IF THERES ROOM TO SANDWICH IT IN.
 1274              NA           Z,S2          Z,X5          C,+2                BRANCH UNLESS NEXT GREATER IS PAGE MAX.
 1276              TS           FLW           N,X5          LOX EOR Q           ...IN WHICH CASE REPLACE IT SANS FUSS.
 1278              TX           Z,X5          -             Z,S3                REPLACE PAGE MAX HERE ALSO, BUT ELECT A
 1280              SWE, CAC3    5,1           16            Z,X5                NEW PAGE MAX AND REARRANGE THREADS.
 1282              TS, CAC2     L ONES        5,1           LOX ON RYE +1       FORWARD THREAD FOR NEW PAGE MAX.

 1284   LOX ON RYE TX           Z,R7,2        -             Z,S3
 1285              TX           FLW           -             N,S3                PLANT NEW ITEM WHICH IS NOT PAGE MAX.
 1287              SWS, CAC2    Z,S3          16,L          3,1                 BACKWARD THREAD OF NEXT GREATER TO HERE.
 1289              NA           Z,S2          MIN PTR       C,+2                BRANCH UNLESS PLANTING PAGE MINIMUM.
 1291              TS           Z,S3,1        MIN PTR       LOX EOR Q -1        ...IN WHICH CASE OMIT SOME THREADING.
 1293              TX           Z,S1          -             Z,X3
 1294              SS           Z,S3,1        CAC3          3,1                 FORWARD THREAD OF NEXT LESSER TO HERE.
 1296              SWE, CAC2    Z,S1          16,L          N,S3                BACKWARD THREAD OF THIS TO NEXT LESSER.
 1298              SS           Z,S2          CAC3          N,S3                FORWARD THREAD OF THIS TO NEXT GREATER.

 1300   LOX EOR Q  NA           N,X4          ONES          LOX LOOP            BRANCH IF WORD RECORD NOT EXHAUSTED.

 1302              NA, CAC1     0,0           W SERL LIM    NEND SS             BRANCH IF NOT END OF SCAN.

 1304              TX           N,X5          -             LAST MAX            PRESERVE LARGEST ITEM OF PAGE.
 13052             TS           ZERO          BLOCK IND     MON WAKE       C    MAKE RD4 DECIDE ON RESCAN NOW.

# Page 528
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  47        PAGE  47

P1306   WAIT UNTIL MAIN PASS 3 (IN GROUP A) IS READY, THEN PRINT A PAGE.

 1307   PLOX GATE  TS           -             -             PARAP NAP           (CLEARED WHEN PASS 3 IS WAITING.)
 1309              WD           Z,R7          B5 LOC 129    COMMON              FORM TWICE NUMBER OF ITEMS ON PAGE.
 1311              TX           COMMON        -             Z,R6
 1312              TN           Z,X0          6             N,R7                SAVE X0 TO X5.
 1315              TS           L OLD LINE    Z,X5          AV DIS PAG     C
 1317              TN           LOX SB HED    4             PAGE HED2 +1        SET UP FIRST FOUR WORDS OF PAGE SUBHEAD.
 1319              LA           COMMON        ACO 8         C,+2                BRANCH IF LESS THAT 4 ITEMS ON PAGE.
 1321              TS           Z,SC,1        -             NORM LOXH      C    FORM FULL SUBHEAD AND SKIP ONE.
 1323              SSL, ACO8    COMMON        0             C, +0          C    FORM AS MUCH SUBHEAD AS NEEDED.
 1325              TS           MIN PTR       Z,X3          QUARTERS

 1326              TN           PAGE HED2 +4  11            PAGE HED2 +5        ONE COLUMN ONLY.  FILL WITH BLANKS.
 1328   NORM LOXH  TN           PAGE HED2 +1  11            PAGE HED2 +5        NORMAL CASE: FOUR COLUMNS.
 1330              TN           PAGE HED2 +1  4             PAGE HED2 +5   C    TWO COLUMNS.  REPEAT COLUMN HEADING...
 1332              TN           PAGE HED2 +8  7             PAGE HED2 +9        ...AND FILL OUT WITH BLANKS.
 1334              TN           PAGE HED2 +1  8             PAGE HED2 +5   C    THREE COLUMNS.  REPEAT COLUMN HEAD TWICE
 1336              TN           PAGE HED2 +12 3             PAGE HED2 +13       ... AND FILL OUT WITH BLANKS.

 1338   QUARTERS   TX           Z,X3          -             Z,S0                SET 1ST OF 4 QUARTER-THREADS.
 1340              TX           3,1           -             Z,X3                FOLLOW THREAD FOR 1ST QUARTER-PAGE.
 1342              LA           NINE          Z,R6,8        C,-1
 1343              TS           Z,X3          Z,S1          PLOX GATE +2   C    SET 2ND QUARTER-THREAD, RESET R6.
 1345              LA           ONES          N,X3          PLOX GRP            BRANCH IF ONLY ONE ITEM ON PAGE.
 1347              TX           3,1           -             Z,X3                FOLLOW THREAD THROUGH 2ND QUARTER-PAGE.
 1349              LA           ELEVEN        Z,R6,8        C,-1
 1350              TS           Z,X3          Z,S2          PLOX GATE +2   C    SET 3RD QUARTER-THREAD, RESET R6.
 1352              LA           ONES          N,X3          PLOX GRP            BRANCH IF ONLY 2 ITEMS ON PAGE.
 1354              TX           3,1           -             Z,X3                FOLLOW THREAD THROUGH 3RD QUARTER-PAGE.
 1356              LA           THIRTEEN      Z,R6,8        C,-1
 1357              TX           Z,X3          -             Z,S3                SET 4TH QUARTER-THREAD.

# Page 529
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  48        PAGE  48

P1359   PAGE IS ORGANIZED IN DOUBLE-SPACED GROUPS OF FOUR SINGLE-SPACED LINES.

 1360   PLOX GRP   TX           FOUR          -             Z,R6                INITIALIZE EACH GROUP OF FOUR LINES.

 1362   PLOX LINE  TS           L NEW LINE    Z,X0          AV LINE        C
 1365              LA           ONES          N,S0          EN LOX PAG          PAGE IS DONE IF FIRST COLUMN IS DONE.
 1367              SM           SPEC SIGN     WS3           Z,X4
 1368              TX           Z,X4,3        -             Z,X6                INITIALIZE FOR PRINT LINE.

 1370   PLOX COLM  TX           6,N,S0        -             FLW
 1371              EX           FLW           CAC3          EQIVLENT            ISOLATE LWA.
 1373              WA           M EDIT DEF    TWO           Z,CSC          C    SET LWA IN PRINT.
 1375              SWE, CAC3    FLW           32            ADDRESS             ISOLATE FWA.
 1377              LA           EQIVLENT      ADDRESS       C,+3                PRINT LWA ONLY IF FWA = LWA.
 1379              SWE, CAC3    M EDIT AV1    16            Z,CSC          C    SET FWA IN PRINT.
 1381              SS           M W TO        MW TO MASK    LINE +2
 1382              EX           FLW           CAC2          ARG 1               ISOLATE PAGE NUMBER.
 1386              TS           -             -             P3 D2A LZS     C
 1388              SS           ARG2          C5T8          LINE +3             SET PAGE NUMBER IN PRINT.
 1390              SM           Z,X0,4        ONES          6,N,S0,1            ERASE ITEM, ADVANCE QUARTER-LINE.
 1392              TX           6,N,S0        -             6,Z,S0
 1393              LA           Z,X4          Z,X6,1        C,+2                BRANCH IF FOURTH COLUMN IS DONE.
 1395              NA           6,N,S0        ONES          PLOX COLM           GO DO NEXT COLUMN UNLESS IT IS VOID.

 1397              TS           L NEW LINE    Z,X0          PRINT AVL      C    RESET X0 TO BEGINNING OF LINE, PRINT.
 1399              TX           Z,X0          -             L NEW LINE          INFORM GROUP A OF LINE PHASE.
 1400              NA           Z,R6,1        ONE           PLOX LINE           BRANCH IF NOT FOURTH LINE OF GROUP.

 1402              TS           SPACE 2       OLD SPACE     PLOX GRP

 1405   EN LOX PAG TN           N,R7          6             Z,X0                RESTORE X0 TO X5.
 1406              TS           L B BUF1      Z,R3          RE USE +1      C    REVERSE DIRECTION OF WORD RECORD SCAN.
 1408              NA, CAC3     LAST MAX      INDEX MAX     LOC INDEX           BRANCH IF MORE PAGES OF LOCATION INDEX.

 1410              TS           ZERO          E LOX GATE    MON WAKE       C    LET PASS 3 CARRY ON.

# Page 530
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  49        PAGE  49

P1413   PROCEDURE TO INITIALIZE EACH SUBSTRAND, AND SORTING LOOP FOR EACH WORD RECORD.

 1415   WS3 LOOP   TX           Z,X2          -             Z,S3                BEGIN PREPARATION OF A SUBSTRAND.
 1417              SS           Z,X1,1        SPEC MAG      N,S3,2              INSERT BANNER, STEP SERIAL.
 1419   FIND SS    SWE, D12     Z,R5          5             Z,R6                REL ADR OF SS USE WD -- INIT. =0.
 1421              WA           Z,R6          L WS3 SST     Z,R6
 1422              LA           BIT 1         N,R6          C,+3                BRANCH WHEN NEXT USED SUBSTRAND FOUND.
 1424              WA           N,R6          N,R6          N,R6                SHIFT OFF ZERO BIT FOR UNUSED SUBSTRAND.
 1426              TS           Z,R5,1        -             FIND SS             ADVANCE SUBSTRAND NUMBER AND LOOK AGAIN.

 1428              SWE, CAC12   N,R6          1,L           N,R6                SHIFT OFF 1-BIT FOR USED SUBSTRAND.
 1430              WD           Z,R5,1        SPEC SIGN     N,S3                STORE SUBSTRAND NUMBER.
 1432              SWE, ONES    N,S3,1        8,L           BLOCK IND           BLOCK INDICATOR = 256 X SUBSTRAND NO.
 1434              TX           Z,S3          -             Z,R4                SAVE ADDRESS FOR FIRST SUBSTRAND WORD.
 1436              MT           ZERO          63            N,S3,1
 1437              MT           ZERO          63            N,S3,1
 1438              MT           ZERO          63            N,S3,1
 1439              MT           ZERO          63            N,S3,1
 1440              MT           ZERO          4             N,S3,1              CLEAR 256 WORDS.
 1442              TS           Z,SC          Z,R1          RVC WORDS           GO TO RECEIVE A WORD BUFFER.

 1444   SORT LOOP  SWE, CAC3    N,X4          16            LWA                 ADDRESS OF LAST WORD IN STRING.
 1446              EX           N,X4,1        CAC3          FWA                 ADDRESS OF FIRST WORD IN STRING.
 1448              TX           Z,X4,1        -             Z,R6                SAVE ADDRESS OF ACTUAL STRING.
 1450              WD           LWA           FWA           LENGTH
 1451              WA           Z,X4          LENGTH        Z,X4                FORM ADDRESS OF NEXT LWA-FWA WORD.
 1453              NA, B33T40   FWA           BLOCK IND     FWA NOT IN          BRANCH IF BEGINNING OF STRING NOT IN SS.

 1455              WD           FWA           BLOCK IND     COMMON
 1456              WA           Z,R4          COMMON        Z,R7                FORM INITIAL DESTINATION ADDRESS.
 1458              LA, B33T40   LWA           BLOCK IND     BOTH IN             BRANCH IF ALL OF STRING IS IN SUBSTRAND.

 1460              WA           Z,R4          N,SC,7        R7 LIM              FINAL DESTINATION ADR, FWA IN, LWA NOT.
 1462              OCT          -377

 1463   FWA NOT IN NA, B33T40   LWA           BLOCK IND     SORT EOR Q          BRANCH IF NONE OF STRING IN SUBSTRAND.

 1465              TX           Z,R4          -             Z,R7                INITIAL DESTINATION ADDRESS.
 1467              WD           BLOCK IND     FWA           COMMON
 1468              WA           Z,R6          COMMON        Z,R6                MODIFY INITIAL ORIGIN ADDRESS.

 1470   BOTH IN    WD           LWA           BLOCK IND     COMMON
 1471              WA           Z,R4          COMMON        R7 LIM              FINAL DESTINATION ADDRESS, LWA IN.

 1473   CONF CHEK  LA           N,R7          ZERO          C,+3                BRANCH IF NO FIXED STORAGE CONFLICT.
 1475              SWS, BIT34   Z,R6,1        1             SWITCH              CONFLICT IS ENOUGH FOR BAD ASSEMBLY.
 1477              TS           W CONFLIC     N,R7          C,+2                PUT ALF CONFLICT INSTEAD OF WORD.
 1479              TX           N,R6,1        -             N,R7                PUT NON-CONFLICTING WORD INTO SUBSTRAND.
 1481              NA           Z,R7,1        R7 LIM        CONF CHEK

 1482   SORT EOR Q NA           N,X4          ONES          SORT LOOP           BRANCH IF LWA-FWA WORD, NOT EOR FLAG.

# Page 531
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  50        PAGE  50

P1484   PROCEDURE AFTER EACH WORD RECORD IS FINISHED (FOR THIS SUBSTRAND).

 1485              NA, CAC1     0,0           W SERL LIM    NEND SS             BRANCH IF NOT END OF SUBSTRAND.
 1489   DONT SORT  NA           PH GLAG A     ZERO          PARAP NAP           SLEEP IF PASS 3 UNREADY TO RECEIVE BYPT.
 1492              TS           Z,X2          PH FLAG A     MON WAKE       C    WAKE PASS 3 AND GIVE IT THE BYPT.
 1500              SWE, D12     Z,R5          5             Z,R6
 1501              WA           Z,R6          N,SC,2        Z,R6                SET UP ANY-MORE-SUBSTRANDS CHECK.
 1503   L WS3 SST  SPEC                                     WS3 SST
 1504              LA           WS3 SST P8    Z,R6          END WS3             BRANCH IF NO MORE SUBSTRANDS.
 1506              LA           N,R6,1        ZERO          C,-1

 1507              TS           L B BUF1      Z,R3          RE USE +1      C
 1510              LA           PH FLAG C     ZERO          PARAP NAP           SLEEP IF PASS 3 USING OTHER BUFFER.
 1512              TS           PH FLAG C     Z,X2          -                   ACCEPT USED BUFFER AND WAKE PASS 3.
 1515              TS           ZERO          PH FLAG C     MON WAKE       C    SIGNAL READINESS FOR BUFFER JUST SENT.
 151602            NA, BIT11    SWITCH        ZERO          WS3 LOOP            BRANCH TO BYPASS WRITING FOR ANY REASON.
 151604            TS           -             -             PHI TAPE
 15162             WF,1         -             -             -                   MAKE SURE PASS 3 IS THROUGH WITH BUFFER.
 15164             TS           Z,X2          Z,S3          WS3 LOOP +1

 1517   NEND SS    NA           Z,X0          SJ LIM        C,+3                BRANCH IF NOT AT BUFFER MODULATION.
 1519              WD           N,SC,2        SJ LIM        Z,X4                BUF MODULATION... 1 TO 8 OR VICE VERSA.
 1521   SJ LIM 9   RESERVE      1

 1522              BA           Z,X0          DELT SBUF     Z,X4                INCREM OR DECREM BUFFER ADDRESS.

 1524              SM           N,X0          BIT 1         N,X0                FLAG BUFFER AS USED.
 1526              TS           -             -             MON WAKE       C    WAKE RD4.
 1528              BA           W SERL        N,SC,2        W SERL              INCREM OR DECREM WORD SERIAL.
 1530   DELT SJ    DEC          0001

 15308             TS           -             -             MON SLEEP      C
 1531   RCV WORDS  CP           N,X4          -             PARAP NAP           SLEEP IF SEEING AN UNCORRECTED READ ERR.
 1533              NA, CAC1     4,0           W SERL        C,-2                SLEEP UNTIL RD4 PREPARES A BUFFER.
 1534              TS           Z,X4,1        Z,X0          N,R1                PROCESS NEW BUFFER IN SAME SUBSTRAND.

R1536   SUBROUTINE TO REVERSE DIRECTION OF BUFFER SCAN.

 1537   RE USE     WA           Z,R3          BUF SIZE      Z,R3           C
 1538              SS           ZERO          BIT 1         N,R3           C    MARK BUFFERS FOR RE-USE AT TURNAROUND.
 1540              NA           Z,R3          L B BUF8      C,-2           C

 1541   REVERSE    BS           ZERO          DELT SBUF     DELT SBUF      C
 1542              BS           ZERO          DELT SJ       DELT SJ        C    CHANGE SIGNS OF INCREMENTS.
 1544              WD           HI RECS P1    W SERL LIM    W SERL LIM     C
 1545              WD           SJ LIM 9      SJ LIM        SJ LIM         C    SWITCH LIMITS TO OTHER STATES.
 1547              TX           Z,X0          -             Z,X4                BEGIN NEW SS WITH LAST BUFFER DONE.



 1548   END WS3    NA           PH FLAG A     ZERO          PARAP NAP           SLEEP IF PASS 3 HAS EARS CLOSED.
 15482             EX           Z,X1          SPEC MAG      BANNER              STORE RECORD COUNT FOR EOFRI BANNER.
 15484             TS           ZERO          PH FLAG C     -                   CLEAR FLAG AGAIN JUST IN CASE.
 15486             TS           ONES          PH FLAG A     DEAD STOP           TELL PASS 3 IT IS ALL OVER.

# Page 532
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  51        PAGE  51

P1549   PROCEDURE FOR PASS 3 TO CLEAN UP THE END OF YULPROGS. IF THE ASSEMBLY IS A REPRINT OR A REJECTED ASSY. OR A SUB-
R15492  ROUTINE, YULPROGS HAS ALREADY BEEN CLOSED AND REWOUND, AND BIT 11 SET.  OTHERWISE THE EXISTENCE OF A BYPT RECORD
R15494  FOR THE PROGRAM IS NOTED IN THE DIRECTORY, UNLESS THE ASSEMBLY IS BAD.  THE FILE TAPE IS CLOSED AND REWOUND.

 1551   CLOSE YUL  NA, BIT11    SWITCH        ONES          YULPROP -1          BRANCH IF NEW BYPT RECORDS WERE WRITTEN.
 1554              LA           SWITCH        BIT 1         C,+2                BRANCH IF BAD MERGE.
 1556              TS           ZERO          BIT 37        WHICH WD            REPRINT MUST NOT CHANGE BYPT BIT STATUS.
 1558              TN           REJECT        8             LAST LINE +1
 1559              S, MON TYPER REJAS MSG     SPRAMR +24    FINISH T1 +1        BE MOST EMPHATIC ABOUT REJECTION.
 1561              TS           ZERO          PH FLAG A     PHI TAPE
 1562   YULPROP    WF,1         -             -             DISASTER            CHECK-WRITE LAST BYPT RECORD.
 15621             LA           DISC ADRS     ZERO          WHICH WD
 15622             LA           DF PLACE      L DISC BUF    CONFIRM             BRANCH IF LAST BUFFER CAME OUT EVEN.
 15626             TS           DF PLACE      END OF BUF    LAST RITE           FORCE WRITING OF SHORT LAST BLOCK.

 156262 CONFIRM    LA           C7T8          N ERR LINS    ECCH                LET'S NOT DEFILE THE DISC WITH A YUCCHH.
 156264            TN           DISC TOO      2             GOOD BAD +4         LET LAST LINE SHOW FILING ON DISC.
 15627             TS           ZERO          INDEX +4      DISCAP         C
 15628             OCT          -14                                             CONFIRM BINARY RECORDS FOR THIS PROGRAM.
 1563              SPEC                                     INDEX

 15631  WHICH WD   LA           N ERR LINS    TWO           C,+8
 15632             LA           N ERR LINS    D12           C,+6
 15633             LA           N ERR LINS    B41T48        C,+4
 156332            LA           N ERR LINS    C7T8          C,+2
 156334 ECCH       TS           KEEP BYPT -1  KEEP BYPT -2  C,+4                1000 CUSSES OR MORE RATE A YUCCCHHHH.
 15634             TS           WORSE +2      HORRID        C,+3
 15635             TS           WORSE +1      HORRID        C,+2
 15636             TX           WORSE         -             HORRID              DEGREE OF ASPERSION GIVES THE BAD NEWS.
 1564              NA, PROG SUB SWITCH        ZERO          NEUTRAL             BRANCH IF SUBROUTINE, NOT PROGRAM.
 1566              NA, BIT 34   SWITCH        ONES          KEEP BYPT           ADMIT TO BYPT IF GOOD/FAIR PROG ASSY.

 1577   MAIN CUSS  TS           BAD           GOOD BAD      KEEP BYPT      C    FETCH ADDRESS OF PROG/SUB NAME.
 1581              SS           ZERO          BIT 37        1,1                 INDICATE THAT NO BINARY RECORDS EXIST.
 1583              S, MON TYPER HORRID        SPRAM +8      FINISH T1
 15832             S, MON TYPER YUCCHHH       SPRAMR +16    FINISH T1 +1

 1586   KEEP BYPT  TX           L PROG FIL    -             Z,X1                LOCATION OF PROGRAM NAME IN YUL FILE.
 1588              SM           1,1           BIT 37        1,1                 DECLARE EXISTENCE OF BYPT RECORD.
 1590              NA           N ERR LINS    ZERO          C,+3
 1591              TX           GOOD          -             GOOD BAD
 1592              S, MON TYPER JOYFUL        SPRAM +8      FINISH T1
 1593              TX           MEDIOCRE      -             GOOD BAD
 1594              S, MON TYPER HO HUM        SPRAM +8      FINISH T1

 15942  NEUTRAL    S, MON TYPER W END OF      SPRAM +8      -

 1595   FINISH T1  S, MON TYPER ASSEMBLY      SPRAMR +8     -

# Page 533
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  52        PAGE  52

P1618              FINALIZING ROUTINE FOR PASS 3.  PRINTS A LINE CONCERNING THE QUALITY OF THE ASSEMBLY.  IF MORE COPIES
R1620   OF THE LISTING WERE CALLED FOR, AND THE ASSEMBLY WAS GOOD OR FAIR, PRINTS THE ENTIRE LISTING FROM TAPE 5 AS MANY
R1622   TIMES AS REQUIRED.  REWINDS (RELEASES) TAPE 5 IF THERE IS (IS NOT) ANOTHER TASK, TERMINATES BY RELOADING PASS 0.



 1624   END PASS 3 TN           LAST LINE     16            LINE
 1625              LA           N ERR LINS    ZERO          SEND LAST           BRANCH IF NO ERRORS IN PROGRAM.
 1627              SWE, CAC12   N ERR LINS    D,4,L         ARG 1
 1628              TS           -             -             P3 D2A LZS     C    EDIT ERROR COUNT FOR PRINTING.
 1634              SS           ARG 2         C3T8          LINE +10            SET ERROR COUNT IN PRINT.
 1636              TN           ERR SUMM L    5             LINE +11
 1637              SWS, C5T8    ERR PAGES     A,4           LINE +14
 16372             SWE, ONES    LINE +14      A,1,L         LINE +14
 1638              SS           ERR PAGES     C5T8          LINE +15
 16382             SWE, ONES    LINE +15      A,1,L         LINE +15            SET ERROR PAGE NUMBERS IN PRINT.
 16392             S, MON TYPER LINE +10      SPRAMR +48    -

 1640   SEND LAST  TX           SPACE 4       -             OLD SPACE
 16401             S, MON TYPER BLANKS        SPRA +8       -
 16402             TX           ZERO          -             LIN COUNT           DON'T LET LAST LINE HAVE A PAGE TO SELF.
 1641              TS, CHAR1    PERIOD C1     LINE +10      GO PRINT       C    PRINT END OF LAST PH OR OF SUBRO LIST.
 1643              TS           Z,SC          Z,X4          PRINT OLD           PRINT LAST LINE OF ASSEMBLY OUTPUT.

 1647              TS           SPACE 4       N,X0          GET LOG NO     C
 1648              SS           ZERO          D8T12         N,AU2               CLEAR MONITOR'S COUNT OF PRINT LINES.
 1649   RD4 WAIT   TS           -             -             PARAP NAP           SET TO PROCEED WHEN RD4 DIES.

 16502             NA, BIT11    SWITCH        ZERO          C,+4                BYPASS IF YULPROGS HAS BEEN CLOSED OUT.
 16504             S, MON TYPER YULPROP       -             BANNER              CLOSE OUT YULPROGS.
 16506             TS           -             -             PHI TAPE
 16508             RW,1         -             -             -
 1651              LA           N COPIES      ZERO          RELOAD P0           RETURN TO PASS 0 IF NO COPY TAPE EXISTS.
 16522             NA           Z,X0          L COP BUFS    C,+5                BRANCH IF LAST COPY BUF CAME OUT EVEN.
 16524             TN           ZERO          1             N,X0
 16526             MT           BLANKS        15            N,AU2,1             MAKE UP NO-PRINT-NO-SPACE LINE.
 16528             TS           -             -             COPY PRT5
 16529             TS           LINE          LINE          C,-4                FILL OUT LAST COPY BUFFER.
 1653              S, MON EOFRI COPIES +1     -             ZERO                CLOSE OUT TAPE WITH COPIES OF LISTING.
 1655              LA           BIT 1         SWITCH        COPIES              IF REPRINT, ALWAYS DO REQUESTED COPIES.
 1657              LA           GOOD BAD      BAD           REL PRT5            OMIT EXTRA COPIES IF BAD ASSEMBLY.

# Page 534
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  53        PAGE  53

P1659   PROCEDURE TO PRINT ADDITIONAL COPIES OF ASSEMBLY LISTINGS.

 1660   COPIES     TS           TWO           Z,R2          PHI TAPE
 1661              RW,5         -             -             -
 1662              SWE, CAC3    E BUFFERS     16            Z,X2
 1663              TS           E BUFFERS     Z,X1          PHI TAPE            LOAD ADDRESSES FOR DOUBLE-BUFFERING.
 1665              RF,5         1,0           -             -                   PASS OVER LABEL, READ FIRST LINE.
 1667              NA           Z,R2,1        ONE           C,-2

 1668              WD           N COPIES      PAPER PLY     N COPIES
 1669              TS           -             -             PRINT COP +4

 1670   PRINT COP  S, PHI PRINT 2,0
 16702             S, PHI PRINT 2,16
 16704             S, PHI PRINT 2,32
 16706             S, PHI PRINT 2,48
 1671              TS           Z,X1          Z,X3          PHI TAPE
 1672              RF,5         2,0           -             -
 1673              TN           Z,X2          2             Z,X1                SWAP BUFFER NAMES.
 1675              NA, BANBITS  2,0           BAN EOFRI     PRINT COP           BRANCH UNLESS EOFRI WAS READ.

 16762             TS           -             -             GET LOG NO     C
 16764             SS           ZERO          D8T12         N,AU2               CLEAR MONITOR'S COUNT OF PRINT LINES.
 1677              TS           -             -             PHI TAPE
 1678              RF,5         -             -             -                   FINISH READING SECOND EOFRI.
 1680              NA           N COPIES      PAPER PLY     COPIES              BRANCH IF MORE COPIES TO PRINT.

 1682   REL PRT5   SSL, ONE     SWITCH        44            C,+1                SEE IF ANOTHER YUL TASK FOLLOWS.
 1684              TS           Z,SC,1        -             PHI RLEAS
 1685              TS           -             -             PHI TAPE
 1686              RW,5         -             -             -                   REWIND OR RELEASE COPY TAPE ACCORDINGLY.

 1688   RELOAD P0  S, PHI PRINT 0,0
 16882             S, PHI PRINT 0,0
 16884             S, PHI PRINT 0,0                                             BE SURE TO RUN OUT PRINT LINES.
 16886             S, PHI LOAD  YUL PASS 0    15            BASE ADDR           CHANGE B ADR BY HAND AS YUL SYST GROWS.

R1690              QUANTITIES TO BE FILLED IN BY THE PARTICULAR PART OF PASS 3.

 1691   FILL       MODLOC       64

 1692   SIZ PASS 3 EQUALS       FILL - PROG NAME + 64

 1693   M EDIT DEF EQUALS       FILL +64                                        SUBROUTINE ENTRY CACS.
 1695   M EDIT AV1 EQUALS       FILL +64
 1696   M PRINT PN EQUALS       FILL +64
 1697   M EDIT WD  EQUALS       FILL +65
 1698   M EXPLAIN  EQUALS       FILL +65

 1699   MAX LOC    EQUALS       FILL +66                                        MACHINE PARAMETERS.
 1701   MAX SSNO   EQUALS       FILL +67
 1702   MW TO      EQUALS       FILL +68
 1703   MW TO MASK EQUALS       FILL +69

# Page 535
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  54        PAGE  54

P1704              INITIALIZING SEQUENCE FOR PASS 3, SETTING UP RD4 AND WS3.  IF NECESSARY, MAKES UP OWN DISC DIRECTORY.



 1706              SETLOC,7C    SIZ PASS 3    B1



 17061  PARP NAME  ALF          ????PAS3
 1707   BIT 19     OCT          0000 0040
 1708   BIT 42     OCT          -100
 1709   DF NDX LIM OCT          0000 1000
 17092  HOLE       OCT          0075 7575 7575 7575

 1710   WS3 SST P7 SPEC                                     WS3 SST +7
 1711   L PARA PRS SPEC,B7                                  7D7
 17126  BLOT C1    ALF          ▪
 17127  W END YUL  ALF,2        END YUL PASS 2
 17128  NORUM CUS  ALF,4        BINARY RECORDS WON'T FIT ON DISC
 1713   2 MANY PGS ALF,4        OVER 500 YUL PROGRAMS ON DISC ▪▪

 1714   ALT WORDS  ALF,3         SUPERB   SO-SO  DISMAL
 1715              ALF,3          AWFUL    VILE  PUTRID
 1716   SUB LASTL  ALF,5              THIS SUBROUTINE IS MAINTAINED IN S        1657 COMPARES "IS SUBRO" VS " BAD. UN".
 1717              ALF,2        YMBOLIC FORM ON

 17172  BCGROUND   MPC, H       Z,0           301           MON PCR
 17173  DF NDX BUF EQUALS       L DISC BUF
 17174  DF NDX ADR EQUALS       EQIVLENT
 17175  4 COUNTER  EQUALS       ADDRESS
 171755 TAPE NAME  EQUALS       COMP BITS
 17176  DISC BUFF  EQUALS       7144
 17177  L BANK 3   EQUALS       L PROG TAB


# Page 536
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  55        PAGE  55

P17179  GENERAL INITIALIZATION: ACCOUNT FOR DIFFERENCE BETWEEN PROGRAMS AND SUBROUTINES, START PARAPROGRAMS, ETC.

 1718   INISH P3   TS           5,1           GOOD BAD +6   P3 MASKER      C    PUT CORRECT NAME OF TAPE INTO LAST LINE.
 17192             S, MON TYPER W END YUL     SPRA +16      C,+3                TYPE "END YUL PASS 2  ".
 17194             SS           BLANKS        CHAR 8        PAGE HEAD +13
 17196             TS           BLANKS        PAGE HEAD +14 C,+2                CLEAR SUBROUTINE NAME SLOT IN PAGE HEAD.
 17198             NA, CHAR1    PAGE HEAD +14 BLOT C1       C,-2                BRANCH IF NOT REJECT OR OBSOLETE.
 171992            EBA          SPEC SIGN     BIT 25        Z,X4                POINT TO ORIGIN OF ROUTINE LIST.
 171994            S, ETS       4,0           ZX +4         REDUCYMS            REMOVE ROUTINE NAMES FROM SYMBOL COUNT.
 1720   SUB REDUC  TX           L SYM THR     -             Z,X4
 17201             EBA          4,13          BIT 25        Z,X4                POINT TO BEGINNING OF AD HOC SUBRO DIR.
 172015            TX           N,SC,1        -             N,SC                CHANGE EXIT FROM LOOP.
 17202             LA           ONES          N,X4,1        SELF OBS Q -2       BRANCH IF NO MORE SUBROUTINES THIS ASSY.
 17204  REDUCYMS   LA           ONES          N,X4,1        SUB REDUC           BRANCH IF NO MORE WORD-COUNT ROUTINES.
 17205             WD           SYM PLACE     THREE         SYM PLACE           REMOVE NON-SYMBOL ENTRY FROM SYM COUNT.
 17206             S, ETS       4,0           ZX +4         REDUCYMS            THREAD TO NEXT NON-SYMBOL ENTRY.
 172064            LA           SYM PLACE     SPEC MAG      SELF OBS Q
 172066            WD           SYM PLACE     THREE         SYM PLACE           COMPENSATE FOR SKIPPING OVER 32K STOPPR.
 17207  SELF OBS Q SSL, ONE     SWITCH        36            C,+1           C    CHANGE REJECTION LINE IN VERSION ASSY.
 172072            SSL, ONE     SWITCH        37            C,+2                TEST WHETHER RECORDING BINARY RECORDS.
 172074            TN           REJ VERS      4             REJ REV
 17208             TX           PROG NAME     -             LAST PROG           CAUSE OBSOLETING OF OLD REVS OF THIS PR.
 17209             NA, PROG SUB SWITCH        ONES          JUDGE WDS           BRANCH IF DOING PROGRAM ASSEMBLY.
 1722              TX           BLANKS        -             SUBL HEAD +3        FIX SUBROUTINE LIST PAGE SUBHEAD.
 1724              TN           SUB LASTL     7             LAST LINE +2
 1725              TS           BLANKS        LAST LINE +1  COPY SST            FIX FINAL ASSEMBLY PRINTOUT.

 1727   JUDGE WDS  HA           SYM PLACE     PAGE NO       C,+0                GENERATE A RANDOM BIT IN BIT 47.
 1729              SSL, ONE     C,-1          1             C,+1
 1730              TN           ALT WORDS     6             JOYFUL

 17331  COPY SST   TN           SUBSTRAB      8             WS3 SST             MAKE A COPY OF THE SUBSTRAND TABLE.
 17333             TS           ONE           N RECORDS     LD EBUF 2      C
 173333            MT           ZERO          52            N,X3,1
 173336            LA           Z,X3          END SY BUF +1 C,-1                CLEAN OUT AUTHMEMO BUFFER.
 17334             TS           L WS3 SST     Z,X6          LD EBUF 2      C
 17335             TS           BIT 32        AVAIL MSK     C,+2
 17336  PH COUNT   WA           AVAIL MSK     AVAIL MSK     AVAIL MSK
 17337             NA, AVAILMSK 6,0           ONES          C,+2
 17338             WA           N RECORDS     ONE           N RECORDS           COUNT UP THE NUMBER OF PARAGRAPHS.
 1734              NA           AVAIL MSK     BIT 1         PH COUNT            BRANCH UNTIL SUBSTRAND TABLE WD IS DONE.
 17342             NA           Z,X6,1        WS3 SST P7    PH COUNT -1         BRANCH UNTIL ALL SS TABLE WORDS DONE.

 17344             TX           ZERO          -             DISC ADRS           IN CASE WE CANNOT OR SHOULDN'T USE DISC.
 17346             TX           L COMP NAM    -             Z,X6
 17347             SWS,THREAD10 6,1           12            Z,X6
 17348             SWE, ONES    CHAR 8        A,1           AVAIL MSK           MOVE LEADING NON-BLANK CHARACTERS OF
 1735              SS           N,X6          AVAIL MSK     PARP NAME           REFERENCED COMPUTER NAME TO FORM
 17352             SWE, C1T4    AVAIL MSK     A,1           AVAIL MSK           COMPLETE NAME OF PARTICULAR PASS 3.
 17354             NA, AVAILMSK 6,0           BLANKS        C,-2

 17355             NA, BIT11    SWITCH        ZERO          PAGE SIZQ -2        BRANCH IF BAD MERGE OR REPRINT.
 17357             LA           N RECORDS     ONE           PAGE SIZQ -1        TREAT CASE OF NO WORDS LIKE BAD MERGE.
 17361             NA, PROG SUB SWITCH        ZERO          PAGE SIZQ           NO BYPT-WRITING ON DISC FROM SUBRO ASSY.
 17363             LA, C5T8     DISC STAT     C6T8          PAGE SIZQ           BRANCH IF DISC IS INOPERABLE.

# Page 537
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  56        PAGE  56

P173645 WE ARE SURE OF WRITING BINARY RECORDS; DESTROY DUPLICATES IF ANY, CREATE FILE, AND PREPARE FOR CONFIRMATION.

 17365             TX           COMPUTER      -             INDEX               PUT BLANKLESS COMPUTER NAME INTO INDEX.
 17367             SWS, C5T8    5,1           A,4           INDEX               PUT FIRST LETTER OF TAPE NAME IN CHAR 5.
 17369             TS           L PROG FIL    Z,X6          C,+4
 1737              SWE, C7T8    6,1           24            DEC▪REVN       S    REVISION # OF PROGRAM WITHOUT SUBROS.
 17372             SWS,THREAD11 6,1           24            Z,X6           C
 17373             SWE, C7T8    N,X6          36            DEC▪REVN       S    REVISION # OF PROGRAM WITH SUBROUTINES.
 17375             SSL, ONE     6,1           23            C,-3           C
 17376             SS           ZERO          C6T8          INDEX
 17377             SS           DEC▪REVN      D12           INDEX
 17378             SWS, B39T42  DEC▪REVN      2,L           INDEX
 17379             SWS, CHAR5   DEC▪REVN      4,L           INDEX               PUT REVISION NUMBER INTO FILE NAME.
 17381             TX           ONES          -             INDEX +2            INITIALIZE SUCCESSIVE LOOKUPS.

 17383  DF LOOKUP  TS           PROG NAME     INDEX +1      DISCAP         C
 17384             OCT          -15                                             LOOKUP AND/OR DELETE EXISTING INSTANCES.
 17386             SPEC                                     INDEX
 17387             SSL, ONE     DF LOOKUP +1  3             C,+2                SELECT ON MODE (6=DELETE OR 15=LOOKUP).
 17389             TS           YUL WAA       Z,X6          C,+4                XIT HERE WHEN ALL OLD INSTANCES DELETED.
 1739              TS, CHAR8    BLANKS        DF LOOKUP +1  DF LOOKUP -1        RESTORE LOOKUP MODE, UNLOG AFTER DELETE.
 17391             NA, D10D11   INDEX +3      YUL FILE      DF LOOKUP           LOOK AGAIN IF NOT A GENUINE YUL PROGRAM.
 17394             TS, CHAR8    SIX           DF LOOKUP +1  DF LOOKUP           DELETE THE OLD VERSION WE FOUND.

 17396             WD           SYM PLACE     L SYM TAB     N SYM RECS
 173965            BM           N SYM RECS    2 THIRDS      N SYM RECS
 17397             WA           N SYM RECS    OCT 377       N SYM RECS
 17398             SWE, C7T8    N SYM RECS    8             N SYM RECS          GET NUMBER OF SYMBOL TABLE RECORDS.
 1740              SM           YUL LOG       C5T8          INDEX +2
 17401             WA           N SYM RECS    N RECORDS     N SUBFIL 1          GET TOTAL NUMBER OF RECORDS.
 174015            LA           OCT 377       N SUBFIL 1    PREP CONF -1        BRANCH IF FILE TOO BIG FOR DISC FILE.
 17402             SWE, ONES    N SUBFIL 1    1             Z,AU1               HALF THE NUMBER OF RECORDS OR JUST LESS.
 174025            WA           N SYM RECS    ONE           Z,AU2               NUMBER OF NON-PARAGRAPH RECORDS.
 17403             LA           Z,AU2         Z,AU1         C,+2                BRANCH IF THOSE WILL FIT IN 1ST SUBFILE.
 174035            WD           N SUBFIL 1    Z,AU2         Z,AU1               IF NOT, 2ND SUBFILE HAS PARAGRAPHS ONLY.
 17404             WD           N SUBFIL 1    Z,AU1         N SUBFIL 1          NUMBER OF RECORDS IN 1ST SUBFILE.
 174045            SWS, B31T39  N SUBFIL 1    11,L          CREATE WD
 17405             SWS, B31T39  Z,AU1         11,L          CREATE W2           TWO CREATIONS SNATCH ALL NEEDED DISC.
 174055            TS           -             -             DISCAP         C
 17406  CREATE WD  OCT          -400
 174065            SPEC                                     INDEX
 17407             TS           Z,SC,1        -             DISCAP         C
 174075            TS           -             -             PREP CONF -1        BAD RETURN MEANS NO ROOM IN DISC FILE.
 1741   CREATE W2  OCT          -1 000 402                                      CREATE FILE FOR THIS NON-REJECTED PROG.
 17411             SPEC                                     INDEX
 17412             TS           CREATE WD     DISC ADRS     PREP CONF           SUCCESS: GO PREPARE FOR CONFIRMATION.
 17414             S, MON TYPER NO RUM CUS    SPRA +32      PAGE SIZQ           CUSS NO ROOM AND FORGET ABOUT DISC USE.

# Page 538
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  57        PAGE  57

P174155 PREPARE FOR CONFIRMATION, WHICH WILL BE DONE WHEN AND IF THE RUN GETS THROUGH PASS 3.

 17416  PREP CONF  WA           FINISH T1     BIT 32        FINISH T1           ADD "; FILED ON DISC" TO FINAL TYPEOUT.
 17418             SM           YUL LOG       N,SC,1        INDEX +5            FORM CHARLIE WORD.
 1742              DEC          -2500
 17426             TX           DEC▪REVN      -             INDEX +8            REVISION NUMBER IN DECIMAL
 17428             TX           L AUTH NAM    -             Z,SH                AND AUTHOR NAME, ALL FOR BENEFIT OF THE
 1743              TX           N,SH,1        -             INDEX +9            SIMULATOR.
 17432             SS           N,SH          THREAD 11     Z,SH
 17433             TN           N,SH          1             INDEX +10
 17434             MT           ZERO          4             N,AU2,1
 174345            TX           N SYM RECS    -             INDEX +13           NUMBER OF SYMBOL TABLE RECORDS.
 17435             TX, D10D11   YUL FILE      -             INDEX +3            SUPPLY DISCAP'S CODE FOR YUL PROGRAMS.

 174362            NA, BIT34    SWITCH        ONES          PAGE SIZQ           BRANCH IF GOOD OR FAIR PROGRAM ASSEMBLY.
 17437             SWS, B15T16  SWITCH        4,L           SWITCH              BAD ASSEMBLY SETS CONDISH SUPPRESSIONS.

 1750   PAGE SIZ Q WA           L AV TABLE    ONE           Z,X1                POINT TO 1ST SPEC PAIR OF SYMBOL TABLE.
 1752              LA           N LINES       54 LINES      CH NEX SYM +2
 1753              TS           54 LINES      N LINES       CH NEX SYM +2       RESTORE ARTIFICIALLY OVERSIZE PAGE.

 17542  MD SYM CHK LA           ONES          N,X1,1        CH NEX SYM +3       BRANCH IF THERE ARE NO MORE SYMBOLS.
 17544             LA           1,1           CAC12         CH NEX SYM          BRANCH IF SYMBOL, NOT MULT. DEF. FLAG.
 17546             S, ETS       1,1           ZX +2         C,+1                POINT TO LAST OF MULTIPLE DEFINITIONS.
 17547             TX           2,1           -             Z,AU1               POINT TO FIRST OF MULTIPLE DEFINITIONS.
 17548             SS           N,X1          CAC3          2,1                 THREAD LAST MULT DEF TO NEXT SYMBOL.
 17549             SM           CAC12         Z,AU1         N,X1                MAKE FLAG LOOK LIKE BAD SYM ON DISC.
 175496 CH NEX SYM LA, CAC3     1,0           L AV TABLE    C,+2                BRANCH IF SYMBOL, NOT SPEC PAIR.
 175498            WA           N,X1          ONE           Z,X1
 1755              S, ETS       1,0           ZX +1         MD SYM CHK          GO SEEK ANOTHER MULTIPLY DEFINED SYMBOL.

 17551             LA, C5T8     DISC STAT     C6T8          SET Z(A)            BRANCH IF DISC IS INOPERABLE.
 17552             NA, PROGSUB  SWITCH        ONES          C,+2                BRANCH IF DOING PROGRAM ASSEMBLY.
 17553             NA, BIT13    SWITCH        ONES          SET Z(A)            BR. IF THIS ASSY OBSOLETED NO PROGRAMS.

# Page 539
#      @YUL SYSTEM ASSEMBLER -- PASS 3                                           USER'S OWN PAGE NO.  58        PAGE  58

P17565  MAKE UP OWN DIRECTORY OF PROGRAMS FOR THIS COMPUTER ON THE DISC -- 500 AT MOST.

 1757              SWE, C2T4    L DF NDX AD   B,24,L        DF NDX ADR
 1758              WA           DF NDX ADR    BIT 19        DF NDX ADR
 1759              WA           DF NDX LIM    DF NDX ADR    DF NDX LIM          SET UP LIMITS OF DISCAP INDEX AREA.

 1761   RD DF NDX  LA           DF NDX LIM    DF NDX ADR    SET Z(A)            BRANCH IF WHOLE INDEX HAS BEEN EXAMINED.
 1763              TX           DF NDX BUF    -             Z,X1                POINT TO BANK 3 OWN-DIRECTORY AREA.
 1765              S, DISCREAD  1,0           16            DF NDX ADR          READ 16 SECTORS = 1024 WORDS OF INDEX.
 1767              WA           DF NDX ADR    BIT 20        DF NDX ADR          INCREMEMENT DISC ADDRESS FOR NEXT READ.
 1769              TS           ZERO          4 COUNTER     DISC CHEK           WAIT FOR DISC READ TO FINISH.

 1771   FILE TYP Q NA           N,X1          HOLE          C,+2
 1772              TS           Z,X1,15       -             NXT (NDX) +1        REJECT A HOLE IN THE INDEX.
 1774              NA           N,X1          BCGROUND      C,+2
 1775              TS           Z,X1,15       -             NXT (NDX) +1        REJECT NEVER-USED PART OF INDEX AREA.
 1777              NA, D10D11   1,3           YUL FILE      NXT (NDX)
 1780              NA, C1T4     1,0           COMPUTER      NXT (NDX)
 1781              SWE, CHAR1   N,X1          A,4,L         TAPE NAME
 1782              NA, CHAR1    TAPE NAME     5,1           NXT (NDX)           DEMAND CORRECT COMPUTER AND TAPE.
 1784              TX           L END PTAB    -             Z,AU1
 1785              TS           L PROG TAB    Z,X2          C,+2
 1786              TX           Z,X2,1        -             -
 1787              LA           Z,AU1         Z,X2          ADD PROGN           BRANCH IF NAME NOT IN OWN DIRECTORY.
 1789              NA           N,X2,1        1,1           C,-2
 1790              NA, C6T8     2,0           1,0           C,-3                SEARCH OWN DIRECTORY FOR NAME AND REVNO.
 1792              TS           Z,X1,15       -             NXT (NDX) +1        GO TO NEXT WHEN FOUND DIFFERENT VERSION.

 1794   ADD PROGN  TX           1,1           -             N,AU1,1             STORE PROGRAM NAME.
 1796              TX           N,X1          -             N,AU1,1             STORE COMPUTER-TAPE-REVNO WORD.
 1798              TX           Z,AU1         -             L END PTAB
 1799              NA           L END PTAB    DF NDX BUF    NXT (NDX)           BRANCH IF OWN DIRECTORY DIDN'T OVERFLOW.
 1801              S, MON TYPER 2 MANY PGS    SPRA +32      SET Z(A)            "OVER 500 YUL PROGRAMS ON DISC ▪▪".

 1803   NXT (NDX)  TX           Z,X1,15       -             -
 1804              WA           4 COUNTER     ONE           4 COUNTER
 1805              NA, THREE    4 COUNTER     ZERO          FILE TYP Q          BRANCH IF IN SAME SECTOR.
 1807              LA           BIT 42        4 COUNTER     RD DF NDX           BRANCH IF END OF DISCAP BUFFER.
 1809              TS           Z,X1,4        -             FILE TYP Q          JUMP TO NEXT SECTOR WITHIN BUFFER.

 1811   SET Z(A)   TS           ZERO          N EECRS       PRINT LIN      C
 1812              TX           L LINSTOR     -             Z,X0                SET UP DELAY BUFFERING OF PRINT LINES.
 1814              TN           YP3 SY SPX    2             Z,R3                SET OWN ADDRESSES INTO JOINT SYM SEARCH.
 1816              TX           L PARA PRS    -             Z,X6
 1817              MT           Z,SC,1        2             N,X6,3              SET UP STARTING ADDRESSES FOR SIDE GRPS.
 1819   PASS 3 GPB TS           E SYLT BAN    Z,X5          RD4                 INITIALIZE RECORD COUNT FOR BYPT COPY.
 1821   PASS 3 GPC TS           L PROG FIL    Z,X0          WS3                 GO TO FORM AUTHMEMO RECORD.
 1823              TS           Z,X0          Z,R1          MON WAKE       C    SET UP DESTINATION OF FOUND SYMBOL, AND
 1825              SPCR                                     YP3                 LET SIDE GROUPS BEGIN.
 1827              SWE,GROUPIND YP3           17            YP3                 SET UP GROUP INDICATOR FOR GROUP A.
 1829              S, PHI LOAD  PARP NAME     1             P3 MASKER


 SEQBRK            END          YUL PASS 3    GENERAL
back to top