Revision 62edbcc8c6021789df156749d71229308ba4313a authored by Ronald Burkey on 08 August 2021, 00:25:00 UTC, committed by GitHub on 08 August 2021, 00:25:00 UTC
yaAGCb1: Fixed a few errors identified by SELF-CHECK
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
Computing file changes ...