# Copyright: Public domain. # Logname: YUL SYSTEM -- PASS 0 # Purpose: Part of the source code for YUL (revision 9). # Assembler: TBD # Contact: Jim Lawton # Website: https://www.ibiblio.org/apollo/index.html # Page scans: https://archive.org/details/yulsystemsourcec00hugh # Pages: 041-107 # Mod history: 2016-10-06 JL Created. # 2016-10-13 JL Started transcription. # 2016-10-14 JL Added all page numbers and headers. # 2016-10-15 JL Transcribed pages 41-62. # 2016-10-16 JL Transcribed pages 63-67. # 2016-10-18 JL Transcribed pages 68-73. # 2016-10-26 JL Transcribed pages 74-77. # 2016-10-27 JL Transcribed pages 78-82. # 2016-10-28 JL Transcribed page 83. # 2016-10-31 JL Transcribed pages 84-90. # 2016-11-01 JL Transcribed pages 91-94. # 2016-11-03 JL Transcribed pages 95-107. # Annotations: # # B L A I R - S M I T H # Y U L S Y S T E M # # Listings in # MITIGUS Format # # Note: Page numbers are scan page numbers rather than listing. L @YUL SYSTEM -- PASS 0 # Page 41 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 1 PAGE 1 R0001 WE ARE DEEPLY INDEBTED TO THE ONE, THE ONLY, THE GREAT JOHN SHAW FOR THE FOLLOWING STRONG MAGIC.... R0003 JSOCTL 0004 SETLOC,1C 0 B1 0005 MASKGRP,1 S,0 F,0 R0006 YUL SYSTEM PASS 0 IS LOADED BY THE MONITOR IN RESPONSE TO THE MONITOR CARD R0008 * YUL (ANY SUBSEQUENT WORD IS INTERPRETED AS THE NAME OF A TAPE OTHER THAN YULPROGS.) R0010 IT THEN PERFORMS TASKS, SUCH AS ASSEMBLING A NEW BLK2 PROGRAM, UNDER CONTROL OF YUL DIRECTOR CARDS, WHICH ARE R0012 DISTINGUISHED BY "Y" IN COLUMN 1. THESE TASKS ARE PERFORMED IN SUCCESSION UNTIL ANOTHER MONITOR CARD IS READ. R0014 NOTE IN PARTICULAR THAT THE FIRST CARD FOLLOWING THE * YUL CARD MUST BE A YUL DIRECTOR CARD. R0016 YUL DIRECTOR CARDS ARE READ AS SENTENCES, THAT IS, SPELLING IS CRITICAL BUT INTERWORD SPAC- R0018 ING AND (TO SOME DEGREE) PUNCTUATION ARE NOT. THE RESTRICTION ON PUNCTUATION IS THAT THERE MAY BE ONLY ONE TER- R0020 MINATOR CHARACTER AFTER EACH WORD. SEE NEXT TWO PAGES FOR EXAMPLES. R0021 YUL SYSTEM PROGRAMS OCCUPY BANKS 1-3' AND RUN IN ANY 3 GROUPS. THEY USE AS MANY AS 5 TAPES, R0023 USE THE 2200 FOR TAPE PUNCHING, AND SNATCH AND RELEASE THE CARD PUNCH AS NEEDED. R0025 CAST OF CHARACTERS: R0026 EMPEROR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HUGH BLAIR-SMITH IL7-238E XT 215 R0028 VICEROY FOR BLOCK II POLISH ASSEMBLY (YULPASS2¢BLOCKII) . . . . . . . . CLIFFORD F. IDE IL7-109 XT 151 R0030 MINISTER FOR MANUFACTURING (YULMANUF¢AGC4, YULMANUF¢BLOCKII). . . . . . " " " # Page 42 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 2 PAGE 2 P0032 EXAMPLES OF ALL CURRENTLY AVAILABLE YUL DIRECTOR CARD TYPES. ON THIS PAGE: ASSEMBLY-TYPE DIRECTORS. R0034 Y ANDY ASSEMBLE NEW BLK2 PROGRAM BUGFULL BY DR. TERRY-THOMAS R00341 Y NAN ASSEMBLE NEW AGC SEGMENT PIZZA BY JOE & NEMO R0035 Y LYNN ASSEMBLE NEW AGC4 SUBROUTINE INTPRET BY MUNTZ R0036 Y YUL ASSEMBLE REVISION 15 OF AGC4 PROGRAM HIKE BY JFK R00361 Y YUL ASSEMBLE REVISION 1 OF AGC SEGMENT SPLITFEE BY DR. CROOK R0037 Y NAN ASSEMBLE REVISION 112 OF BLK2 SUBROUTINE LEADON BY MACBETH R0038 Y EXP ASSEMBLE VERSION NEWBUGGY BY SOMEBODY ELSE R0039 S FROM REVISION 2 OF AGC4 PROGRAM BUGS BY BUNNY (REQUIRED WITH VERSION ASSEMBLY) R00401 Y LYNN ASSEMBLE VERSION NEWSEG BY NEW FELLER R00402 S FROM REVISION 0 OF SACO SEGMENT OLDSEG BY OLD FELLER (REQUIRED WITH VERSION ASSEMBLY) R0041 Y ANDY ASSEMBLE VERSION PINBALL BY A. I. GREEN R0042 S FROM REVISION 22 OF BLK2 SUBROUTINE BALLPEEN BY "POP" BUMPER (REQUIRED WITH VERSION ASSEMBLY) R0044 Y 2NDF ASSEMBLE TRANSFERRED BLK2 PROGRAM DUSK BY NASA 2019999-099 (SEE TRANSFER VERB ON NEXT PAGE) R0046 S FROM PICKYOURFILENAME (REQUIRED WITH TRANSFERRED ASSEMBLY) R00471 Y FROZ ASSEMBLE TRANSFERRED AGC4 SEGMENT TWILIGHT BY NASA 1021199 R00472 S FROM DISCTWILIGHT (REQUIRED WITH TRANSFERRED ASSEMBLY) R0048 Y YUL ASSEMBLE TRANSFERRED SACO SUBROUTINE DENTURES BY G. WASHINGTON R0049 S FROM WASPARTOFAPROG (REQUIRED WITH TRANSFERRED ASSEMBLY) R00501 S UPGRADE TO REVISION 123 (OPTIONAL WITH TRANSFERRED ASSEMBLY) R0051 Y FROZ REPRINT REVISION 15 OF AGC4 PROGRAM HIKE BY JFK R0052 S FOR PIERRE SALINGER (REQUIRED WITH REPRINT) R00531 Y NAN REPRINT NEW AGC SEGMENT CLIPPING BY XEROX R00532 S FOR DENNISON (REQUIRED WITH REPRINT) R0054 Y YUL REPRINT REVISION 0 OF SACO SUBROUTINE CARIES BY TOOTH DECAY R0055 S FOR NOYS E. BORING, D.D.S. (REQUIRED WITH REPRINT) # Page 43 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 3 PAGE 3 P0057 EXAMPLES OF YUL DIRECTOR CARD TYPES CONCLUDED. ON THIS PAGE: NON-ASSEMBLY AND INTERNAL-USE DIRECTORS. R0058 Y YUL DELETE REVISION 0 OF 3C PROGRAM BUGFULL BY DR. TERRY - THOMAS R00581 Y EXP DELETE REVISION 12 OF BLK2 SEGMENT BUGABOO BY SPOOK R0059 Y LYNN DELETE REVISION 7 OF AGC4 SUBROUTINE BEDBUG BY SIMMONS R0060 Y YUL CONTROL NEW SACO SUBROUTINE BICUSPID BY LEFTY CHOMP R0061 S AUTHORIZED BY PERCIVAL Q. NIBBLE (REQUIRED WITH SUBROUTINE CONTROL) R0063 Y NAN DECONTROL REVISION 256 OF BLK2 SUBROUTINE UNBRIDLE BY JIM ORGIES R0064 S AUTHORIZED BY IMA NOH PURITAN (REQUIRED WITH SUBROUTINE DECONTROL) R0068 Y YUL MANUFACTURE REVISION 1 OF 3C PROGRAM ZAP BY JOVE R0069 Y ANDY MANUFACTURE NEW AGC SEGMENT ZOT BY JOHNNY HART R0071 Y LYNN PRINT REVISION 2 OF AGC4 PROGRAM BUGS BY BUNNY R0072 Y LYNN PUNCH REVISION 2 OF AGC4 PROGRAM BUGS BY BUNNY R0073 Y LYNN PRINT, PUNCH REVISION 2 OF AGC4 PROGRAM BUGS BY BUNNY R0074 Y LYNN PUNCH, PRINT REVISION 2 OF AGC4 PROGRAM BUGS BY BUNNY R00741 Y FROZ PUNCH, PRINT REVISION 0 OF BLK2 SEGMENT FRAMMIS BY DINGBAT R0075 Y LYNN PRINT, PUNCH NEW AGC4 SUBROUTINE INTPRET BY MUNTZ (I.E., PRINT OR PUNCH OR BOTH ARE OK.) R0077 Y NAN TRANSFER NEW BLK2 PROGRAM DUSK BY NASA 2019999-099 R0078 S AS PICKYOURFILENAME (REQUIRED WITH TRANSFER) R00791 Y ANDY TRANSFER REVISION 3 OF AGC SEGMENT TWILIGHT BY WAGNER R00792 S AS DISCTWILIGHT (REQUIRED WITH TRANSFER) R0080 Y EXP TRANSFER REVISION 12 OF AGC4 SUBROUTINE LEADON BY TEASER R0081 S AS SOMEOTHERNAME (REQUIRED WITH TRANSFER) R0083 Y YUL TRANSFER, PRINT NEW SACO PROGRAM CHEWCHEW BY EL MASTICATOR (OR "PRINT, TRANSFER") R0085 S AS WASPARTOFAPROG (REQUIRED WITH TRANSFER) R0087 Y NAN MESSAGE TYPE THIS MESSAGE TO THE OPERATOR R0088 MAINTENANCE OF YUL SYSTEM SOFTWARE STATUS -- INTERNAL USE. R0089 Y ANDY ADD NEW COMPUTER NAME BLK2 ("NEW", "NAME", AND "MOD" ARE OPTIONAL) R0091 Y LYNN REMOVE OLD COMPUTER NAME MOD 3C ("OLD", "NAME", AND "MOD" ARE O6TIONAL) R0093 Y YUL ASSEMBLY PASS 1 FOR 3C IS AVAILABLE ("IS" IS OPTIONAL.) R0095 Y EXP ASSEMBLY PASS 2 FOR MOD BLK2 CHECKED OUT R0096 Y FROZ ASSEMBLY PASS 3 FOR MOD 3C IS OBSOLETE R0097 Y ANDY MANUFACTURING FOR BLK2 IS AVAILABLE R0100 Y YUL ASSEMBLY PASS 3 FOR AGC4 = ASSEMBLY PASS 3 FOR MOD 3C R0101 Y LYNN MANUFACTURING FOR MOD 4A = MANUFACTURING FOR AGC4 R0103 OPERATOR OPTIONS. R0104 Y CREATE BACKUP R01041 Y CLOSE MONAIN TAPE # Page 44 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 4 PAGE 4 P0105 B1,0000 THROUGH B1,0076 (OCTAL) CONSTITUTE INTERPASS STORAGE. NOTE THAT PASS 0 CHANGES C(PROG NAME). 0107 YUL PASS 0 TS YUL MASKS Z,MXR SNATCH Q FIRST INSTRUCTION FOR ALL YUL SYST JOBS. 0109 PROG NAME EQUALS YUL PASS 0 (FOR INTERPASS STORAGE PURPOSES). 0111 NEXT NAME ALF END SYLT 0112 SWITCH OCT 0 0113 L OLD LINE SPEC OLD LINE 0114 OLD LINE ALF -0000000 INITIAL SKIP TO HEAD OF FORM. 0116 ALF,5 0117 ALF,5 0118 ALF,5 0119 PAGE HEAD ALF 03000000 0120 ALF,5 LOGNO. YUL SYSTEM FOR 0121 ALF,5 0122 ALF,5 (MAIN) PAGE 0 0123 PAGE NO DEC +0 0124 SYM PLACE SPEC,B8 DAMN ZERO - 0125 SYM TAB XS DEC +0 0126 L COP BUFS SPEC,B7 768 # Page 45 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 5 PAGE 5 P0127 INTERPASS STORAGE CONTINUED. 0128 MID POINT RESERVE 1 0129 LIN COUNT RESERVE 1 0130 N WD RECS OCT 0 0131 E SYLT BAN RESERVE 1 0132 L PROS FIL RESERVE 1 0133 N LINES OCT 0066 STANDARD 54 LINES PER PAGE. 0135 L COMP NAM RESERVE 1 0136 N COPIES OCT 0 0137 PAPER PLY OCT 0 0138 ERR PAGES OCT 0 0139 N ERR LINS DEC 0 0140 L AUTH NAM RESERVE 1 0141 SORS NAME ALF 0142 COMPUTER OCT 37373737 0143 SEG OWNER ALF 1 0144 SUBSTRAB OCT 0, 0, 0, 0, 0, 0, 0, 0 END OF INTERPASS STORAGE. # Page 46 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 6 PAGE 6 P0146 FIELD AND SHIFT MASKS FOR PASS 0. 0147 B,BIT9 OCT 001 0148 B,BIT10 OCT 0004 0149 B,BIT36 OCT -1 0000 0150 B,B11T12 OCT 0003 0151 B,P1T3AV OCT 0001 0001 0001 0152 B,DECALFM1 OCT 0000 7777 0000 7777 0153 B,DECTEST OCT 6060 6060 6060 6060 0154 B,TEMPMASK OCT 0 VARIABLE MASK. 0156 B,CHAR1 OCT 77 0157 B,CHAR2 OCT 0077 0158 B,CHAR3 OCT 0000 77 0159 B,CHAR4 OCT 0000 0077 0160 B,CHAR5 OCT -7700 0000 0161 B,CHAR6 OCT -77 0000 0162 B,CHAR7 OCT -7700 0163 B,CHAR8 OCT -77 0164 B,C1T4 OCT 7777 7777 0165 B,C1T6 OCT 7777 7777 7777 0166 B,BTHRED10 OCT -3776 0000 0167 B,THREAD10 OCT -3776 0168 B,THREAD11 OCT -3777 0169 B,BIT2 OCT 2 0170 B,BANBITS OCT -760 0000 0171 B,CAC3 DEC -GGGG 0172 B,B2B11 OCT 2002 0173 B,C7T8 OCT -7777 0174 B37T48 EQUALS C7T8 0175 B,BIT12 OCT 0001 0176 B,C5T8 OCT -7777 7777 0177 B,BIT25 OCT -4000 0000 0178 B,BIT33 OCT -10 0000 0179 B,DATEMASK OCT -77 7700 7777 0180 B,B36T37 OCT -14000 32 B MASKS. # Page 47 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 7 PAGE 7 P0182 FURTHER SHIFT MASKS FOR PASS 0. 0183 S,B5T9 OCT 037 0184 S,B10T12 OCT 0007 0185 S,D1 DEC G 0186 S,BIT1 OCT 4 0187 S,D12 DEC -G 0188 S,ACH4 DEC 000 00G 0189 S,ACH5 OCT -1700 0000 0190 S,C1T7 OCT 7777 7777 7777 7700 0191 S, C1T3 OCT 7777 77 0192 S,C3T5 OCT 0000 7777 77 0193 S,C3T6 OCT 0000 7777 7777 0194 S,DECALFM2 OCT 0074 0074 0074 0074 0195 S,DECALFM3 OCT 1717 1717 1717 1717 0196 S,CAC1 DEC GGGG 0197 S,CAC2 DEC 0000 GGGG 0198 S,ATHRED10 OCT 0000 3776 0199 S,TWO OCT -2 0200 S,THREE OCT -3 0201 S,SEVEN OCT -7 0202 S,ONES DEC GGGG GGGG GGGG 0203 S, 3D8 DEC -3 0000 0204 S, 7D8 DEC -7 0000 0205 S,B13T24 OCT 0000 7777 0206 S,B1THRU12 OCT 7777 0207 C1T2 EQUALS B1 THRU 12 0208 S,ONE OCT -1 0209 S,7C6 OCT -7 0000 0210 S,D8T12 DEC -GGGG 0211 S,FOUR OCT -4 0212 S,LOW5 OCT -37 0213 S,ATHRED11 OCT 0000 3777 0214 S,OTHRED10 OCT 3776 0215 S,YYNNYYYY OCT 7777 0000 7777 7777 32 S MASKS. # Page 48 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 8 PAGE 8 P0217 TRANSFER VECTOR, USED BY SERVICE MODULE, MANUFACTURING, ETC. 0218 YUL TYPER SIMULATE ASSIGNED TO 0,63 (FROM OUTSIDE BANK 1). 0220 TS Z,AU2 TYP RTURN TYPIST PRESERVE MANDATORY C ADDRESS. 0222 RD SBDIRC TS Z,SH Z,X1 RD SUBDRC TO SUBDIRECTOR READER (0,65). 0224 HOWZAT TS WHODUNIT Z,AU1 HOWZ THAT UNRECOGNIZED WORD ABORT (0,66). 0226 PCH LEDER TS Z,SH Z,X4 PNCH LEDR PUNCH "BEGIN..." & OBJECT MSG (0,67). 0228 IGN SUBDR TS Z,SH Z,X4 IGN SBDIR IGNORE A NON-VITAL SUBDIRECTOR (0,68). 0230 UNRC SUBR TS Z,SH Z,X4 UNRC SBDR CUSS UNKNOWN WORD IN SUBDIR (0,69). 0232 E SYLT OK TS Z,SH Z,X4 EN SYLT OK MAKE GB STOP BYPT SEEK, STT PGM (0,70). 0234 FETCH SS TS Z,SH Z,X4 FETCH SSN FETCH ANY SUBSTRAND. (0,71). 0236 NO CORE TS STAR COL 1 6,1 NO DIRECT +1 RETURN FROM CORE SNATCH FAIL (0,72). 0238 PCH TITLE TS Z,SH Z,S0 PTP TITLE C VISIBLY PUNCH N WDS ON TAPE (0,73). 0240 TX Z,SH - BKB PLACE S (EXIT FROM PCH FRAME). 0242 PCH FRAME TS SWITCH Z,SH PNCH FRAM C PROCESS PAPER TAPE FRAME (0,75). 0244 MANUF RTN S, MON TYPER BLANKS SPRA +8 END M TASK RETURN FROM MANUFACTURING TASK (0,76). 0246 YUL MASKS MASKBASE S,0 F,0 (0,77). 0248 OCTAL 20 OCT -20 (0,78). 0250 SERCH KEY RESERVE 1 MATCH FOR WD 2 OF YULPROGS RECD (0,79). 0252 WHODUNIT RESERVE 1 ADDRESS OF UNRECOG. SUBDIR. WD (0,80). 0254 6 COMMA 19 SPEC,B7 619 2ND WD OF SENTENCE-READ OUTPUT (0,81). 0256 L GPB STT SPEC,B7 707 START ADDRESS FOR SIDE-GROUP B (0,82). 0258 L DIRECTY CAC 2048 14336 ADDRESSES OF B1, B7 (0,83). 0260 CHAS 2500 DEC -2500 CHARLIE-WORD VALUE OR INCREMENT (0,84). 0262 FRAME RESERVE 1 PAPER TAPE FRAME TO BE PUNCHED (0,85). 0264 MASK SAVE TS YUL MASKS Z,MXR DO BACKUP FOR MASKBASE OF MANUFACT ETC. (0,86). 0266 PUNCH CD SIMULATE GENERAL CARD-PUNCHING SUBRO (0,87). 0268 TS Z,MXR FRAME PNCH CARD (0,88). 0270 TYP ABORT S, MON TYPER Y ABORT SPRAMR +16 TYP BORTA FINAL ACTION, ALL ABORTS (0,89). 0272 L OBJC MSG SPEC OBJCT MSG (0,90). 0274 REJEC DIR S, MON TYPER REJEC MSG SPRAMR +32 - DIRECTOR OR SUBDIRECTOR REJECTED (0,91). 0276 S, YUL TYPER 6,2 AMTF +9 TYP ABORT TYPE TEXT OF CARD (0,92). 0278 TASK MSG ALF,4 TASK AND COMPUTER NAME FOR TYPING (0,93) 0280 E TASK OBJ TS Z,SH Z,SC TASK OBJC EXTERNAL ENTRY TO TASK OBJC (0,97). 0282 TYP TSKOB TS WHODUNIT Z,X0 TYP TKOBJ EXTERNAL ENTRY TO TYP TKOBJ (0,98). 0284 E KNOWN PS TS Z,SH Z,SC KNOWN PSR EXTERNAL ENTRY TO KNOWN PSR (0,99). 0286 TAP SERCH TS L GPB STT Z,CSC TAPE SRCH C GENERAL CALL TO TAPE SRCH (0,100). 0288 L PGHED P3 CAC 30720 PAGE HEAD +3 DEPAGINATOR & HEADLINE ADDRESS (0,101). 0290 ASSY SBDR TS - - ASSY SUBD EXTERNAL CALL FOR PRINT SUBDS (0,102). 0292 COMMON RESERVE 2 GENERAL TEMP. STORAGE (0,103, 0,104). # Page 49 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 9 PAGE 9 P0294 TRANSFER VECTOR CONTINUED. R0295 MINOR SUBROUTINES IN PASS 0 TO PUT A CHARACTER. S2 IS MAJOR INDEX, CSC IS MINOR INDEX. CHARACTER IN C1 OF R0297 COMMON, COSEQUENCE CALL. 0,105 THRU 0,113. 0298 PUT CHAR SS COMMON CHAR1 N,S2 0299 SWS, CHAR2 COMMON A,1 N,S2 0300 SWS, CHAR3 COMMON A,2 N,S2 0301 SWS, CHAR4 COMMON A,3 N,S2 0302 SWS, CHAR5 COMMON A,4 N,S2 0303 SWS, CHAR6 COMMON A,5 N,S2 0304 SWS, CHAR7 COMMON A,6 N,S2 0305 SWS, CHAR8 COMMON A,7 N,S2 0306 TS Z,S2,1 - PUT CHAR C 0307 WRITE OBJ TS Z,SH Z,S3 WRIT OBJC EXTERNAL CALL TO WRIT OBJC (0,114). 0309 LABEL YUL TS Z,SH Z,X5 LABL TEST ONLY ENTRY TO LABEL TAPE (0,115). 0311 POSIT YUL TS Z,SH Z,S3 POSIT REW ONLY ENTRY TO POSITION TAPE (0,116). 0313 PHIWAA SPEC,B7 600 SENTENCE READER AREA SPEC (0,117). 0315 GROUP A RESERVE 1 MAIN GROUP NUMBER (0,118). 0317 YUL DA LZS TS N,AU1,1 PHI ARG YUL D2A ZS EXTERNAL CALL TO YUL D2A ZS (0,119). 0319 FOUND BUF RESERVE 2 COMMUNICATION WITH TAPE SRCH (0,120-1). 0321 GROUP NAP TS - - MON SLEEP C STALL-TYPE SLEEPING SUBROUTINE (0,122). 0323 WD Z,SH ONE Z,SC S EXIT FROM ABOVE. 0325 SYMS OR NO DEC -GGGG ALL ONES FOR SYMBOL TABLE (0,124). 0327 SB THREDS TS - NO MO SUBS +1 SUB THRDS C EXTERNAL CALL TO SUB THRDS (0,125). 0329 DISASTER MPC,H Z,1 301 MON PCR EXTERNAL CALL TO DISASTER (0,126). 0331 ALF DISASTER (0,127). FOR ALL UNMANAGEABLE TROUBLES. 0333 COMP NAME RESERVE 1 RESULT FROM FIND COMP (0,128). 0335 1 COMMA 8 SPEC,B7 8 ADDR OF 1ST THREAD WD IN LABEL (0,129). 0337 ACCEPT M2 TS - - ACCEPT -2 ENTRY AFTER LABEL CHANGE (0,130). 0339 DCOD CNAM TS Z,SC Z,S2 DECOD CPN EXTERNAL CALL TO DECOD CPN (0,131). 0341 CPN FIXER TS Z,SC Z,S2 MOD CHEK 3 -2 EXT. CALL TO SUBSET THEREOF (0,132). 0343 GIVE PAIR TS Z,AU1,1 Z,AU2 GIVE PR C ONLY ENTRY TO GIVE PAIR (0,133). 0345 FIND COMP TS ZERO Z,R4 FIND CNAM C ONLY ENTRY TO FIND COMP (0,134). 0347 FIND PR TS - - FIND PAIR C EXTERNAL CALL TO FIND PAIR (0,135). 0349 L BLANCO SPEC BLANCARD ADDRESS OF ZERO & 15 BLANK WDS (0,136). 0351 REVNO RESERVE 1 DECIMAL REVISION NUMBER (0,137). 0354 W SERVICE ALF YULSERVE PASS 0 SERVICE MODULE NAME (0,138). 0355 PASS 1 ALF YULPASS1 ASSEMBLY GENERAL PASS 1 NAME (0,139). 0356 PAR MANUF ALF ????MANU SPECIAL MANUFACTURING SEG NAME (0,140). 0358 ACA OTHE ALF,2 ACA OTHERWISE LETS OPERATOR REFUSE THINGS (0,141-2). # Page 50 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 10 PAGE 10 P0359 RESERVATION. 0360 TRONDEX RESERVE 15 0361 AUTH NAME RESERVE 2 0363 TYP RTURN RESERVE 1 0364 SORS LINE RESERVE 16 R0365 NUMERIC CONSTANTS. 0366 SIXES OCT 12, 06, 0606, 060606 0373 ZERO OCT 0 0374 PLUS ZERO DEC +0 0375 54 LINES OCT 0066 0376 BIT 6 OCT 01 0377 1 C7 OCT -100 03775 YUL FILE OCT -7002 0378 B14T18 OCT 0000 37 0379 SNTRACOD DEC -31 0380 PAV BITS OCT 0001 0001 0001 0001 0381 B24 B36 OCT -1 0001 0000 03815 A4 MINUS 4 OCT -3 7777 7774 0382 SIX OCT -6 0383 NINE DEC -9 0384 9 C3 OCT 0000 11 0385 B29 B32 OCT -220 0000 0386 DEC 99 DEC -99 03865 C 259 FXBIN -259 0387 C 255 FXBIN -255 03909 TEN C1 OCT 12 0392 HEXB C5 OCT -1200 0000 0393 TEN OCT -12 # Page 51 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 11 PAGE 11 P03931 NUMERIC CONSTANTS CONCLUDED. 03932 FIFTY DEC -50 03934 CW FACTOR DEC G8465 0394 4 C6 OCT -4 0000 0395 CAC12 DEC GGGG GGGG 0396 CAC3 M1 OCT -177776 0397 BIT 32 OCT -20 0000 0398 C1T4 B48 DEC GGGGGG 000001 0399 B2 B13 OCT 20004 0400 D11D12 DEC -GG 0401 BIT 17 OCT 0000 02 0402 BIT 37 OCT -4000 0403 BIT 13 OCT 00004 04035 BIT 7 OCT 004 0404 BIT 8 OCT 002 0405 BIT 35 OCT -2 0000 0406 B34T35 OCT -6 0000 0407 B14 B18 DEC 00044 0408 B15 B19 DEC 00022 0409 B16 B20 DEC 00011 0410 B18T20 DEC 00007 0411 SUPP BITS DEC 00077 0412 GROUP IND OCT -74000 # Page 52 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 12 PAGE 12 P0413 ONE-WORD ALPHABETIC CONSTANTS. 0414 W BACKUP ALF BACKUP 0415 W FREEZE ALF FREEZE 0416 ACCEPTED ALF ACCEPTED # The following line makes a string of "blots", non-ASCII characters. # I have chosen to represent them as the ASCII "block" character, Unicode 9608. 0417 BLOTS ALF ████████ 0418 CHECKERS ALF B95 B95 B95 B95 0419 COLON C1 ALF : 0420 W AUTHMEM ALF AUTHMEMO 0421 W INACTIV ALF INACTIVE 0422 GC FRE MSG ALF G7 FREE 0423 W END SYPT ALF END SYPT 0424 W END SYLT ALF END SYLT 0425 W UPGRADE ALF UPGRADE 0426 W BEFORE ALF BEFORE 0427 W ALL ALF ALL 0428 RIGHT HO ALF (SIGH) 0429 STAR COL 1 ALF * 0430 TAPE NO ALF 20000000 # The following line makes a string containing "blots", non-ASCII characters. # I have chosen to represent them as the ASCII "block" character, Unicode 9608. 0432 W BLOT OBS ALF ██OBS██ 0433 W BY ALF BY 0434 W SYMBOL ALF SYMBOL 0435 W OCTAL ALF OCTAL 0436 W DLETION ALF DELETION 0437 W FOR ALF FOR 0438 W TO ALF TO 0439 W MOD ALF MOD 0440 W NEW ALF NEW 0441 W OF ALF OF 0442 W PROGRAM ALF PROGRAM 04421 W SEGMENT ALF SEGMENT 0443 LOG COMMA ALF , 000000 0444 W LINES ALF LINES 0445 W COPIES ALF COPIES 0446 W FROM ALF FROM 0447 W FROZYUL ALF FROZEYUL 0448 W 2ND FROZ ALF 2NDFROZE 0449 W SOURCE C ALF SOURCE: 0450 W MONAIN ALF MONAIN 0451 W TAPE ALF TAPE 0452 W SYMBLS 0 ALF SYMBOLS0 0453 ZERO C1 ALF 0 # Page 53 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 13 PAGE 13 P0454 ALPHABETIC CONSTANTS -- FIRST OF 7 PAGES. 0455 AUTHORYZ ALF,2 AUTHORIZED 0457 BAUTH MSG ALF,4 BLANK WORD IN AUTHOR NAME. 0458 W SUBROTI ALF,2 SUBROUTINE 0460 BLCPN MSG ALF,3 COMPUTER NAME IS BLANK. 0461 BLPSN MSG ALF,3 PROG/SUB NAME IS BLANK. 0462 CONPN MSG ALF,5 CONFLICT WITH EXISTING PROG/SUB NAME. 0463 TSFRD MSG ALF,3 TRANSFERRED ASSEMBLY NEE 0464 ALF,4 DS SUBDIRECTOR SPECIFYING SOURCE 0465 XIN WRSIZ ALF,4 DISCFILE NAME VOID OR TOO LONG 0466 XIN TERMS ALF,5 DISCFILE NAME CONTAINS TERMINATOR CHARS. 0467 DIFUL MSG ALF,4 YUL FILE DIRECTORY IS TOO LONG. 0468 IN SUB MSG ALF,3 INACTIVE SUBROUTINES 0469 VER PR MSG ALF,3 THIS PROGRAM WAS AS 0470 VER SB MSG ALF,3 THIS SUBROUTINE WAS AS # Page 54 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 14 PAGE 14 P0471 ALPHABETIC CONSTANTS -- SECOND OF 7 PAGES. 0472 LAUTH MSG ALF,3 AUTHOR NAME IS TOO LONG. 0473 LCPN MSG ALF,5 TOO-LONG COMPUTER NAME: 0474 LPRGN MSG ALF,5 TOO-LONG PROG/SUB NAME: 0475 LREVN MSG ALF,5 TOO-LONG REVISION NO.: 0476 TSFR LINE ALF,3 SEMBLED FROM DISC FILE 0477 XNODF MSG ALF DS DISC 0478 NOFIL MSG ALF,3 FILE NOT FOUND ON DISC 0482 NASSY MSG ALF,4 CAN'T ASSEMBLE FOR THAT COMPUTER 0483 NAUTH MSG ALF,3 AUTHOR NAME IS MISSING. 0484 VERS LINE ALF,3 SEMBLED AS A VERSION OF # Page 55 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 15 PAGE 15 P0485 ALPHABETIC CONSTANTS -- THIRD OF 7 PAGES. 0486 CONSU MSG ALF,5 CONTROLLED SUBROUTINE CANNOT BE DIDDLED. 0487 NUM NONS ALF,2 CARDS BYPASSED: 0488 NON WISE DEC 0 0489 OBJCT MSG ALF,5 0490 ALF,2 0491 OC MAP MSG ALF,3 OCTAL STORAGE MAP 0492 RDUND MSG ALF,2 REDUNDANT 0493 REJEC MSG ALF,4 THEREFORE THIS CARD IS REJECTED: 0494 SY TAB MSG ALF,3 SYMBOL TABLE LISTING 0495 ASCBU MSG ALF,3 ASA TO CREATE BACKUP; 0497 NTPCH MSG ALF,2 NO TAPE PUNCHING 0498 NR FRZ MSG ALF,5 CAN'T REVISE A PROGRAM ON A FROZEN TAPE # Page 56 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 16 PAGE 16 P0499 ALPHABETIC CONSTANTS -- FOURTH OF 7 PAGES. 0500 UDRVN MSG ALF,4 UNDECIMAL REVISION NO.: 0501 UNRCA MSG ALF,4 AUTHOR NAME NOT RECOGNIZED. 0502 UNRCO MSG ALF,4 COMPUTER NAME NOT RECOGNIZED. 0503 UNRCP MSG ALF,4 PROGRAM NAME NOT RECOGNIZED. 0504 UNRCS MSG ALF,4 SUBROUTINE NAME NOT RECOGNIZED. 0505 UNRDY MSG ALF,4 UNREADY OPERATION REQUESTED. 0506 WAUTH MSG ALF,5 WRONG AUTHOR, SHOULD BE: 0507 W END YUL ALF,2 END YUL SYSTEM 0508 WREVN MSG ALF,5 WRONG REVISION NUMBER, SHOULD BE: 0509 WUNRC MSG ALF,5 THIS WORD UNRECOGNIZED: 0510 AU SUB MSG ALF,5 CONTROL OR DECONTROL REQUIRES AUTHORIZIN 0511 ALF,2 G SUBDIRECTOR # Page 57 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 17 PAGE 17 P0512 ALPHABETIC CONSTANTS -- FIFTH OF 7 PAGES. 0513 BLANCARD OCT 0 0514 BLANKS ALF,5 0515 ALF,5 0516 ALF,5 0517 CDREN MSG ALF,2 RENUMBER CARDS 0518 SET LN MSG ALF,3 PRINT 00 LINES PER PAGE 0519 N COPS MSG ALF,3 00 COPIES WILL BE MADE; # The following line uses non-ASCII characters representing 1/2. 0520 WH PLY MSG ALF,2 WHAT PLY PAPER½½ 0521 WAA 10060 ALF,3 W A A10060 0000000P 0522 DUPSR MSG ALF,3 DUPLICATE SUBDIRECTOR 0523 NF WSZ MSG ALF,3 NUMERIC FIELD WRONG SIZE 0524 NW NDC MSG ALF,3 NUMERIC WORD NOT DECIMAL 0525 NW RGE MSG ALF,3 NUMERIC WORD RANGE ERROR 0526 IL RQT MSG ALF,3 ILLEGAL REQUEST FOR TASK 0527 VRSNS MSG ALF,5 VERSION ASSEMBLY MUST HAVE SUBDIRECTOR S 0528 ALF,2 PECIFYING SOURCE # Page 58 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 18 PAGE 18 P0529 ALPHABETIC CONSTANTS -- SIXTH OF 7 PAGES. 0530 22 OUT MSG ALF,3 2200 READY TO DO MONAOUT 05301 NO MDS MSG ALF,3 NO MONAIN DATA STORED 0531 FRSUB MSG ALF,3 FREEZE SUBROUTINES 0532 PRO CO MSG ALF,4 PROGRAMS CANNOT BE CONTROLLED. 0533 NUMUS MSG ALF,3 NUMBER OF USERS = 0534 PROBS MSG ALF,5 PROGRAM OBSOLETED BY SUBROUTINE CHANGES 0535 SUP CO MSG ALF,3 SUPPRESS CONDITIONALLY: 0536 REP 4 LINE ALF,3 THIS REPRINT IS 0537 4WHOM MSG ALF,5 REPRINT REQUIRES "FOR WHOM" SUBDIRECTOR 0538 Y ABORT ALF,2 8 TASK ABORT 0539 W CONDIT ALF,2 CONDITIONALLY 0540 W TRANSFD ALF,2 TRANSFERRED 05402 OLRVN MSG ALF,2 OLD REVISION NO. 05403 NTHIS MSG ALF,2 NOT ON THIS DISC 05404 FDISC MSG ALF,2 FOUND ON DISC 0541 AS TRY MSG ALF,2 ASA TO TRY AGAIN # Page 59 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 19 PAGE 19 P0542 ALPHABETIC CONSTANTS -- SEVENTH OF 7 PAGES. 0543 N MANU MSG ALF,5 CAN'T MANUFACTURE FOR THAT COMPUTER 0544 DF ERR MSG ALF,2 CAN'T READ FILE 0545 IGNOR MSG ALF,4 THEREFORE THIS CARD IS IGNORED: 0546 W URING FO ALF,2 URING FOR 0547 MANSU MSG ALF,5 SUBROUTINES MAY NOT BE MANUFACTURED 0548 ND NMF MSG ALF,5 NO DISC; CANNOT MANUFACTURE OLD REVISION 0549 SD MIS MSG ALF,3 SUBDIRECTOR CARD MISSING 0550 DR UMA MSG ALF,5 DESIRED REVISION IS UNMANUFACTURABLE 0551 TAPE B MSG ALF,4 CAN'T PUNCH TAPE WITH THIS 1800 0552 WR TAP MSG ALF,5 WRONG TAPE NAME ABBREVIATION IN COLS 2-7 0554 CPUNV MSG ALF,3 CARD PUNCH UNAVAILABLE 0555 NCOUT MSG ALF,2 NO CARD OUTPUT # Page 60 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 20 PAGE 20 P0556 ADDRESS CONSTANTS. 0557 ENDIRECS SPEC LAS DIREC 0558 L DIRECTS SPEC DIRECTS 0559 L END THR SPEC END THR 0560 L SUBSTRB SPEC SUBSTRAB 0561 RLS CD PCH CAC NUMERALS 16 0562 L SN CPNCH SPEC SN CPUNCH 0563 L SIXES SPEC SIXES 0564 L TKMSG P1 SPEC TASK MSG +1 0565 L TKMSG P2 SPEC TASK MSG +2 0566 L SYM THR SPEC,B5 836 0567 L AV TABLE SPEC,B4 DAMN ZERO 0568 L MSG AREA SPEC,B7 590 0569 Y FILE LIM SPEC,B7 500 0570 GB SWITCH SPEC,G0 N,R2 0571 BANK B SPEC, BB DAMN ZERO 0572 BKB PLACE SPEC, BB DAMN ZERO 0573 END BANK B SPEC, BB 2039 0574 I SYM THRS CAC 8192 8192 0575 ISY SUB TH OCT 5000 0000 0003 4007 0576 L ONES SPEC,B7 7 0577 BUF NAMES SPEC,B5 928 0578 SPEC,B5 1193 0579 SPEC,B5 1458 0580 SPEC,B5 1723 0581 SPEC,B6 1988 0582 SPEC,B6 205 0583 SPEC,B6 470 0584 SPEC,B6 735 0585 L B LISTS SPEC,B6 2028 0586 SPEC ONE SPEC,B0 1 0587 L SERVICE SPEC, B4 DAMN ZERO # Page 61 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 21 PAGE 21 P0588 ASSIGNMENTS. 0589 MONITOR ASSIGN 7,0 0590 PHI TAPE ASSIGN 7,1 0591 PHI SNACH ASSIGN 7,2 0592 PHI PEEK ASSIGN 7,3 0593 EOR ASSIGN 7,4 0594 PHI LOAD ASSIGN 7,7 0595 PHI READ ASSIGN 7,15 0596 MON RLEAS ASSIGN 7,19 0597 PHI PRINT ASSIGN 7,23 0598 MON EOFRI ASSIGN 7,31 0599 PHI DATE ASSIGN 7,36 0600 PHI SENTR ASSIGN 7,40 0601 PHI A2D ASSIGN 7,41 0602 PHI ABORT ASSIGN 7,46 0603 BASE ADDR ASSIGN 7,47 0604 MON UNLOK ASSIGN 7,85 0605 MON SGSNA ASSIGN 7,91 0606 MON WAKE ASSIGN 7,99 0607 MON REL GP ASSIGN 7,100 06072 MON RELOX ASSIGN 7,103 0608 MON SN QIP ASSIGN 7,111 0609 DISCAP ASSIGN 7,114 0610 MON SLEEP ASSIGN 7,166 0611 MON PRADS ASSIGN 7,174 0612 MON LCARD ASSIGN 7,178 0613 MON RELCD ASSIGN 7,180 0614 MON PUNCH ASSIGN 7,191 0615 PHI LABEL ASSIGN 7,195 0616 DISC STAT ASSIGN 7,210 0617 MON SNCOR ASSIGN 7,212 0618 MON TYPER ASSIGN 7,215 0619 MON PCR ASSIGN 7,220 0620 DISC CHEK ASSIGN 7,221 0621 MON TADDR ASSIGN 7,223 0622 GET LOG NO ASSIGN 7,225 06229 DISC READ ASSIGN 7,239 0623 1800 AB SW ASSIGN 7,241 0624 DISC WRIT ASSIGN 7,247 0625 PACK DATE ASSIGN 6,100 0626 YUL DATE ASSIGN 6,101 0627 YUL LOG ASSIGN 6,104 0628 YUL LOG A ASSIGN 6,105 0629 $PAR IDLE ASSIGN 6,106 # Page 62 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 22 PAGE 22 P0630 EQUIVALENCES. 0631 A EQUALS 128 0632 AMTF EQUALS 384 0633 AMTFNCR EQUALS 896 0634 SPRA EQUALS 128 0635 SPRAM EQUALS 896 0636 SPRAMR EQUALS 384 0637 DAMN ZERO EQUALS 0 0638 ATAPE PCH EQUALS 64 06382 CHK DF ERR EQUALS 512 0639 BIT 34 EQUALS 4 C6 0645 1 C6 EQUALS BIT 36 06452 THOUSAND EQUALS BIT 36 06454 DEC 10000 EQUALS BIT 32 0646 Y COLUMN 1 EQUALS DIFUL MSG 0647 W REVISON EQUALS DR UMA MSG +1 0649 W VERSION EQUALS VRSNS MSG 0650 END THR EQUALS 14342 0651 INIT X5 EQUALS ERR PAGES 0652 PUNCH ADR EQUALS SORS LINE +14 0653 TASK LOG EQUALS SORS LINE +15 0655 S COLUMN 1 EQUALS W SYMBOL 0656 BANK 1 EQUALS L DIRECTY 0657 ACO2 EQUALS B10T12 0658 AMPRSANS EQUALS DEC ALF M3 0659 W NE EQUALS W SUBROTI +1 0660 W RENUMBR EQUALS CDREN MSG 0661 NUM BASE EQUALS RLS CD PCH 0662 CRD COUNT EQUALS L SN CPNCH 0663 L STOPPER EQUALS CAC3 0664 W SUPPRES EQUALS SUP CO MSG 0665 SAVE XS EQUALS SORS LINE # Page 63 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 23 PAGE 23 P0666 SPECIAL ROUTINE, DONE AT THE BEGINNING OF A YUL JOB. PACKDATE AND THE TWO-WORD YUL DATE ARE KEPT IN R0668 BANK 7, BEYOND THE SENTENCE-READER AREA. THE LOG NUMBER IN NUMERIC AND ALPHABETIC FORM IS KEPT THERE ALSO. R0671 CALLED FROM INIT PAS 0, FOUR PAGES HENCE. 0675 SETLOC,4 0 B4 0679 BEGIN JOB TX L PAR IDLE - Z,R0 0680 TN PARA IDLE 9 N,R0 SET UP BED FOR SIDE GROUPS TO SLEEP IN. 0682 TS Z,R0,3 C,+1 MON SGSNA SNATCH AND START GROUPS B AND C. 0684 L PAR IDLE SPEC,B7 706 0685 TS B34T47 BJ Z,R1 RETRY GPC (FOLLOWS SUCCESSFUL SNATCH OF GROUP B.) 0687 TX SAY DIE - C,+2 IF CAN'T GET EVEN ONE SIDE GROUP, DIE. 0689 NO GROUP C S, MON TYPER ND2SG MSG SPRAMR +32 - "YUL SYSTEM NEEDS TWO SIDE GROUPS". 06902 TX BANK 1 BJ - Z,X0 UNDO DAMAGE DONE BY GROUP-SNATCHER. 0691 TX, CHAR3 ACA OTHE B - BJ TRY MSG 0692 S, MON TYPER BJ TRY MSG SPRAMR +16 - "ASA TO TRY AGAIN". 0694 S, MON TYPER ACA OTHE B SPRA +16 C,+3 "ACA OTHERWISE ". 0696 STOP - S ASA OR ARA OR DON A WILL TRY AGAIN. 0698 SAY DIE S, MON TYPER BJ END YUL SPRA +16 MONITOR ACA COMES HERE. 0700 TS B34T47 BJ Z,R1 C,-2 C PREPARE TO TRY AGAIN. 0702 RETRY GPC TS Z,R0 C,+1 MON SGSNA 0703 RESERVE 1 0704 TS BANK 1 BJ Z,X0 SNACH TAP (FOLLOWS SUCCESSFUL SNATCH OF GROUP C). 0706 LA Z,R1 ZERO BJ NO GROUP C SEEK HELP AFTER TWO FAILURES IN 1/2 SEC. 0708 NA Z,R1,1 ONE BJ C,-1 COUNT DOWN FROM 32766. 0710 TS - - RETRY GPC 0711 SNACH TAP EBA MON LCARD ZERO BJ Z,AU1 FORM ADDRESS OF SAVED MONITOR CARD. 0714 TN N,AU1 10 6,1 0715 TS ONES BJ 6,11 PHI SENTR RE-SENTENCE-READ MONITOR CALL CARD. 0717 TS H1800B YUL LOG A MON REL CD C RELEASE MON CARD COMMUNICATION AREA. 0719 NA 6,19 ONES BJ C,+2 BRANCH IF THERE'S A WORD AFTER "YUL". 0721 TS Z,SC,1 - PHI SNACH IF NONE, USE TAPE YULPROGS. 0723 TS 6,19 C,+2 PHI SNACH OTHERWISE, USE TAPE NAMED. 0725 ALF,2 N10<0001YULPROGS 0726 DEC GGG GGG GGG GGG 0727 TS COMMA '62 YUL DATE +1 GET LOG NO C 0728 SWE, C1T4 N,AU2,4 D,1,L YUL LOG PROTECT LOG NUMBER FROM MULTIJOBS. 0730 TS ONES BJ N,AU2 MON UNLOK C KILL MON LINE LIMIT, UNLOCK YULPROGS. 0732 RF,1 - - 0733 TS YUL LOG PHI ARG BJ PHI TAPE 0734 LOAD LABL RF,1 1,0 - - LABEL TO BANK 7 FOR DURATION OF JOB. 0736 TS Z,SC Z,AU1 YUL DA LZS CONVERT LOG TO ALPHA, SUPPRESS ZEROS. 07372 PHI ARG BJ RESERVE 1 07374 TX Z,SH - Z,X4 0738 SSL, ONE 1800 AB SW 24 C,+1 APPEND "A" OR "B" TO LOG NUMBER. 0740 WD YUL LOG A 1 C7 BJ YUL LOG A 0741 S, MON TYPER BEGIN YUL SPRAMR +16 - 0742 S, MON TYPER BLANKS BJ SPRA +8 - TYPE "BEGIN YUL SYSTEM". 0744 TS, C1T6 4,2 YUL LOG A PHI TAPE 0745 RF,1 - - - VERIFY THAT LABEL IS READ IN. # Page 64 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 24 PAGE 24 P0747 VERIFY THAT THE DATE IS REASONABLE. 0748 DO MONTH SWE, D1 PHI DATE 8,L PACK DATE UNITS DIGIT OF MONTH. 0750 NA, CHAR1 PHI DATE ZERO BJ OC NOV DEC 0751 LA, CHAR2 HEXB C2 PHI DATE ILLEG DAT BRANCH IF NON-DECIMAL MONTH. 0753 NA PACK DATE ZERO BJ PRINT MO BRANCH IF MONTH NOT ZERO. 0755 ILLEG DAT S, MON TYPER PHI DATE SPRAM +8 - 0756 S, MON TYPER W ILLEGAL SPRAMR +8 - "MM.DD.YY ILLEGAL". 0758 S, MON TYPER FIX DATE SPRA +16 PHI ABORT "FIX DATE & RERUN". 0760 OC NOV DEC NA, CHAR1 PHI DATE 1 C1 ILLEG DAT BRANCH IF MONTH = 20 OR MORE 0762 LA, CHAR2 3 C2 PHI DATE ILLEG DAT BRANCH IF MONTH = 13 OR MORE 0764 WA PACK DATE B D1 PACK DATE PUT PACKED MONTH IN THE RANGE 10-12. 0766 PRINT MO SWE, D12 PACK DATE D,11 6,1 GUARANTEE NO ASTERISK INITIALLY IN 6,1. 0768 WA 6,1 L MONTHS Z,AU1 0769 TX N,AU1 - YUL DATE STORE ALPHABETIC MONTH NAME. 0771 PRINT DAY SWS, C7T8 PHI DATE A,3 YUL DATE TENTATIVELY, 2-DIGIT DAY TO ALPHA DATE. 0773 NA, CHAR7 YUL DATE ZERO BJ DO DAY BRANCH IF DAY = 10 OR MORE. 0775 SWS, C7T8 YUL DATE A,1,L YUL DATE SHIFT UP 1-DIGIT DAY. 0777 LA, CHAR7 YUL DATE ZERO BJ ILLEG DAT BRANCH IF DAY = 0. 0779 TX, CHAR8 COMMA C8 - YUL DATE 0780 DO DAY NA, CHAR4 PHI DATE ALF DAY 30 DAY 1T29 BRANCH IF DAY LESS THAN 30. 0782 LA, CHAR5 2 C5 PHI DATE ILLEG DAT BRANCH IF DAY = 32 OR MORE. 0784 SWS, B5T9 PHI DATE 21,L PACK DATE 0785 WA PACK DATE BIN DAY 30 PACK DATE PUT DAY 30 OR 31 IN PACKED DATE. 0787 TEN DAYS TS - - DO YEAR (USED WHEN DAY LESS THAN 10 OR OVER 29). 0789 WA PACK DATE BIN DAY 10 PACK DATE 0790 WA PACK DATE BIN DAY 20 PACK DATE FINISH PACKED DAY NUMBER. 0792 DAY 1T29 LA, CHAR4 ALF DAY 30 PHI DATE ILLEG DAT BRANCH IF DAY = 40 OR MORE. 0794 LA, CHAR5 HEXB C5 BJ PHI DATE ILLEG DAT BRANCH IF NON-DECIMAL DAY NO. 0796 SWS, B5T9 PHI DATE 21,L PACK DATE 0797 SSL, CHAR8 PHI DATE A,4 TEN DAYS C INSERT DAY NUMBER INTO PACKED DATE. 0799 DO YEAR SWS, CHAR5 PHI DATE A,2,L YUL DATE +1 PUT UNITS DIGIT OF YEAR NUMBER INTO ALF. 0801 NA, CHAR7 PHI DATE 6 C7 ILLEG DAT RECODE THIS ON DEC. 31, 1969. 0803 LA, CHAR8 PHI DATE ONE BJ ILLEG DAT BRANCH IF 60 OR 61. 0805 LA, CHAR8 HEXB C8 PHI DATE ILLEG DAT BRANCH IF NON-DECIMAL YEAR NO. 0807 NA, CHAR4 PHI DATE ZERO BJ C,+2 BRANCH IF DAY WAS TWO DIGITS. 0809 SWS, C1T7 YUL DATE +1 A,1,L YUL DATE +1 OTHERWISE SHIFT UP ALPHA YEAR. 0811 WD PHI DATE TWO BJ N,X6 GUARANTEE N,X6 INITIALLY NOT ALL ONES. 0813 SWS, B10T12 N,X6 12 PACK DATE PUT DIMINISHED YEAR NO. INTO PACK DATE. 0815 TX PHI DATE - 1,4 PUT DATE IN YUL FILE DIRECTORY. # Page 65 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 25 PAGE 25 P0817 SET UP SPECS AND BUFFERS FOR 4-LINE/RECORD COPY-WORKTAPE WRITING. 0818 SETUP COP TX L COPBS BJ - Z,AU2 0819 TX Z,AU2,1 - Z,X4 0820 MT ZERO BJ 33 N,AU2,1 CLEAR 4 X 16 + 2 WORDS IN FIRST BUFFER. 0822 TS Z,X4 4,68 C,-1 C SPEC TO START OF BUF FOLLOWS BUF. 0824 RT 4,1 4,67 4,69 PRE-PLANT EOR FOR END BUFFER DETECTION. 0826 TX Z,AU1 - N,X4 EACH BUF IS PRECEDED BY SPEC TO OTHER. 0828 TS Z,AU1 N,AU2 MON SN COR C 0829 DEC 0000 0000 0018 SNATCH UPPER MEMORY BANKS 0-3. 0830 TS L SET PG HD Z,SC C,+2 C 0831 S, MON TYPER ND19B MSG SPRAMR +32 NO CORE "YUL SYSTEM NEEDS 19 BANKS: 1-3'". 08312 TX BANK 1 BJ - Z,X0 C UNDO DAMAGE DONE BY CORE SNATCH. 0832 NA, CHAR8 1,0 ZERO BJ C,+1 S EXIT TO SET PG HED IF GOT CURRENT TAPE. 0833 S, PHI LOAD B SERVICE 0 DO BKUP BJ R0834 ALPHABETIC CONSTANTS FOR THE BEGIN-JOB SUBSEGMENT. 08341 BLANKS BJ ALF 08341 H1800B ALF B 08343 COMMA '62 ALF , 1962 08344 W ILLEGAL ALF ILLEGAL 08345 LUMPED BJ ALF 13 32 6, MULTIPLE MASKED CONSTANT. 08346 BEGIN YUL ALF,2 BEGIN YUL SYSTEM 08347 FIX DATE ALF,2 FIX DATE & RERUN 08348 BJ TRY MSG ALF,2 ASA TO TRY AGAIN 08349 BJ END YUL ALF,2 END YUL SYSTEM 0835 ND19B MSG ALF,4 YUL SYSTEM NEEDS 19 BANKS: 1-3' 083505 ND2SG MSG ALF,4 YUL SYSTEM NEED TWO SIDE GROUPS 08351 MONTHS ALF,4 JAN FEB MAR APR 08352 ALF,4 MAY JUN JUL AUG 08353 ALF,4 SEP OCT NOV DEC # Page 66 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 26 PAGE 26 P08354 NUMERIC AND ADDRESS CONSTANTS, ASSIGNMENTS AND EQUIVALENCES FOR THE BEGIN-JOB SUBSEGMENT. 08355 ZERO BJ OCT 0 08356 ONE BJ OCT -1 08357 TWO BJ OCT -2 08358 ONES BJ OCT GGGG GGGG GGGG 08359 B34T47 BJ OCT -77776 0836 B D1 DEC B 08361 1 C7 BJ OCT -100 08362 HEXB C2 OCT 0012 08363 HEXB C5 BJ OCT -1200 0000 08364 HEXB C8 OCT -12 08365 BIN DAY 10 OCT 012 08366 BIN DAY 20 OCT 024 08367 BIN DAY 30 OCT 036 083675 BANK 1 BJ SPEC 2048 08368 L MONTHS SPEC MONTHS -1 08369 LSET PG HD SPEC SET PG HED 083695 L COPBS BJ ASSIGN 0,39 0837 NO CORE ASSIGN 0,72 08371 DO BKUP BJ ASSIGN 0,86 08372 YUL DA LZS ASSIGN 0,119 08373 B SERVICE ASSIGN 0,138 08374 ACA OTHE B ASSIGN 0,141 08375 1 C1 EQUALS LUMPED BJ 08376 3 C2 EQUALS LUMPED BJ 08377 ALF DAY 30 EQUALS LUMPED BJ 08378 2 C5 EQUALS LUMPED BJ 08379 6 C7 EQUALS LUMPED BJ 0838 COMMA C8 EQUALS LUMPED BJ # Page 67 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 27 PAGE 27 P08384 ROUTINES IN B7,0706 - B7,0714 FOR SIDE GROUPS TO SLEEP IN. 083845 PARA IDLE TX Z,SC 0 Z,R0 INITIALLY, ESTABLISH SLEEP ADDRESS. 08385 GPB START TS - - MON SLEEP C (REPLACED WITH A SPEC TO WAKE UP). 083855 LA N,SC,3 N,R0 N,R0 GO BACK TO SLEEP IF FALSE ALARM. 08386 TX Z,SC - Z,R0 083865 GPC START TS - - MON SLEEP C 08387 LA N,SC N,R0 N,R0 SAME AS ABOVE FOR GROUP C. 083875 TX N,R0 - Z,CSC EITHER GROUP COLLECTS WAKE ADDR. HERE. 08388 TS N,SC N,R0 N,CSC MAKE THE BED AND GO TO WORK. 083885 TS - - MON SLEEP C 083895 SETLOC,1 R0839 PROCEDURE WHENEVER PASS 0 IS LOADED (NOT NECESSARILY BETWEEN EACH TASK). ENTERABLE AT INIT PAS 0. 08394 SNATCH Q SPCR GROUP A 08396 SWE, D12 GROUP A 28 GROUP A KEEP MAIN GROUP NO. IN TRANSFER VECTOR. 0840 SWS, CHAR3 GROUP A A,3 ACA OTHE S ALSO KEEP IT READY FOR USE BY PASS 0. 08404 S, MON TADDR POSIT REW +1 SKIP IF YULPROGS NOT ALREADY SNATCHED. 08408 INIT PAS 0 TS YUL MASKS Z,MXR SET PG HED ENTRY TO LESSER RE-INITIALIZATION. 08412 SWE, CAC3 BANK 1 32 Z,X0 SET UP INDEXES FOR BEGIN-JOB SUBSEGMENT. 08416 TS L SERVICE Z,SC SET PG HED C 0842 SET PG HED TS L DIRECTY Z,X1 NEX DIREC C SET X1 AND X6. 0844 TS REVISION +2 OK NOUN SNATCH Q +2 C RESET UPDATE-REVISION-NUMBER SWITCH. 0846 NA 1,1 W FROZYUL C,+2 0847 TS NO REVISE REVISION LOG 2 HEAD FORBID REVISIONS ON A FROZEN TAPE. 0849 LA 1,1 W 2ND FROZ C,-1 0850 LOG 2 HEAD TX YUL LOG A - PAGE HEAD +1 0851 TN YUL DATE 2 PAGE HEAD +12 PUT LOG AND DATE IN PAGE HEADING. 0853 TS YUL LOG WORKERS +2 MON UNLOK C MINOR IDENTIFICATION FOR ASSEMBLY WRKRS. 0855 RF,1 - - - UNLOCK YULPROGS. 0857 S, PHI LOAD W SERVICE 0 C,+1 LOAD SERVICE MODULE. 0859 YUL MASKR TX YUL MASKS - Z,MXR 0860 TS EOR SERCH KEY POSIT YUL NEGATE SEARCH FLAG, POSITION YULPROGS. # Page 68 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 28 PAGE 28 P0862 MAIN LOOP OF PASS 0. READS EACH DIRECTOR CARD AND GOES TO THE APPROPRIATE ROUTINE. IF THE DIRECTOR R0864 CARD DOES NOT HAVE A RECOGNIZED CODE IN ITS FIRST FIELD, THE CARD IS TYPED ON THE CONSOLE AND THE NEXT DIRECTOR R0866 CARD IS READ. IF A MONITOR CARD IS READ, YULPROGS IS LABELED AND THE JOB ENDED. EACH CONTIGUOUS BATCH OF NON- R0868 YUL-DIRECTOR CARDS IS COUNTED AND THE COUNT TYPED ON THE CONSOLE. (THIS HAPPENS WHEN AN ILL-FORMED ASSEMBLY R0870 DIRECTOR CARD IS READ AND REJECTED, FOR INSTAMCE). 0871 NEX DIREC TX PHI WAA - Z,X6 ADDRESS OF SENTENCE READER IN/OUT AREA. 0873 NA N,X6 ONES END CHECK BRANCH IF THERE'S NO INVISIBLE DIRECTOR. 0875 TX N,X1 - N,X6 ERASE INVISIBLE DIRECTOR FLAG. 0877 TS NO TYPIST TYPIST C,+3 TURN OFF TYPEWRITER FOR TASK DURATION. 0879 RD DIRECT S, PHI READ 6,1 0880 NA, CHAR1 6,1 Y COLUMN 1 NO DIRECT BRANCH IF NOT A YUL DIRECTOR CARD. 0882 TX ONES - 6,11 SET COL. 81 STOP. 0884 TS GB SWITCH INIT X5 PHI SENTR BREAK UP YUL DIRECTOR CARD INTO FIELDS. 0886 NN NON WISE ZERO TYP NON YS TYPE COUNT OF NON-YUL-DIRECTORS IF NZ. 08872 SWS, CHAR8 1,1 A,7 6,1 MAKE BLANKS IN COLS 2-7 LOOK GOOD. 08873 SWS, ONES 6,1 A,1,L 6,1 08874 NA, CHAR1 6,1 BLANKS C,+3 NORMALIZE CONTENTS OF COLUMNS 2-8. 08875 TS - - C,-2 08876 S, MON TYPER WR TAP MSG SPRAMR +40 REJEC DIR "WRONG TAPE NAME ABBR IN COLS 2-7". 08877 NA, CHAR1 6,1 1,1 C,-1 INITIAL LETTER MUST MATCH THAT OF TAPE. 0888 Y DREC TLU TS L DIRECTS Z,X5 COMP DIRC SET UP TABLE LOOK-UP ON 1ST WORD. 0890 TRY DIREC NA Z,X5,1 ENDIRECS COMP DIRC BRANCH IF NOT END OF TABLE. 0892 TN 6,16 2 WUNRC MSG +3 0893 S, YUL TYPER WUNRC MSG AMTF +5 REJEC DIR ANNOUNCE UNRECOGNITION OF FIRST WORD. 0895 COMP DIRC NA N,X5,1 6,16 TRY DIREC 0896 NA, C1T6 5,0 6,17 TRY DIREC LOOK FOR 14-CHARACTER MATCH OF 1ST WORD. 0898 SS N,X5 THREAD 11 C,+1 0899 TS 6 COMMA 19 Z,X5 0 GO TO APPROPRIATE ROUTINE. 0901 NO DIRECT NA, CHAR1 6,1 STAR COL 1 NOT MON BRANCH IF NEITHER YUL DIRECTOR OR MON. 0903 TS Z,SC,2 6,110 MON WAKE C HAUL GROUP C OUT OF BED ..... 0905 SPCR C,+0 ... LET IT ANNOUNCE ITS IDENTITY ... 0907 TS ZERO C,+1 MON REL GP ... AND FIRE IT. 0909 WD Z,SC ONE Z,SC WAIT FOR GROUP C TO SAY WHO IT IS. 0911 SWS, ACO2 C,-3 8,L GC FRE MSG 0912 NA, CHAR8 1,0 ONE C,+2 BRANCH IF NOT COPYING. 0914 S, MON TYPER GC FRE MSG SPRA +8 - TYPE "GC FREE" IF IT WILL DO ANY GOOD. 0916 LA, CAC3 1,0 B36T37 END CHECK -2 BRANCH IF THERE WAS NO TAPE PUNCHING. 09178 S, MON TYPER 22 OUT MSG SPRA +24 - "2200 READY TO DO MONAOUT". 0918 S, MON TYPER ZERO ATAPE PCH +40 ZERO LET 2200 BEGIN PUNCHING TAPE. 0920 NA, CHAR8 1,0 ZERO LABEL YUL RELABEL YULPROGS ONLY WHEN NECESSARY. 0922 NA, CHAR8 1,0 ZERO DO BACKUP DO BACKUP PROCEDURE IF APPROPRIATE. 0924 END CHECK NA, CHAR1 6,1 STAR COL 1 RD DIRECT GO READ DIRECTOR UNLESS ENDJOB WAS READ. 0926 LA ONES 6,2 RD DIRECT BUT BRANCH AFTER CREATING A BACKUP. 0928 TS Z,SC,1 6,107 MON WAKE C 0929 TS ZERO C,+1 MON REL GP DISMISS GROUP B. 0931 WD Z,SC ONE Z,SC WAIT UNTIL IT'S OUT OF SIGHT. 0933 S, MON TYPER W END YUL SPRA +16 MONITOR TYPE "END YUL SYSTEM" AND END JOB. # Page 69 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 29 PAGE 29 P0935 SUBROUTINE IN PASS 0 TO TYPE THE SIGNIFICANT WORDS IN AN N-WORD ALPHABETIC MESSAGE. ENTRY IS A SIM- R0937 ULATE CALL (TO THE TRANSFER VECTOR) WITH ADDRESSES AS PER PR* EXCEPT FOR WORD COUNT IN RIGHT 6 BITS OF B ADDRESS R0939 -- MAIN PASS 0 MASKS ARE ASSUMED. THE SIGNIFICANCE PROCESSING IS: OMIT BLANK WORDS AT BEGINNING AND END OF MES- R0941 SAGE. REDUCE EACH IMBEDDED STRING OF BLANK WORDS TO ONE BLANK WORD. ACTIVE C ADDRESS IS COMPULSORY. 0943 TYPIST PR (SILENCED BY NA N,AU1 BLANKS N,AU2). 0945 TS Z,MXR TYPER MXR YUL MASKR C 0946 SWE, CHAR8 YUL TYPER 12 Z,CSH 0947 WA Z,CSH Z,AU1 Z,CSH FORM LWA+1 OF MESSAGE. 0949 TS L MSG AREA Z,CSC SEND TYP W 0950 END TYP Q LA Z,CSH Z,AU1 SEND TYP W +1 BRANCH WHEN WHOLE MESSAGE SCANNED. 0952 NA N,CSC,1 BLANKS SEND TYP W ALWAYS SEND NEXT IF LAST NOT BLANK. 0954 NA N,AU1 BLANKS SEND TYP W SEND NON-BLANK WHEN LAST WORD WAS BLANK. 0956 WD Z,CSC ONE Z,CSC IGNORE BLANK WORD THAT FOLLOWS A BLANK. 0958 SEND TYP W TS N,AU1,1 N,CSC END TYP Q SEND A WORD TO BE TYPED OUT. 0960 SM Z,CSC,1 Z,SC,5 - CONFIRM LAST WORD SENT TO MSG AREA. 0962 NA N,CSC BLANKS C,-1 CONFIRM LAST WORD UNLESS IT IS BLANK. 0964 NA Z,CSC L MSG AREA TYP COUNT BRANCH UNLESS BLANK MSG (END OF TASK). 0966 LA TYPIST CAC3 SEND TYP W +1 BRANCH UNLESS TYPEWRITER IN SILENT MODE. 0968 TS ZERO TYPIST SET PG HED C RESTORE TYPEWRITER AFTER SECRET TASK. 0970 TS N,X6 N,X1 N,AU2 ALSO RESTORE FORMER BACKUP STATUS. 0972 TYP COUNT WD Z,CSC L MSG AREA Z,CSC TENTATIVELY, NO. OF WORDS TO BE TYPED. 0974 TX L MSG AREA - Z,AU1 SET AU1 FOR MONITOR TYPEWRITER. 0976 LA Z,CSC ONE 7 OR LESS OMIT FOLLOWING CHECK FOR 1-WORD MESSAGE. 0978 NA N,AU1 BLANKS C,+2 0979 SM Z,AU1,1 Z,CSC,1 - REMOVE LEADING BLANK WORDS FROM MSG. 0981 LA Z,CSC SEVEN 7 OR LESS BRANCH IF ONE MONITOR CALL WILL DO. 0983 WD Z,CSC SEVEN TYPIST 0984 SWS, CHAR6 TYPIST 15,L SPRAM WD SPECIFY 1 OR 2 WORDS FOR FIRST CALL. 0986 WA TYPIST Z,AU1 TYPIST SAVE STARTING ADDRESS FOR SECOND CALL. 0988 TS Z,SC,1 - MON TYPER +1 C FAKE A SPRAM CALL TO THE MONITOR TYPER. 0990 SPRAM WD PR SPRAM - 0991 SWS, CHAR6 SEVEN 15,L YUL TYPER ALWAYS TYPE 7 WORDS ON THE SECOND CALL. 0993 TS TYPIST Z,AU1 7 OR LESS +1 SET UP ADDRESS OF REMAINDER OF MESSAGE. 0995 7 OR LESS SWS, CHAR6 Z,CSC 15,L YUL TYPER 0996 TX TYP RTURN - Z,AU2 0997 TX TYPER MXR - Z,MXR 0998 TS YUL TYPER N,SC,1 MON TYPER +1 C MAIN SYNTHETIC CALL TO MON. TYPER. 1000 TYPER MXR RESERVE 1 R1001 INSTRUCTION USED TO DISABLE YUL SYSTEM TYPEWRITER FOR SECRET TASKS. 1002 NO TYPIST NA N,AU1 BLANKS N,AU2 R1003 PROCEDURE FOR A CARD WHICH SHOULD HAVE "Y" IN COLUMN 1 BUT DOES NOT. 1004 NOT MON DS NON WISE ONE NON WISE 1005 TS - - NEX DIREC STEP COUNT AND READ AGAIN. # Page 70 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 30 PAGE 30 P1007 TABLE OF RECOGNIZED FIRST WORDS IN YUL DIRECTOR CARDS. 1008 DIRECTS ALF ADD 1009 M,A, A, A, ADD COMP ADD A NEW COMPUTER NAME. 1011 ALF REMOVE 1012 M,A, A, A, RMOV COMP REMOVE AN EXISTING COMPUTER NAME. 1014 ALF MESSAGE 1015 M,A, A, A, MESSAGE TYPE OUT ARBITRARY MESSAGE. 1017 ALF DELETE 1018 M,A, A, A, ELIM PRSU INITIATE DELETION OF PROG OR SUB. 1020 ALF ASSEMBLE 1021 M,A, A, A, ASSEMBLY PROGRAM OR SUBROUTINE ASSEMBLY OR REVN. 1023 W REPRINT ALF REPRINT 1024 M,A, A, A, REPRINT REPRINT ASSEMBLY LISTING. 1032 W MNUFACT ALF MANUFACT 1033 M,A,UR A,E A, MANUFACT MANUFACTURE ASSEMBLED PROGRAM. 1035 ALF CLOSE 1036 M,A, A, A, CLOS MONA LET 2200 MANUFACTURE PAPER/DIGISTORE TP. 1038 W CONTROL ALF CONTROL 1039 M,A, A, A, CONTROL BAR REVISION OR DELETION OF SUBROUTINE. 1041 W DECONTR ALF DECONTRO 1042 M,A, A, A, DECONTR ALLOW REVISION OR DELETION OF SUBROUTINE. 1044 W TRANSFR ALF TRANSFER 1045 M,A, A, A, XFER PSR MAKE CARD IMAGE DISC FILE OF PRG OR SUB. 1047 W PRINT ALF PRINT 1048 M,A, A, A, PRINT PSR PRINT SYMBOLIC LISTING OF PROG OR SUBRO. 1050 ALF PUNCH 1051 M,A, A, A, PUNCH PSR PUNCH SYMBOLIC PROG. OR SUBRO. DECK. 1053 W ASSMBLY ALF ASSEMBLY 1054 M,A, A, A, PASS STAT ASSEMBLY PASS STATUS OPERATIONS. 1056 ALF MANUFACT 1057 M,A,UR A,IN A,G MANU STAT MANUFACTURING STATUS STATUS OPERATIONS. 1062 ALF CREATE 1063 M,A, A, A, CREATE BU CREATE BACKUP TAPE IN MIDJOB. 1065 ALF LIST 1066 LAS DIREC M,A, A, A, UNREADY LIST PORTIONS OF YUL FILE DIRECTORY. 1068 UNREADY S, YUL TYPER UNRDY MSG AMTF +4 REJEC DIR TYPE "UNREADY OPERATION REQUESTED". # Page 71 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 31 PAGE 31 P1070 ROUTINE TO RESPOND TO REQUESTS FOR ASSEMBLY OR REVISION OF A PROGRAM OR SUBROUTINE. 1072 ASSEMBLY LA, CAC3 1,8 YFILE LIM C,+2 1073 S, YUL TYPER DIFUL MSG AMTF +5 REJEC DIR CUSS AND ABORT IF FULL DIRECTORY. 1075 TS W ASSMBLY TASK MSG TASK OBJC BREAK DOWN AND REFORM REST OF DIRECTOR. 1077 S, YUL TYPER TASK MSG AMTF +4 C,+1 1078 TYP ASOBJ S, YUL TYPER OBJCT MSG A +7 C,+1 TYPE TASK AND OBJECT OF TASK. 1080 WA Z,X6 OCTAL 20 Z,X5 INCLUDE COMPUTER NAME IN PAGE HEADING. 1082 TN N,X5,2 2 COMMON 1083 TS L PGHED P3 Z,S2 PUT CHAR +7 C MOVE FIRST CHARACTER. 1085 WA N,X5 1 C6 N,X5 INCLUDE A BLANK AFTER COMPUTER NAME. 1087 TS Z,SC Z,S3 WRIT OBJC MOVE FULL OBJECT MSG TO PAGE HEADING. 1089 TS PROG NAME SORS NAME 619 TO X5 C OMIT COMPUTER NAME FROM "END OF" LINE. 1091 WA L OLD LINE SIX Z,S2 GIVE IT TO PASS 1 VIA OLD LINE. 1093 NA N,X5 W REVISON NEW END OF BRANCH IF NEW PROGRAM OR SUBROUTINE. 1095 SWS, CHAR1 N,X5,3 A,1 N,52 MOVE "N" OF "REVISION". 1097 TS N,X5,2 COMMON PUT CHAR +2 C MOVE 1ST DIGIT OF REVISION NO. 1099 TS - - C,+2 1100 NEW END OF TS N,X5,2 COMMON PUT CHAR +3 C MOVE "N" OF "NEW". 1102 TS Z,SC Z,S3 WRIT OBJC MOVE OBJECT MSG TO "END OF" LINE. 1104 TN PAGE HEAD +12 2 OLD LINE +12 INCLUDE DATE. 1106 TS L DIRECTY Z,X1 FIND COMP C SEEK COMPUTER NAME IN DIRECTORY. 1108 S, YUL TYPER UNRCO MSG AMTF +4 TYP ABORT CUSS AND EXIT IF NOT THERE. 1110 KNWN COMP TX Z,X0 - L COMP NAM ADDRESS OF COMPUTER NAME FOR PARP CALLS. 1112 LA, P1T3AV ONES 0,1 CAN ASSE BRANCH IF PASSES 1-3 AVAILABLE FOR IT. 1114 S, YUL TYPER NASSY MSG AMTF +4 TYP ABORT 1115 CAN ASSE NA TASK MSG W ASSMBLY REPRINT 2 BRANCH IF DOING REPRINT, NOT ASSEMBLY. 1117 NA, BIT 12 SWITCH ZERO NEWVERS2 BRANCH IF DOING VERSION ASSEMBLY. 1119 NA, BIT10 SWITCH ONES NEW PRSUB BRANCH IF NEW PROGRAM OR SUBROUTINE. 1121 REVISION TS C,+1 OK NOUN OK REVN Q MODIFY "KNOWN PROGRAM/SUBROUTINE" SEARCH 1123 TS C,+1 OK NOUN C,+1 BECAUSE HERE ALONE THE REVISION NUMBER 1125 SSL, ONE 3,1 23 OK NOUN -3 C IS BEING CHANGED. 1127 DA COMMON ONE COMMON INCREMENT OLD REVN, ASK FOR MATCH. 1129 NA, B36T37 3,1 ONES OK NOUN +1 BACK TO KNOWN PSR IF NOT CONTROLLED SUB. 1131 SS W REVISON CAC12 CONSU MSG +4 1132 S, MON TYPER CONSU MSG SPRAMR +40 TYP ABORT CUSS ATTEMPT TO REVISE CONTROLLED SUBRO. 1134 NO REVISE S, MON TYPER NR FRZ MSG SPRAMR +40 TYP ABORT REPLACES REVISION, ABOVE, IF FROZE TAPE. 1136 OK REVN Q TS, BIT2 ONES SWITCH KNOWN PSR REQUEST MERGING, CHECK PROGRAM NAME ETC. 1138 TS Z,X4 L PROG FIL REVNO SSL SAVE ADDRESS OF PROG/SUB ENTRY IN FILE. 1140 SWS, B13T24 REVNO 24,L 4,1 NEW REVNO FOR PROG/SUB WITH NO SUBROS. 1142 SWS,THREAD11 4,1 24 Z,X5 C 1143 SWS,B1THRU12 REVNO 36,L N,X5 NEW REVNO FOR PROG/SUB WITH SUBROS. 1145 REVNO SSL SSL, ONE 4,1 23 C,-3 C # Page 72 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 32 PAGE 32 P1146 PLACE PROGRAM OR SUBROUTINE NAME AT HEAD OF AUTHOR'S LIST. 1147 NA, BIT9 SWITCH ZERO C,+2 1148 TS W END SYPT NEXT NAME AU LATEST PROGRAM GOES ON TAPE BEFORE END SYPT. 1150 SS 4,1 THREAD 10 Z,X2 POINT TO SUCCESSOR OF SUBRO ON TAPE. 1152 NA Z,X2 L END THR C,+2 1153 TS W END SYLT NEXT NAME AU LATEST LAST SUBRO GOES ON TAPE BEFORE END SYLT. 1155 TX N,X2 - NEXT NAME IN GENERAL, SUBRO STAYS PUT IN REVISION. 1157 AU LATEST LA PLUS ZERO 3,1 X5 IS NR4 BYPASS IF THIS IS 1ST IN AUTHOR'S LIST. 1159 SS 4,1 B THRED 10 3,1 SEW UP AUTHOR'S LIST AROUND THIS PR/SUB. 1161 SWS,THREAD10 3,1 12 Z,X3 FOLLOW THE THREAD... 1163 LA 3,1 PLUS ZERO C,-1 ...UNTIL AUTHOR NAME ENTRY IS FOUND. 1165 SWS,BTHRED10 3,1 12 4,1 POINT TO PR/SUB LAST HANDLED BY AUTHOR. 1167 SWS,ATHRED10 Z,X4 24,L 3,1 LET AUTHOR NAME POINT TO THIS PROG/SUB. 1169 X5 IS NR4 NA, BIT 9 SWITCH ZERO C,+2 BRANCH IF DOING SUBROUTINE REVISION. 1171 WA INIT X5 TWO INIT X5 CHANGE GB,R2 TO GB,R4. 1173 LA, CAC3 1,9 L END THR INIT ASSY BRANCH IF THERE ARE NO DELETES WAITING. 1175 NA, BIT 9 SWITCH ZERO GBR2 GBR3 BRANCH IF DOING SUBROUTINE REVISION. 1177 WD INIT X5 ONE INIT X5 OTHERWISE CHANGE GB,R4 TO GB,R3. 1179 TS L SYM THR Z,S1 INIT ASSY +1 1180 NEW PRSUB TS Z,X0 Z,X2 FIND PROG +1 C SEEK PROGRAM/SUBRO NAME IN DIRECTORY. 1182 S, YUL TYPER CONPN MSG AMTF +5 TYP ABORT CUSS CONFLICT AND EXIT IF FOUND. 1184 SSL, TWO SWITCH 34 C,+2 "BRANCH" IF DOING TRANSFERRED ASSEMBLY. 1186 SWE, ONES SUBSTRAB +2 24 SUBSTRAB +2 POSITION LOG NUMBER FOR PASS 1. 1188 NEW DNTRY TS - - FIND PAIR C FIND 2 DIRECTORY LOCATIONS FOR P/S NAME. 1190 TS PROG NAME N,X3 DIRENTRY 1191 TS Z,SC Z,X1 RD SUBDRC 1192 S, MON TYPER TSFRD MSG SPRAMR +56 TYP ABORT CUSS LACK OF "FROM FILENAME" SUBDIRECTR. 1194 NA 6,16 W FROM C,-1 1195 TX L DIRECTY - Z,X1 1196 LA, CHAR1 ONES 6,18 C,-3 BRANCH IF INPUT FILE NAME IS MISSING. 1198 LA, CHAR6 6,21 ZERO C,+2 BRANCH IF INPUT FILE NAME IS BLANK. 1200 LA, CHAR6 6,21 BIT 32 C,+2 BRANCH IF LENGTH OF NAME IS 16 OR LESS. 1202 S, MON TYPER XIN WRSIZ SPRAMR +32 REJEC DIR REJECT ILL-SIZED INPUT FILE NAME. 1204 LA, CHAR1 ONES 6,22 C,+2 1205 S, MON TYPER XIN TERMS SPRAMR +40 REJEC DIR CUSS TERMINATOR CHARACTERS IN FILE NAME. 1207 TN 6,19 2 SUBSTRAB SAVE FILE NAME IN INTERPASS STORAGE. 1209 S, MON TYPER W SOURCE C SPRAM +8 - 1210 S, MON TYPER SUBSTRAB SPRA +16 - "SOURCE: INPUTFILENAME ". 1212 LA, CHAR5 ONES DISC STAT C,+3 1213 S, MON TYPER TSFRD MSG SPRAM +24 - 1214 S, MON TYPER XNODF MSG SPRAMR +8 TYP ABORT "TRANSFERRED ASSEMBLY NEEDS DISC ". 1216 EX DISC STAT B14T18 SUBSTRAB +3 SEND NUMBER OF DISCS IN FILE TO PASS 1. # Page 73 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 33 PAGE 33 P1218 TRANSFERRED ASSEMBLY: FIND HIGHEST LOG NUMBER FOR FILE, IGNORING DISABLED FILES AND DELETING UNCONFIRMED ONES. 1220 TS SUBSTRAB TRONDEX XIN ANYLG 1221 XIN LUKUP TS SUBSTRAB +1 TRONDEX +1 DISCAP C 1222 OCT -15 1223 SPEC TRONDEX 1224 TS BIT 10 SORS LINE FOUND FIL 1225 NA SUBSTRAB +2 ZERO C,+2 BRANCH IF A SATISFACTORY FILE WAS FOUND. 1227 S, MON TYPER NOFIL MSG SPRAMR +24 TYP ABORT "FILE NOT FOUND ON DISC ". 1229 SSL, ONE SWITCH 39 VERS PSQ C 1230 TN TSFR LINE 3 N,AU2 1231 TN TRONDEX 2 N,AU2 1232 SWE, ONES SUBSTRAB +2 D,2 PHI ARG 1233 TS Z,SC Z,AU1 YUL D2A ZS 1234 SM LOG COMMA N,SH SORS LINE +9 1235 TN BLANKS 5 SORS LINE +10 1236 TS BLANKS SORS LINE +15 NEW DNTRY -1 COBBLE UP LINE SHOWING SOURCE FILE NAME. 1238 FOUND FIL NA, C7T8 TRONDEX +3 SNTRACOD XIN LUKUP LOOK AGAIN IF FILE TYPE IS WRONG. 1240 SSL, ONE TRONDEX +4 0 C,+1 TEST PSEUDO-CONFIRMATION BIT. 1242 TS Z,SC,2 - DISCAP C GO TO RELEASE UNCONFIRMED TRACK. 1244 LA TRONDEX +2 SUBSTRAB +2 XIN LUKUP BRANCH IF NOT GREATEST FOUND LOG NUMBER. 1246 TS TRONDEX +2 SUBSTRAB +2 XIN LUKUP PLANT HIGHEST LOG NUMBER YET FOUND. 1248 OCT -1017 1249 SPEC TRONDEX 1250 XIN ANYLG TS ONES TRONDEX +2 XIN LUKUP RESTART SEARCH AFTER TRACK RELEASE. 1252 TS - - DISASTER BAD RETURN SHOULD BE IMPOSSIBLE HERE. # Page 74 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 34 PAGE 34 P1254 ENTER THE NAME OF A NEW PROGRAM OR SUBROUTINE IN THE DIRECTORY. 1255 DIRENTRY TX Z,X3,1 - L PROG FIL SAVE ADDRESS IN FILE. 1257 TX PACK DATE - N,X3 DATE OF LAST HANDLING GOES WITH NAME. 1259 SWS, BIT 36 SWITCH 27 N,X3 SHOW WHETHER PROGRAM OR SUBROUTINE. 1261 NA, BIT9 SWITCH ZERO C,+2 1262 TS W END SYPT NEXT NAME POSN PRGN PROGRAM GOES ON TAPE BEFORE END SYPT. 1264 TX L END THR - Z,X5 1265 SWS,THREAD10 N,X0 12 Z,X5 POINT TO FIRST PROG OF COMPUTER. 1267 TS Z,X0 Z,X2 FIND SUBN 1268 NA, BIT36 5,1 ZERO FIND SUBN +2 BRANCH IF FOUND A SUBROUTINE. 1270 TX Z,X5 - Z,X2 1271 SS 2,1 THREAD 10 Z,X5 ADVANCE POINTER PAIR THRU LIST. 1273 FIND SUBN NA Z,X5 L END THR C,-3 BRANCH IF MORE PROGS OR SUBS TO SEE. 1275 TS W END SYLT NEXT NAME POSN SUBN +2 IF NO SUBS (OR NONE AFTER SOURCE), LAST. 1277 NA, BIT12 SWITCH ONES C,+2 BRANCH IF NOT DOING VERSION ASSEMBLY. 1279 NA N,X2 SORS NAME FIND SUBN -2 VERSION SUBRO GOES ON TAPE AFTER SOURCE. 1281 TS N,X5 NEXT NAME POSN SUBN +2 NEW/TRANSFERRED SUBRO GOES 1ST IN SYLT. 1283 POSN SUBN SS Z,X5 THREAD 10 N,X3 NEW SUBRO POINTS TO SUCCESSOR. 1285 TS, THREAD10 L PROG FIL 2,1 POSN PRGN +2 PREDECESSOR POINTS TO NEW SUBRO. 1287 NA Z,X2 Z,X0 POSN SUBN BRANCH UNLESS NOTHING PRECEDES NEW SUB. 1289 POSN PRGN SWS,THREAD10 N,X0 12 N,X3 NEW P/S NAME TO HEAD OF MACHINE'S LIST. 1291 SWS,BTHRED10 L PROG FIL 12,L N,X0 1292 TS ONES 1,6 FIND AUTH C SEEK AUTHOR NAME IN DIRECTORY. 1294 TS - - ADD AUTHR INCLUDE IT NOW IF NOT FOUND. 1296 LA B1THRU12 3,1 C,+2 BR. IF AUTH HAS 255 OR MORE PROG/SUBS. 1298 WA 3,1 BIT 12 3,1 OTHERWISE INCREASE HIS TOTAL. 1300 TS L PROG FIL Z,X2 SET LAUTH C 1301 SWS,BTHRED10 3,1 12 2,1 NEW P/S NAME TO HEAD OF AUTHOR'S LIST. 1303 SWS,ATHRED10 L PROG FIL 24,L 3,1 13031 * NA, BIT12 SWITCH ZERO GBR2 GBR3 -1 BRANCH IF DOING A VERSION ASSEMBLY. 13032 EX SWITCH BIT 7 COMMON 13033 LA COMMON ZERO GBR2 GBR3 -1 BRANCH IF NOT IN A SEGMENT ASSEMBLY. 13034 NA, CAC3 1,9 L END THR C,+2 13035 WA INIT X5 ONE INIT X5 IF NO DELETES WAITING, MAKE IT GB,R4. 13036 WA INIT X5 ONE INIT X5 IF DELETES ARE WAITING, MAKE IT GB,R3. 13037 TS - - INIT ASSY 1304 LA, CAC3 1,9 L END THR INIT ASSY BRANCH IF THERE ARE NO DELETES WAITING. 1306 GBR2 GBR3 WA INIT X5 SPEC ONE INIT X5 CHANGE GB,R2 TO -GB,R3. # Page 75 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 35 PAGE 35 P1308 PROCEDURE TO INITIALIZE A PERMISSIBLE ASSEMBLY OR REPRINT. 1309 INIT ASSY TX L SYM THR - Z,S1 1310 MT I SYM THRS 13 N,S1,1 INITIALIZE SYMBOL TABLE CAC-THREADS. 1312 TX ISY SUB TH - N,S1,1 SPECIAL INITIAL VALUE FOR SUBRO DIR ORG. 1314 MT I SYM THRS 50 N,S1,1 1315 TX L AV TABLE - Z,S1 1316 SM CAC12 ISY SUBTH N,S1,1 INITIALIZE FIRST SPEC PAIR IN SYM TABLE. 1318 TS L GPB STT Z,X4 C,-1 C 1319 WA OCTAL 20 OCTAL 20 Z,R6 1320 MT CAC12 62 N,S1,1 INITIALIZE AVAILABILITY TABLE. 1322 NA Z,R6,1 ZERO C,-1 1323 TX L B LISTS - Z,S1 1324 MT ZERO 4 N,S1,1 INITIALIZE JOINT BUFFER LIST. 1326 TN BUF NAMES 8 N,S1,8 INITIALIZE FREE BUFFER LIST. 1328 MT ZERO 8 N,S1,1 INITIALIZE INPUT AND SAPO BUFFER LISTS. 1330 TS Z,SC,5 N,X4 MON WAKE C WAKE GROUP B TO ASK IT ITS NAME. 1332 SPCR COMMON 1333 TX YUL MASKS - Z,MXR 1334 SWE, ONES COMMON 17 COMMON 1335 SS COMMON GROUP IND INIT X5 PLANT TRUE NAME OF GROUP B. 1337 TX Z,R0 - Z,SC GO BACK TO BED UNTIL PASS 1. 1339 SSL, ONE SWITCH 35 C,+1 FOR TRANSFERRED ASSEMBLY, PRINT SOURCE. 1341 LA, B11T12 SWITCH ZERO C,+2 FOR REPRINT, PRINT NAME OF CUSTOMER. 1343 S, PHI PRINT SORS LINE FOR VERSION ASSEMBLY, PRINT SOURCE NAME. 1345 SNACH WRK SWS, CHAR8 TAPE NO A,7 WORKERS 1346 SWS, CHAR7 TAPE NO A,6 WORKERS +1 PUT TAPE NUMBER IN SNATCHING PARAMETERS. 1348 S, MON TADDR TAPE NO SKIP IF WORKER MUST BE SNATCHED. 1350 TS L STOPPER Z,X4 POSITION +2 1351 TS L STOPPER Z,X4 PHI SNACH # The following line makes a string containing "blots", non-ASCII characters. # I have chosen to represent them as the ASCII "block" character, Unicode 9608. 1352 WORKERS ALF,3 W10Y010█YULWRK█ ████████ 1353 POSITION TS, CHAR1 TAPE NO C,+1 PHI TAPE 1354 RW,EH - - - REPOSITION WORKERS IN ANY CASE. 1356 TS, CHAR1 TAPE NO C,+1 PHI TAPE 1357 RF,EH 4,0 - DISASTER 1358 TS,CHAR1 TAPE NO C,+1 PHI TAPE 1359 RF,EH - - DISASTER 1360 WA TAPE NO BIT 6 TAPE NO 1361 NA, CHAR8 WORKERS FOUR SNACH WRK WORKERS ARE CALLED 2, 3, AND 4. 1363 TS Z,SC Z,X1 RD SUBDRC GO TO GET SUBDIRECTOR IF ANY. 1365 LOAD PAS 1 S, PHI LOAD PASS 1 1 BASE ADDR LOAD AND GO TO PASS 1 WHEN THEY RUN OUT. # Page 76 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 36 PAGE 36 P1367 SUBROUTINE IN PASS 0 TO PROCESS ASSEMBLY AND/OR PRINTING SUBDIRECTORS. 1368 ASSY SUBD WD Z,X1 ONE Z,X4 X4 IS USED TO RETURN TO RD SUBDRC CALL. 1370 WA Z,X6 OCTAL 20 WHODUNIT 1371 LINS COPS NA 6,16 W PRINT REN SUP &C 1372 WA WHODUNIT THREE WHODUNIT SET UP TO EXAMINE NO. OF LINES OR COPYS. 1374 SWE, CHAR8 6,21 12 Z,AU1 1375 LA Z,AU1 ZERO NUM WR SIZ 1376 LA THREE Z,AU1 NUM WR SIZ 1 OR 2 DECIMAL DIGITS FOR EITHER NO. 1378 SWE, CHAR8 6,19 A,7 COMMON GET TENS OR ONES DIGIT. 1380 LA TEN COMMON NUM NDEC 1381 LA Z,AU1 ONE TEST NVAL BRANCH IF NUMBER WAS 1 DIGIT ONLY. 1383 BT COMMON 10 COMMON 1384 SWE, CHAR8 6,19 A,6 Z,AU1 UNITS DIGIT OF 2-DIGIT NUMBER. 1386 LA TEN Z,AU1 NUM NDEC 1387 WA COMMON Z,AU1 COMMON 1388 TEST NVAL LA COMMON ONE NUM RNG ER 1389 LA COMMON CHAR 8 LIN OR COP LIMITS HERE ARE 2 AND 63. 1391 NUM RNG ER S, MON TYPER NW RGE MSG SPRAMR +24 IGN SBDIR 1392 NUM NDEC S, MON TYPER NW NDC MSG SPRAMR +24 IGN SBDIR 1393 NUM WR SIZ S, MON TYPER NF WSZ MSG SPRAMR +24 IGN SBDIR CUSS, OUST SUBDIRS WITH BAD NUMBERS. 1395 LIN OR COP WA WHODUNIT THREE WHODUNIT 1396 NA 6,22 W LINES CK COPIES 1397 LA COMMON NINE NUM RNG ER MINIMUM LINES/PAGE = 10. 1399 NA N LINES 54 LINES DUPLISUB 1400 SWS, CHAR2 COMMON A,2 N LINES SET TEMPORARY LENGTH OF PAGE. 1402 SWS, C7T8 6,19 A,6 SET LN MSG 1403 S, MON TYPER SET LN MSG SPRA +24 4,0 ANNOUNCE AND GO TO GET NEXT SUBDIRECTOR. 1405 CK COPIES NA 6,22 W COPIES UNRC SBDR 1406 NA N COPIES ZERO DUPLISUB 1407 TX COMMON - N COPIES TO BE MODIFIED WHEN PLY IS KNOWN. 1409 SS 6,19 B1THRU12 N COPS MSG 1410 S, MON TYPER N COPS MSG SPRAMR +24 - 1411 S, MON TYPER WH PLY MSG SPRAMR +16 - 1412 S, MON TYPER WAA 10060 SPRA +24 4,0 R1413 ASSEMBLY/REPRINT SUBDIRECTOR CHECKING AND CUSSING. 1414 DUP SUB CH LA L SERVICE Z,X4 IL REQEST BRANCH IF NOT AN ASSEMBLY-TYPE TASK. 1416 DUPLISUB S, MON TYPER DUPSR MSG SPRAMR +24 IGN SBDIR CUSS AND IGNORE DUPLICATE SUBDIRECTORS. 1418 IL REQEST S, MON TYPER IL RQT MSG SPRAMR +24 IGN SBDIR CUSS RENUMBER IN REPRINT AND LIKE THAT. # Page 77 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 37 PAGE 37 P1420 PROCESSING FOR ASSEMBLY/PRINT SUBDIRECTORS OTHER THAN LINES OR COPIES REQUESTS. 1422 REN SUP &C NA 6,17 BLANKS UNRC SBDR 1423 NA 6,16 W RENUMBR SUPP OR &C "RENUMBER" OR "SUPPRESS" OR ETC. 1425 RENUMBER LA, B2B11 ONES SWITCH IL REQEST REFUSE TO RENUMBER DURING REPRINT. 1427 SSL, ONE SWITCH 47 DUP SUB CH C CHECK DUPLICATION AND CALL FROM PRINT. 1429 SM SWITCH BIT 1 SWITCH SET SWITCH TO MAKE PASS 1 RENUMBER. 1431 S, MON TYPER CDREN MSG SPRA +16 4,0 TYPE "RENUMBER CARDS", GET NEXT SUBDIR. 1433 SUPP OR &C NA 6,16 W SUPPRES FRZ B4 UPG &C = "FREEZE", "BEFORE", OR "UPGRADE". 1435 WA WHODUNIT THREE WHODUNIT 1436 NA 6,19 W CONDIT UNCONDIT BRANCH IF NOT "CONDITIONALLY" (ON BAD). 1438 NA 6,20 W CONDIT +1 UNRC SBDR 1439 TN 6,22 3 6,19 1440 TS B18T20 TEMP MASK UNCONDIT +1 BOBTAIL MASK FOR CONDITIONAL SUPPRESSION 1442 UNCONDIT TX SUPP BITS - TEMP MASK 1443 NA 6,19 W SYMBOL SP OCT MAP "SUPPRESS SYMBOL" SUFFICES HERE. 1445 SP SYM TAB SSL, ONE SWITCH 29 DUP SUB CH C CHECK DUPLICATION AND CALL FROM PRINT. 1447 SM, TEMPMASK SWITCH B15 B19 SWITCH 1448 TS ZERO WHODUNIT TYP SUPPR 1449 SP OCT MAP NA 6,19 W OCTAL SUP INACT "SUPPRESS OCTAL" SUFFICES HERE. 1451 SSL, ONE SWITCH 28 DUP SUB CH C CHECK DUPLICATION AND CALL FROM PRINT. 1453 SM, TEMPMASK SWITCH B16 B20 SWITCH 1454 TS ONE WHODUNIT TYP SUPPR 1455 SUP INACT NA 6,19 W INACTIV UNRC SBDR "SUPPRESS INACTIVE" SUFFICES HERE. 1457 NA 6,20 BLANKS UNRC SBDR 1458 SSL, ONE SWITCH 30 DUP SUB CH C CHECK DUPLICATION AND CALL FROM PRINT. 1460 SM, TEMPMASK SWITCH B14 B18 SWITCH 1461 TX TWO - WHODUNIT 1462 TYP SUPPR NA TEMP MASK SUPP BITS C,+2 1463 S, MON TYPER W SUPPRES SPRAM +8 C,+2 "SUPPRESS". 1465 S, MON TYPER SUP CO MSG SPRAM +24 - "SUPPRESS CONDITIONALLY: ". 1467 SSL, THREE WHODUNIT 0 C,+1 1468 S, MON TYPER SY TAB MSG SPRA +24 4,0 " SYMBOL TABLE LISTING". 1470 S, MON TYPER OC MAP MSG SPRA +24 4,0 " OCTAL STORAGE MAP". 1472 S, MON TYPER IN SUB MSG SPRA +24 4,0 " INACTIVE SUBROUTINES". R1474 PROCEDURE FOR THE SUBDIRECTOR "FREEZE SUBROUTINES", TO INCORPORATE SUBROUTINES INTO A PROGRAM. 1476 FRZ B4 UPG NA 6,16 W FREEZE B4 OR UPGR IF NOT "FREEZE": "BEFORE" OR "UPGRADE". 1478 TS 6,19 WHODUNIT RENUMBER C REFUSE TO FREEZE DURING REPRINT. 1480 NA 6,19 MANSU MSG UNRC SBDR 1481 NA, C1T4 6,20 MANSU MSG +1 UNRC SBDR "SUBROUTINES" IS REQUIRED. 1483 NA, BIT9 SWITCH ZERO IL REQEST REQUIRE PROGRAM ASSEMBLY. 1485 SSL, ONE SWITCH 31 DUP SUB CH C QUIT IF THERE HAS BEEN ANOTHER "FREEZE". 1487 SM SWITCH BIT 17 SWITCH SHOW THAT A "FREEZE" HAS BEEN RECEIVED. 1489 S, MON TYPER FRSUB MSG SPRA +24 4,0 "FREEZE SUBROUTINES". # Page 78 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 38 PAGE 38 P1491 PROCESSING FOR THE SUBDIRECTOR "BEFORE SUBRNAME", USED IN SUBROUTINE ASSEMBLY TO POSITION A SUBROUTINE ON TAPE. 1493 B4 OR UPGR NA 6,16 W BEFORE UPGRADE IF NOT "BEFORE", MUST BE "UPGRADE". 1494 TS 6 COMMA 19 WHODUNIT RENUMBER C POINT TO SUBRO NAME, QUIT IF REPRINT. 1496 NA, BIT9 SWITCH ONES IL REQEST REQUIRE SUBROUTINE ASSEMBLY. 1498 SSL, ONE SWITCH 40 DUP SUB CH C QUIT IF THERE HAS BEEN ANOTHER "BEFORE". 1500 SM SWITCH BIT 8 SWITCH SHOW THAT A "BEFORE" HAS BEEN RECEIVED. 1502 NA 6,20 BLANKS UNRC SBDR QUIT IF SUBRO NAME IS TOO LONG. 1504 NA, C1T4 6,19 W END SYLT C,+2 1505 BEFOREND TS W END SYLT NEXT NAME ACK BEFOR SUBDIRECTOR SAID "BEFORE END". 1507 TX L COMP NAM - Z,X2 1508 SWS,THREAD10 N,X2 12 Z,X2 1509 TS Z,SH Z,CSC B4 WHICH -2 START SEARCH FOR NAMED SUBROUTINE. 1511 NA, BIT36 2,1 ZERO B4 WHICH BRANCH IF FOUND A SUBROUTINE. 1513 SS 2,1 THREAD 10 Z,X2 ADVANCE THROUGH LIST OF PROGRAMS. 1515 NA Z,X2 L END THR C,-2 BRANCH UNLESS THERE ARE NO SUBROUTINES. 1517 NA 6,19 W ALL BAD BEFOR C IF "BEFORE ALL", DROP INTO BEFOREND. 1519 B4 WHICH NA 6,19 W ALL ACK BEFOR +2 BRANCH IF REALLY NEED TO FIND SUBRO. 1521 NA Z,X2 L PROG FIL ACK BEFOR +1 BRANCH UNLESS SUBRO IS ALREADY FIRST. 1523 ACK BEFOR S, YUL TYPER 6,2 A +9 4,0 ACKNOWLEDGE SUBDIRECTOR BY TYPING IT. 1525 TS N,X2 NEXT NAME ACK BEFOR IF "BEFORE ALL", 1ST SUBRO IS SUCCESSOR. 1527 NA 6,19 N,X2 BAD BEFOR -2 BRANCH IF DIDN'T FIND NAMES SUBROUTINE. 1529 NA Z,X2 L PROG FIL C,-2 OK UNLESS SUBRO WAS TO PRECEDE ITSELF. 1531 S, MON TYPER UNRCS MSG SPRAMR +32 IGN SBDIR "SUBROUTINE NAME NOT RECOGNIZED". 1533 SS 2,1 THREAD10 Z,X2 CONTINUE SEARCH FOR NAMED SUBROUTINE. 1535 NA Z,X2 L END THR ACK BEFOR +2 BRANCH IF SEARCH DID NOT FAIL. 1537 BAD BEFOR S, MON TYPER UNRCS MSG SPRAMR +32 IGN SBDIR "SUBROUTINE NAME NOT RECOGNIZED". # Page 79 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 39 PAGE 39 P1539 PROCESSING FOR THE SUBDIRECTOR "UPGRADE TO REVISION NNN", USED IN TRANSFERRED ASSEMBLY TO ASSIGN AN ARBITRARY R15392 REVISION NUMBER TO A PROGRAM OR SUBROUTINE BEING CREATED FROM A DISC FILE, TYPICALLY IN A TAPE-TO-TAPE MOVE. 15394 UPGRADE NA 6,16 W UPGRADE UNRC SBDR 15396 LA, CHAR3 SWITCH B14T18 IL REQEST BRANCH IF NOT TRANSFERRED ASSEMBLY. 15398 TX DUPLISUB - C,+0 COME THRU HERE JUST ONCE PER ASSEMBLY. 1540 TS 6 COMMA 19 WHODUNIT 619 TO X5 C 15402 NA N,X5,3 W TO UNRC SBDR 15404 WA Z,X5 SIX WHODUNIT 15406 NA 6,28 ONES UNRC SBDR GIVE UP IF THERE ARE EXTRA WORDS. 15408 TS W OF 6,28 FINGER C FAKE UP THE FORM "REVISION NNN OF". 1541 NA N,X5,1 W REVISON UNRC SBDR 15412 NA N,X5,2 BLANKS UNRC SBDR GUARD AGAINST TASK ABORT. 15414 TX N,SC,2 - REJEC DIR CHANGE TASK ABORT TO SUBDIRECTOR IGNORE. 15416 TS C,+1 REJEC DIR IGN SUBDR RESTORE TASK ABORT ROUTINE. 15418 S, MON TYPER REJEC MSG SPRAMR +32 - 1542 TS Z,SC Z,S2 CVRT REVN JUDGE AND CONVERT REVISION NUMBER. 15422 TX C,-2 - REJEC DIR RESTORE TASK ABORT ROUTINE. 15424 TX L PROG FIL - Z,X4 15426 SWS, B13T24 REVNO 24,L 4,1 (TRANSFERRED ASSY STARTS SANS SUBROS). 15428 SS ZERO BIT 10 SWITCH UNDO DAMAGE FROM DETECTION OF REV NO. 1543 S, YUL TYPER 6,2 A +9 C,+1 "UPGRADE TO REVISION NNN". 15431 TX COMP NAME - 6,2 15432 TX W REVISON - 6,3 15433 SWE, ONES W OF A,5 6,4 15434 SWS, C1T4 6,25 A,1 6,4 15435 TN OBJCT MSG 6 6,5 15436 TS, C1T4 BLANKS 6,5 PHI SENTR MODIFY OBJECT MESSAGE PER UPGRADING. 15437 TS COLON C1 COMMON TYP ASOBJ +1 C 15438 TS Z,SC Z,S2 MOD CHEK 3 -1 15439 TS Z,X5 Z,S2 PUT CN C6 -2 C MAKE AND DISTRIBUTE NEW OBJECT MESSAGE. 154395 TS Z,X5,21 - GO DO AUTH C ADVANCE X5 TO AUTHOR NAME AND DECODE IT. 1544 TS C,+1 KNWN COMP TYP ASOBJ +1 15441 TS C,+1 KNWN COMP LOAD PAS1 -1 15442 TX Z,X0 - L COMP NAM # Page 80 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 40 PAGE 40 P15449 PROCEDURE TO RESPOND TO A REQUEST FOR A REPRINT OF AN ASSEMBLY LISTING. DO NOT CONFUSE THIS WITH THE R1546 PRINT FUNCTION, WHICH MAKES A SYMBOLIC LISTING ONLY. THE REPRINT FUNCTION IS JUST LIKE ASSEMBLY EXCEPT THAT R1548 THE REVISION NUMBER IS NOT ADVANCED, NO INPUT IS ACCEPTED, AND RENUMBERING MAY NOT BE DONE. SYPT, SYLT, AND R1550 BYPT ARE NOT CHANGED IN ANY WAY. IN PARTICULAR, THE BYPT/NO BYPT BIT FOR A PROGRAM DOES NOT CHANGE EVEN IF ITS R1552 SUBROUTINES HAVE CHANGED SINCE THE LAST ASSEMBLY IN SUCH A WAY AS TO CHANGE THE GOOD/FAIR/BAD RATING OF THE R1554 DUMMY ASSEMBLY INHERENT IN REPRINTING. 1555 REPRINT TS W REPRINT TASK MSG TASK OBJC BREAK DOWN REMAINDER OF YUL DIRECTOR. 1557 SWS, C1T7 TASK MSG +1 A,1,L TASK MSG +1 1558 SWS, CHAR8 TASK MSG +2 A,1,L TASK MSG +1 1559 SWS, C1T7 TASK MSG +2 A,1,L TASK MSG +2 NORMALIZE TASK MESSAGE. 1561 S, YUL TYPER TASK MSG AMTF +4 TYP ASOBJ TYPE TASK, GO JOIN ASSEMBLY PROCESS. R1563 RETURN TO HERE IF WE CAN ASSEMBLE FOR THE NAMED COMPUTER. 1564 REPRINT 2 TS Z,SC Z,X1 RD SUBDRC 1565 S, MON TYPER 4WHOM MSG SPRAMR +40 TYP ABORT REQUIRE SUBDIRECTOR "FOR CUSTOMERNAME". 1567 NA 6,16 W FOR C,-1 1568 S, YUL TYPER 6,2 A +9 C,+1 TYPE OUT ENTIRE SUBDIRECTOR CARD. 1570 TS BIT 10 SORS LINE SET PG HED C 1571 TN REP 4 LINE 3 SORS LINE +1 1572 TN 6,2 9 N,AU2 1573 MT BLANKS 3 N,AU2,1 MAKE UP LINE ABOUT WHO GETS THE REPRINT. 1575 TS, B2B11 ONES SWITCH KNOWN PSR REQUEST REPRINT, CHECK PRG/SUB NAME ETC. 1577 SSL, ONE 4,1 35 C,+1 TEST OBSOLESCENCE BIT. 1579 TS Z,X4 L PROG FIL X5 IS NR4 JOIN ASSEMBLY INITIALIZATION. 1581 S, MON TYPER PROBS MSG SPRA +40 - CUSS OBSOLETE REPRINT ON TYPEWRITER. 1583 TS W BLOT OBS PAGE HEAD +14 C,-2 CUSS OBSOLETE REPRINT ON EVERY PAGE. R1585 PROCEDURE TO CREATE A BACKUP TAPE IN MIDJOB, AT THE OPERATOR'S DISCRETION. EVOKED BY THE DIRECTOR R1587 CARD "CREATE BACKUP". 1588 CREATE BU TX Z,X5 - WHODUNIT 1589 NA N,X5,3 W BACKUP HOWZAT DEMAND "BACKUP". 1591 TX Z,X5 - WHODUNIT 1592 NA N,X5 ONES HOWZAT FORBID SUPERFLUOUS WORDS. 1594 SS ACA OTHE CHAR 3 ASCBU MSG 1595 S, MON TYPER ASCBU MSG SPRAMR +24 - "ASA TO CREATE BACKUP;" 1597 S, MON TYPER ACA OTHE SPRA +16 C,+3 "ACA OTHERWISE" 1599 STOP - S 1600 S, MON TYPER RIGHT HO SPRAMR +8 ACCEPT +1 "(SIGH)" 1602 TS - - C,-1 C ARA OR DON A CREATES BACKUP. 1604 NA, CHAR8 1,0 ZERO C,+2 1605 TS, CHAR8 ONE 1,0 C,+3 BYPASS LABEL AND REVERT IF MONDAY MORN. 1607 SS ONE CHAR8 N,X1 BE SURE TO DO FULL TAPE COPY. 1609 TS STAR COL 1 6,1 LABEL YUL PLANT CREATE FLAG, LABEL & REPOSITION. 1611 TS ONES 6,2 DO BACKUP PREVENT ENDJOB AFTER BACKUP CREATION. # Page 81 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 41 PAGE 41 P1613 VARIATIONS ON ASSEMBLY FOR THE CASE OF ASSEMBLING A NEW PROGRAM (OR SUBROUTINE) AS A VERSION OF AN R1615 EXISTING ONE. ACTS LIKE REVISION EXCEPT THAT THE SOURCE PROGRAM (OR SUBRO) IS PRESERVED. AUTHOR MAY CHANGE. 1617 NEWVERS TS Z,SC Z,S2 DECOD PSR +1 DECODE PROG OR SUBRO NAME. 1619 TS Z,SC Z,X0 CUSS NAUT -1 DECODE AND STANDARDIZE AUTHOR NAME. 1621 TN 6,22 9 6,91 SAVE THESE QUANTITIES IN PARSED FORM. 1623 TS Z,SC Z,X1 RD SUBDRC 1624 S, MON TYPER VRSNS MSG SPRAMR +56 REJEC DIR CUSSABORT IF SUBDIRECTOR "FROM" MISSING. 1626 NA 6,16 W FROM C,-1 1627 TX L DIRECTY - Z,X1 1628 NA, BIT 9 SWITCH ZERO C,+4 BRANCH IF DOING A SUBROUTINE. 1630 LA, CAC3 1,9 L END THR C,+2 BRANCH IF THERE ARE NO DELETES WAITING. 1632 TS, BIT33 ZERO INIT X5 C,+2 COMPENSATE FOR ACTION OF GBR2 GBR3. 1634 WA INIT X5 TWO INIT X5 OTHERWISE CHANGE GB,R2 TO GB,R4. 1636 TS 6 COMMA 19 Z,X5 TASK OBJC BREAK DOWN AND RE-FORM SUBDIRECTOR. 1638 S, YUL TYPER TASK MSG AMTF +4 C,+1 1639 NA 6,19 W REVISON C,+4 BRANCH IF SOURCE PROG/SUB IS NEW. 1641 TX W NEW - 6,19 1642 WA 6,27 1 C6 6,21 CALL VERSION "NEW". 1644 TN 6,28 3 6,22 CLOSE UP SENTENCE TO SUIT. 1646 TN 6,91 9 6,25 SUPPLY PROG/SUB AND AUTHOR NAMES. 1648 WD Z,AU2 THREE Z,X4 MARK END OF REVISED SENTENCE. 1650 WA L OLD LINE SIX Z,S2 TYPE SYNTHETIC OBJECT MSG FROM OLD LINE. 1652 TS, BIT 12 ONES SWITCH 619 TO X5 C 1653 TS N,X5,2 COMMON PUT CHAR C 1654 TS Z,SC Z,S3 WRIT OBJC 1655 S, YUL TYPER OLD LINE +6 AMTF +6 C,+1 TYPE SYNTHETIC OBJECT MESSAGE. 1657 TN OLD LINE +5 6 OLD LINE +6 MOP UP THE AREA. 1659 S, MON TYPER W SOURCE C SPRAM +8 TYP ASOBJ JOIN REGULAR ASSEMBLY PROCEDURE. R1661 RETURN TO HERE IF WE CAN ASSEMBLE FOR THE NAMED COMPUTER. 1662 NEWVERS2 TS, BIT 2 ONES SWITCH KNOWN PSR CHECK PROG/SUB NAME, REVNO, AUTHOR, ETC. 1664 TS 6,91 PROG NAME SET REVN C RECOVER NEW PROGNAME, FORCE REVISION. 1666 TX 6,97 - AUTH NAME RECOVER AUTHOR NAME OF VERSION. 1668 TS 6,98 AUTH NAME +1 C,+3 1669 VERS PSQ TN VER PR MSG 3 SORS LINE +1 1670 TN VER SB MSG 3 SORS LINE +1 1671 SSL, ONE SWITCH 39 C,-2 C 1672 TN VERS LINE 3 N,AU2 1673 TN OBJCT MSG 7 N,AU2 1674 TN BLANKS 2 N,AU2 SET UP VERSION SOURCE LINE FOR PRINTER. 1676 TS BIT 10 SORS LINE NEW PRSUB GO JOIN PROCEDURE FOR NEW PROG/SUBRO. R16772 ROUTINE TO STARTLE THE OPERATOR AND GIVE HIM A MESSAGE. 16774 MESSAGE S, MON TYPER BLOTS SPRAMR +8 - MAKE STOMPING NOISE BEFORE AND AFTER. 16776 S, YUL TYPER 6,2 AMTF +9 C,+1 16778 S, MON TYPER BLOTS SPRA +8 NEX DIREC # Page 82 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 42 PAGE 42 P1678 PROCEDURES IN PASS 0 TO RESPOND TO A REQUEST TO CONTROL OR DECONTROL A SUBROUTINE. A CONTROLLED SUB- R1680 ROUTINE CANNOT BE REVISED OR DELETED. BOTH CONTROLLING AND DECONTROLLING REQUIRE A SUBDIRECTOR STARTING WITH R1682 THE WORD "AUTHORIZED", SO THAT THERE WILL BE A RECORD (ON THE CONSOLE TYPEOUTS) OF WHO DID IT. 1684 CONTROL TS W CONTROL TASK MSG TASK OBJC ANALYZE REST OF DIRECTOR CARD. 1686 SWS, C1T7 TASK MSG +1 A,1,L TASK MSG +1 1687 SWS, CHAR8 TASK MSG +2 A,1,L TASK MSG +1 1688 SWS, C1T7 TASK MSG +2 A,1,L TASK MSG +2 NORMALIZE TASK MESSAGE. 1690 TS, BIT 36 ONES SWITCH CON DECON SET UP FOR REDUNDANCY TEST. 1692 DECONTR TS W DECONTR TASK MSG TASK OBJC ANALYZE REST OF DIRECTOR CARD. 1694 SWS, ONES TASK MSG +2 A,1 TASK MSG +2 1695 SWS, CHAR1 TASK MSG +1 A,1 TASK MSG +2 1696 SWS, ONES TASK MSG +1 A,1 TASK MSG +1 1697 SS W DECONTR +1 CHAR 1 TASK MSG +1 NORMALIZE TASK MESSAGE. 1699 SM SWITCH B36T37 SWITCH SET UP FOR REDUNDANCY TEST. 1701 CON DECON TS Z,SC Z,X0 TYP TKOBJ TYPE TASK AND OBJECT MESSAGES. 1703 TS Z,SC Z,X1 RD SUBDRC 1704 S, MON TYPER AU SUB MSG SPRAMR +56 TYP ABORT REQUIRE "AUTHORIZED BY SOMEBODY" SUBDIR. 1706 NA 6,16 AUTHORYZ C,-1 1707 NA 6,17 AUTHORYZ +1 C,-2 1708 S, YUL TYPER 6,2 A +9 C,+1 TYPE OUT ENTIRE SUBDIRECTOR CARD. 1710 NA, BIT 9 SWITCH ZERO C,+2 1711 S, MON TYPER PRO CO MSG SPRAMR +32 TYP ABORT CUSS ATTEMPT TO CONTROL/DECONTROL PROG. 1713 TS L DIRECTY Z,X1 KNOWN PSR CHECK SUBRO NAME, REVNO, AUTHOR, ETC. 1715 NA, B36T37 4,1 SWITCH C,+3 BRANCH IF SUBRO ALREADY IN DESIRED STAT. 1717 HA 4,1 BIT 37 4,1 CONTROL OR DECONTROL SUBROUTINE. 1719 TS - - ACCEPT -2 1720 S, MON TYPER RDUND MSG SPRAMR +16 TYP ABORT R1721 SUBROUTINE IN PASS 0 TO PRESENT SUCCESSIVE SUBROUTINE CALL THREADS OF A PROGRAM OR SUBROUTINE. WITH R1723 THE ADDRESS OF THE PROG/SUBRO IN X2 AND BANK INDICATOR 7 IN X3 AND X4, FILL IN THE NO-MORE-THREADS DISPOSITION R1725 AT NO MO SUBS +1 AND ENTER AT SUB THRDS (AT 0,125 FROM ANOTHER BANK). SWITCH INTO COSEQUENCE FOR MORE CALLS. 1727 SUB THRDS SWS,THREAD11 2,1 24 Z,X3 C POINT TO FIRST SUBRO THREAD WORD. 1729 NA, BIT25 2.1 ZERO A THREAD C BRANCH IF THERE ARE ANY SUBCALL THREADS. 1731 TS - - NO MO SUBS C 1732 OP THREAD SWS,THREAD11 N,X3 0 Z,X3 C FOLLOW THREAD TO NEXT SUBRO THREAD WORD. 1734 SWS,THREAD10 N,X3 36 Z,X4 S PRESENT OP-FIELD THREAD. 1736 A THREAD SWS,THREAD10 N,X3 24 Z,X4 S PRESENT A-ADDRESS THREAD. 1738 TX BIT 13 - TEMP MASK C 1739 NA, TEMPMASK 3,0 ZERO NO MO SUBS C BRANCH IF A-ADDRESS THREAD WAS THE LAST. 1741 SWS,THREAD10 N,X3 12 Z,X4 S PRESENT B-ADDRESS THREAD. 1743 NA, BIT25 3,0 ZERO NO MO SUBS C BRANCH IF B-ADDRESS THREAD WAS THE LAST. 1745 LA, B37T48 3,0 THREAD 11 OP THREAD C BRANCH IF THERE IS ANOTHER THREAD WORD. 1747 SWS,THREAD10 N,X3 0 Z,X4 S PRESENT C-ADDRESS THREAD. 1749 NO MO SUBS SWS,THREAD10 2,1 0 Z,X4 C FOLLOW THREAD TO NEXT PROG/SUBRO. 1751 PR (TO BE FILLED IN AT FIRST CALL.) # Page 83 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 43 PAGE 43 P1753 PROCEDURE IN PASS 0 TO RESPOND TO A REQUEST FOR DELETION OF A PROGRAM OR SUBROUTINE. DETACHES THE R1755 PROGRAM OR SUBROUTINE NAME FROM ITS AUTHOR AND ITS COMPUTER, AND PUTS IT IN THE DELETE THREAD FOR DESTRUCTION ON R1757 THE NEXT ASSEMBLY. DOES NOT DELETE A CONTROLLED SUBROUTINE OR A SUBROUTINE THAT IS CALLED BY ANY PROG OR SUB. 1759 ELIM PR SU TS W DLETION TASK MSG TASK OBJC ANALYZE REST OF DIRECTOR CARD. 1761 TS Z,SC Z,X0 TYP TKOBJ TYPE TASK AND OBJECT MESSAGES. 1763 TS - - KNOWN PSR SEE IF PROGRAM OR SUBRO IS KNOWN. 1765 TN Z,X2 3 OBJCT MSG 1766 NA, BIT 36 4,1 ONES ELIMPROG NO RESTRICTIONS ON PROGRAM DELETION. 1768 NA, B36T37 4,1 ONES C,+3 1769 SS W DLETION CAC12 CONSU MSG +4 1770 S, MON TYPER CONSU MSG SPRAMR +40 TYP ABORT CUSS ATTEMPT TO DELETE CONTROLLED SUBRO. 1772 TX ZERO - COMMON INITIALIZE COUNT OF USERS OF SUBROUTINE. 1774 SWS,THREAD10 N,X0 12 Z,X2 POINT TO 1ST PROG/SUB OF THIS COMPUTER. 1776 DSUB LOOP TS N,SC,1 NO MO SUBS +1 SUB THRDS C START LOOKING AT SUBRO THREADS FROM 1778 TS Z,X4 Z,X2 DSUB TEST EACH PROGRAM AND SUBRO OF THE COMPUTER. 1780 NA Z,X4 OBJCT MSG +2 C,+2 BRANCH IF DIDN'T FIND USE OF THIS SUBRO. 1782 DA COMMON ONE COMMON COUNT UP THE NUMBER OF USERS. 1784 WD Z,SC THREE Z,SC C (REDUNDANT AFTER A MATCH, BUT NO HARM.) 1786 DSUB TEST NA Z,X2 L END THR DSUB LOOP BRANCH IF THERE IS ANOTHER PROG/SUBRO. 1788 TN OBJCT MSG 3 Z,X2 1789 LA COMMON ZERO DELETION AN UNUSED SUBROUTINE MAY BE DELETED. 1791 TN WREVN MSG +2 3 OBJCT MSG 1792 TN NUMUS MSG 3 WREVN MSG +2 1793 TS C,+1 2DIG REVN -1 BAD REVNO BORROW BAD-REVISION-NUMBER CUSSER. 1795 S, MON TYPER WREVN MSG +2 SPRAMR +24 C,+1 "NUMBER OF USERS = XXX". 1797 TN OBJCT MSG 3 WREVN MSG +2 1798 TS C,+1 2DIG REVN -1 TYP ABORT 1799 S, MON TYPER WREVN MSG SPRAMR +40 TYP ABORT R1800 DELETION PROCEDURE COMMON TO PROGRAMS AND SUBROUTINES: RELEASE ALL SUBRO THREAD WORDS, DETACH PROG/SUB NAME FROM R1802 AUTHOR'S LIST (DECREMENT HIS SCORE, DELETING HIM IF IT BECAME ZERO), DETACH PROG/SUB NAME FROM COMPUTER'S LIST, R1804 PUT THE COMPUTER NAME IN WITH THE PROG/SUB NAME, AND PUT THE MODIFIED ENTRY AT THE TOP OF THE DELETE LIST. 1806 DELETION TN OBJCT MSG 3 Z,X2 1807 NA, BIT25 4,1 ONES DE AUTHOR BRANCH IF NO SUBRO THREAD WORDS. 1809 SWS,THREAD11 4,1 24 Z,X3 POINT TO FIRST SUBRO THREAD WORD. 1811 TS Z,X3 Z,AU1 C,+2 C PREPARE TO RELEASE SUBRO THREAD WORD. 1813 TS Z,X5 Z,X3 C,-1 S SUPPLY ADDRESS OF NEXT ONE. 1815 SS N,X3 THREAD 11 Z,X5 C MAYBE FOLLOW THREAD TO NEXT SUB THRD WD. 1817 LA, B37T48 3,0 THREAD 11 GIVE SLOT C RELEASE NON-LAST SUB THRD WORD. 1819 TS Z,CSC Z,SC GIVE SLOT C RELEASE LAST SUBRO THREAD WORD. 1821 TX Z,X4 - Z,X5 DUPLICATE FINAL CONDITIONS OF KNOWN PSR 1823 TS OBJCT MSG +1 Z,X3 DE AUTHOR AND DO EFFECT OF DELETION ON AUTHOR. # Page 84 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 44 PAGE 44 P1825 WHEN AN OBSOLETE PROGRAM IS DELETED, ERASE THE OBSOLETING BITS IN ITS SUBROUTINES IF THEY PERTAINED ONLY TO THE R1827 PROGRAM BEING DELETED. THIS IS DONE IN TWO PHASES. PHASE 1: STARTING WITH OBSOLETE PROGRAMS, FOLLOW SUBRO CALL R1829 THREADS THAT HAVE OBSOLETING BITS AND PLANT OBSOLETING BITS ON THE SUBROUTINES SO INDICATED, MAKING THEM LOOK R1831 LIKE OBSOLETE PROGRAMS (TO A BIT 13 TEST). REPEAT THIS UNTIL A COMPLETE PASS THROUGH THE COMPUTER'S PROGRAMS R1833 AND SUBROUTINES IS MADE WITHOUT ADDING ANY OBSOLETING BITS. THE RESULT IS THAT ONLY THOSE SUBROUTINES THAT R1835 STILL CONTRIBUTE TO SOME PROGRAM'S OBSOLESCENCE ARE MARKED WITH A BIT 13. PHASE 2: MAKE ONE PASS THROUGH ALL R1837 THE SUBROUTINES, CLEARING THE OBSOLETING BITS OF SUBRO CALL THREADS OF UNMARKED SUBROUTINES, AND REMOVING THE R1839 MARKS FROM THE MARKED SUBROUTINES. 1840 ELIM PROG SWS, BIT36 4,1 23 SWITCH TRANSPLANT OBSOLESCENCE BIT. 1842 SS ZERO BIT 13 4,1 REMOVE IT FROM PROGRAM BEING DELETED. 1844 NA, BIT36 SWITCH ONES DELETION IF PROG WASN'T OBSOLETE, DON'T BOTHER. 1846 ND1 DELEP SWS,THREAD10 N,X0 12 Z,X2 POINT TO FIRST PROG/SUB OF COMPUTER. 1848 NA, BIT36 SWITCH ONES LP2 DELEP +1 BRANCH WHEN BIT-PLANTING PHASE IS DONE. 1850 TS, BIT36 ZERO SWITCH LP1 DELEP +1 START A PASS OF THE BIT-PLANTING PHASE. 1852 LP1 DELEP SWS,THREAD10 2,1 0 Z,X2 FOLLOW THREAD TO NEXT PROG/SUBRO. 1854 LA Z,X2 L END THR ND1 DELEP END OF PASS IF THREAD IS VOID. 1856 SSL, FOUR 2,1 33 LP1 DELEP TEST OBSOLESCENCE OR OBSOLETING BIT. 1858 TS Z,X4 Z,X2 LP1 DELEP +1 1859 TS C,-1 NO MO SUBS +1 SUB THRDS C CALL FOR SUBRO CALL THREADS OF PROG/SUB. 1861 WD Z,CSC ONE Z,AU1 1862 SS N,AU1 CHAR5 C,+1 USE SAME SHIFT COUNT THAT PRESENTED THR. 1864 SSL, ONE N,X3 C,+3 TEST OBSOLETING BIT OF CALL THREAD. 1866 SM 4,1 BIT 13 4,1 PLANT OBSOLETING BIT IN SUBROUTINE ENTR. 1868 SM SWITCH BIT 36 SWITCH CALL FOR ANOTHER PASS. 1870 WD Z,SC SIX Z,SC C GO AND ASK FOR ANOTHER THREAD. 1872 SSL, TWO 4,1 34 C,-3 TEST OBSOLETING BIT OF SUBROUTINE. 1874 OBSLING Q SWS,THREAD11 2,1 24 Z,X3 POINT TO 1ST SUBRO THREAD WD OF SUBRO. 1876 NA, BIT 25 2,1 ZERO C,+2 BRANCH IF THERE REALLY IS ONE. 1878 SS Z,SC,7 BIT 13 2,1 1880 SS ZERO B24 B36 N,X3 CLEAR OBSOLETING BITS OF THREAD WORD 1. 1882 SSL, ONE N,X3 11 C,+1 BRANCH IF THERE IS ONLY ONE THREAD WORD. 1884 TS Z,SC,2 - OP THREAD C GO AND GET NEXT SUBCALL THREAD WORD. 1886 SWS, ONE Z,SC,3 16 N,X3 CLEAR LAST OBSOLETING BIT, DO NEXT SUB. 1888 TS, P1T3AV ZERO 3,0 OP THREAD C CLEAR OBSOLETING BITS, GET NEXT THRD WD. 1890 SSL, TWO N,X3 10 C,-1 TEST FINAL-SUB-THREAD-WORD BIT. 1892 SS ZERO PAV BITS N,X3 CLEAR LAST OBSOLETING BITS, DO NEXT SUB. 1894 LP2 DELEP SWS,THREAD10 2,1 0 Z,X2 FOLLOW THREAD TO NEXT PROG OR SUB. 1896 LA Z,X2 L END THR DELETION BRANCH IF PHASE 2 OF OBS-BIT PROC DONE. 1898 NA, BIT36 2,1 ONES LP2 DELEP BRANCH IF PROGRAM, NOT SUBROUTINE. 1900 SSL, TWO 2,1 34 OBSLING Q TEST OBSOLETING BIT OF SUBROUTINE. # Page 85 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 45 PAGE 45 P1902 DETACH PROG/SUB NAME FROM AUTHOR AND COMPUTER LISTS, ADD TO DELETE LIST. 1903 DE AUTHOR LA 3,1 PLUS ZERO NOT 1(AU) BRANCH IF NOT 1ST IN AUTHOR'S LIST. 1905 SWS,ATHRED10 4,1 12,L 3,1 REMOVE FROM HEAD OF AUTHOR'S LIST. 1907 TS Z,X3 Z,X5 DECR AUTH LET X5 POINT TO AUTHOR NAME. 1909 NOT 1(AU) SS 4,1 B THRED 10 3,1 REMOVE FROM MIDST OF AUTHOR'S LIST. 1911 SWS,THREAD10 5,1 12 Z,X5 X4 AND X5 WERE EQUAL AFTER KNOWN PSR. 1913 LA 5,1 PLUS ZERO C,-1 LET X5 POINT TO AUTHOR NAME. 1915 DECR AUTH SWS,THREAD10 5,1 24 Z,X3 LET X3 POINT TO AUTHOR'S ACTIVEST PROG. 1917 TS PLUS ZERO COMMON LIVE AUTH +2 C STAY AWAY IF AUTHOR HAS MORE PROGRAMS. 1919 SWE, CAC3 1,9 16 Z,X6 AUTHOR HAS NO ACTIVE PROGRAMS OR SUBROU- 1921 NA Z,X6 Z,X5 AUDL SRCH TINES, SO DELETE HIS NAME. 1923 SWS,THREAD10 5,1 12 Z,X3 SEW UP AUTHOR NAME THREAD AROUND AUTHOR 1925 SWS, CAC2 Z,X3 16,L 1,9 WHO WAS FIRST IN THE DIRECTORY. 1927 TS - - DELE AUTH 1928 TX Z,X3 - Z,X6 1929 AUDL SRCH SWS,THREAD10 6,1 12 Z,X3 KEEPING X6 ONE CYCLE BEHIND X3, 1931 NA Z,X3 Z,X5 C,-1 FIND PRECEDING AUTHOR NAME. 1933 SS 5,1 B THRED 10 6,1 SEW UP THREAD AROUND AUTHOR. 1935 DELE AUTH SS 5,1 THREAD 11 Z,X6 LET X6 POINT TO 2ND HALF OF AUTHOR NAME. 1937 TS Z,X5 Z,AU1 GIVE PAIR C 1938 TS Z,X6 Z,AU1 GIVE SLOT C VACATE SPACE OCCUPIED BY DEFUNCT NAME. 1940 TS CHAR1 TEMP MASK SET DL THR GO TO PREPARE DELETE LIST. 1942 LIVE AUTH WA COMMON ONE COMMON COUNT UP AUTHOR'S SCORE (EASIEST WAY). 1944 SWS,THREAD10 3,1 12 Z,X3 1945 LA 3,1 PLUS ZERO LIVE AUTH THREAD UNTIL AUTHOR NAME FOUND AGAIN. 1947 LA, CAC3 COMMON D11 D12 C,+2 1948 SS D11 D12 CAC3 COMMON REDUCE ANYTHING OVER 254 TO 255. 1950 SPS,B1THRU12 COMMON 8 5,1 1951 TX CHAR1 - TEMP MASK 1952 SET DL THR SS PAR MANUF C1T4 B48 4,1 CLEAR LOW-ORDER BIT OF DELETE THREAD. 1954 SS N,X0 TEMP MASK 4,1 SUPPLY COMPUTER NAME FOR IMPROVED SERCH. 1956 SWE, C1T4 TEMP MASK A,1 TEMP MASK 1957 NA, TEMPMASK 0,0 BLANKS C,-2 1958 NA Z,X2 Z,X0 C,+3 BRANCH IF NOT 1ST IN COMPUTER'S LIST. 1960 SWS,BTHRED10 4,1 12,L N,X0 DETACH NAME FROM COMPUTER'S LIST. 1962 TS, CAC3 1,9 4,1 C,+2 THREAD THIS TO FORMER FIRST DELETE. 1964 TS, THREAD10 4,1 2,1 C,-1 DETACH NAME FROM COMPUTER'S LIST. 1966 SS Z,X4 CAC3 1,9 PUT THIS PROG/SUB AT TOP OF DELETE LIST. 1968 SSL, TWO TYPIST 28 C,+1 1969 NA, CHAR8 1,0 ZERO ACCEPT BRANCH IF SOME BACKUP ALREADY ORDERED. 1971 SS TWO CHAR8 N,X1 CALL FOR BACKUP LABEL AMENDMENT. 1973 ACCEPT S, YUL TYPER ACCEPTED AMTF +1 C,+1 TYPE ACCEPTANCE OF NAME. 1975 S, YUL TYPER BLANKS A +1 NEX DIREC # Page 86 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 46 PAGE 46 P1976 SUBROUTINE IN PASS 0 TO ANALYZE ALL BUT THE FIRST WORD OF A DIRECTOR CARD WHICH SPECIFIES A TASK TO R1978 BE DONE ON A SINGLE PROGRAM, SUCH AS ASSEMBLY, DELETION, MANUFACTURING, ETC. INITIALIZES VARIABLE ALPHABETIC R1980 FIELDS. SETS UP COMP NAME, PROG NAME, REVNO, AUTH NAME, TASK MSG, AND OBJCT MSG. SETS BITS 9 AND 10 OF SWITCH. R1982 PUTS THE SENTENCE INTO STANDARD FORM AND RETURNS ONLY IF IT IS SYNTACTICALLY CORRECT. 1984 MANUF OBJ TN W URING FO 2 TASK MSG +1 ENTRY WHEN TASK IS MANUFACTURING. 1986 TX BLANKS - TASK MSG +3 1987 TX N,SC,4 - PUT CN C6 ALTER AND GO TO MAIN PROCEDURE. 1989 TS L TKMSG P2 Z,S2 PUT CHAR +2 C 1990 CPUT CN C6 TS L TK MSG P1 Z,S2 PUT CHAR +5 C USED TO RESTORE ALTERATION. 1992 TASK OBJC SWE,ONES W FOR A,1 TASK MSG +1 1993 TN BLANKS 2 TASK MSG +2 SOME INITIALIZATIONS. 1995 TX Z,SH - Z,X0 1996 TX ZERO - SWITCH 19962 TX L SUBSTRB - Z,AU2 19964 MT ZERO 8 N,AU2,1 1997 TN BLANKS 15 OLD LINE +1 1998 TN BLANKS 8 PAGE HEAD +4 1999 TN BLANKS 7 OBJCT MSG 2000 TS Z,SC Z,S2 PROG ADJ DECODE "NEW","REVISION N OF"OR"VERSION". 2002 TS Z,SC Z,S2 DECOD CPN DECODE AND STANDARDIZE COMPUTER NAME. 2004 TN N,X5 3 6,16 MOVE COMPUTER NAME TO HEAD OF SENTENCE. 2006 TS 6,55 COMMON COVER UP C COVER ITS OLD PLACE IN THE LIST. 2008 TX COLON C1 - COMMON 2009 WA Z,X6 OCTAL 20 Z,S2 FORM ADDRESS EQUIVALENT TO 6,16. 2011 SSL, D12 6,18 12 PUT CHAR C APPEND COLON TO COMPITER NAME. 2013 TN 6,16 2 COMMON 2014 PUT CN C6 TS L TKMSG P1 Z,S2 PUT CHAR +5 C 1ST CHAR OF COMPUTER NAME TO TASK MSG. 2016 SWE, D12 6,18 12 Z,S0 COUNT OF CHARACTERS MINUS 1. 2018 TS Z,SC Z,S1 MOVE CARS MOVE REST OF COMPUTER NAME TO TASK MSG. 2020 TS Z,SC Z,S2 DECOD PSR DECODE "PROGRAM' OR "SUBROUTINE". 2022 NA N,X5 ONES C,+2 ABOVE ALSO STORED PROG OR SUBRO NAME. 2024 CUSS NAUT S, YUL TYPER NAUTH MSG AMTF +3 REJEC DIR COMPLAIN ABOUT MISSING AUTHOR NAME. 2026 TX Z,X5 - WHODUNIT 2027 NA N,X5,3 W BY HOWZAT REJECT IF THIS WORD IS NOT "BY". 2029 GO DO AUTH TS Z,SC Z,S3 DCOD AUTH DECODE AND STANDARDIZE AUTHOR NAME. 2031 WD 4,2 1 C6 4,2 USE DECREASED CHARACTER COUNT. 2033 TX L OBJC MSG - Z,S2 2034 619 TO X5 TX 6 COMMA 19 - Z,X5 OMIT COMPUTER NAME FROM OBJECT MESSAGE. 2036 TX N,X5,1 - COMMON 2037 SEND OBJC TS N,X5,1 Z,S3 PUT CHAR C OBJECT MESSAGE BEGINS WITH "NEW" OR 2039 TS Z,X0 Z,S3 WRIT OBJC "REVISION" AND ENDS WITH AUTHOR NAME. # Page 87 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 47 PAGE 47 P2041 SUBROUTINE IN PASS 0 TO CHECK A REQUEST FOR ACTION ON A KNOWN PROGRAM OR SUBROUTINE BY VERIFYING THAT R2043 THE COMPUTER NAME, PROGRAM OR SUBROUTINE NAME, REVISION NUMBER, AND AUTHOR NAME ARE MUTUALLY CONSISTENT. ALSO R2045 DELIVERS IN X0 THE ADDRESS OF THE COMPUTER NAME, IN X2 THE ADDRESS OF THE PRECEDING PROGRAM NAME FOR THE COMPU- R2047 TER, IN X3 THE ADDRESS OF THE PRECEDING PROGRAM BY THE AUTHOR, AND IN X4 THE ADDRESS OF THE PROG/SUBRO NAME. R2049 NOTE THAT IN THE CASE OF X2 AND X3, THE INDEX REGISTER IS SET TO THE ADDRESS OF THE COMPUTER NAME OR AUTHOR NAME R2051 RESPECTIVELY IF THERE IS NO PRECEDING PROGRAM. 2052 KNOWN PSR TS Z,SH WAUTH MSG +3 FIND COMP C 2053 S, YUL TYPER UNRCO MSG AMTF +4 TYP ABORT CUSS AND ABORT IF NO SUCH COMPUTER. 2055 TS Z,X0 Z,X4 FIND PROG C SEE IF NAME EXISTS AS EITHER PROG OR SR. 2057 SSL, TWO SWITCH 38 C,+2 CHOOSE PROGRAM OR SUBRO TEST IF FOUND. 2059 SSL, TWO SWITCH 38 C,+2 CHOOSE PROG OR SUBRO CUSS IF NOT FOUND. 2061 NA, BIT 36 3,1 ONES OK NOUN BRANCH IF DID AND SHOULD FIND PROGRAM. 2063 S, YUL TYPER UNRCP MSG AMTF +4 TYP ABORT CUSS UNRECOGNIZED PROGRAM NAME, ABORT. 2065 NA, BIT 36 3,1 ZERO OK NOUN BRANCH IF DID AND SHOULD FIND SUBRO. 2067 S, YUL TYPER UNRCS MSG AMTF +4 TYP ABORT CUSS UNRECOGNIZED SUBRO NAME, ABORT. 2069 SWE, B37T48 3,1 24 COMMON GET REVNO OF PROG/SUB WITH SUBROS. 2071 SWS,THREAD11 3,1 24 Z,X4 C 2072 SWE, B37T48 N,X4 36 COMMON GET REVNO OF PROG/SUB WITH NO SUBROS. 2074 OK NOUN SSL, ONE 3,1 23 OK NOUN -3 C SELECT REVNO-FETCHING METHOD. 2076 NA COMMON REVNO BAD REVNO BRANCH IF REVISION NUMBER DOESN'T MATCH. 2078 TN Z,X3 2 Z,X4 ADDRESS OF PROGRAM NAME TO X4, X5. 2080 SWS,THREAD10 3,1 12 Z,X3 THREAD TO NEXT PROGRAM BY SAME AUTHOR. 2082 LA 3,1 PLUS ZERO C,-1 REPEAT UNTIL AUTHOR NAME IS FOUND. 2084 SET LAUTH TX Z,X3 - L AUTH NAM 2085 SS 3,1 THREAD11 Z,X5 THREAD TO SECOND HALF OF AUTHOR NAME. 2087 NA N,X3 AUTHNAME RONG AUTH 2088 NA N,X5 AUTH NAME +1 RONG AUTH BRANCH IF AUTHOR NAME IS WRONG. 2090 SWS,THREAD11 3,1 24 Z,X5 THREAD TO 1ST PROG/SUB NAME IN AUTHLIST. 2092 TS Z,X0 L COMP NAM C,+3 SAVE ADDRESS OF COMPUTER NAME. 2094 TX Z,X5 - Z,X3 KEEP X3 ONE STEP BEHIND X5. 2096 SWS,THREAD10 5,1 12 Z,X5 THREAD TO NEXT PROGRAM OR SUB BY AUTHOR. 2098 NA Z,X5 Z,X4 C,-2 RPT TIL X5 POINTS TO THIS PROG/SUB NAME. 2100 TX WAUTH MSG +3 - Z,SC RETURN WHEN ALL IS WELL. 2102 RONG AUTH TX N,X3 - WAUTH MSG +3 TELL THE MAN THE CORRECT AUTHOR NAME. 2104 TX N,X5 - WAUTH MSG +4 2105 S, YUL TYPER WAUTH MSG AMTF +5 TYP ABORT 2106 BAD REVNO LA COMMON DEC 99 2DIG REVN PROCEDURE TO CUSS A WRONG REVISION NO. 2108 SWS, CHAR3 COMMON 22,L WREVN MSG +4 2109 SWS, ACH4 COMMON 20,L WREVN MSG +4 2110 SWS, ACH5 COMMON 18,L WREVN MSG +4 2111 S, MON TYPER WREVN MSG SPRAMR +40 TYP ABORT ANNOUNCE CORRECT ONE AND ABORT. 2113 2DIG REVN LA COMMON NINE 1DIG REVN 2114 SWS, CHAR3 COMMON 26,L WREVN MSG +4 2115 SWS, ACH4 COMMON 24,L WREVN MSG +4 2116 TS, CHAR5 BLANKS WREVN MSG +4 2DIG REVN -1 2117 1DIG REVN SWS, CHAR3 COMMON 30,L WREVN MSG +4 2118 TS, CHAR4 BLANKS WREVN MSG +4 1DIG REVN -1 # Page 88 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 48 PAGE 48 P2119 SUBROUTINE IN PASS 0 TO DECODE A PROGRAM OR SUBROUTINE ADJECTIVE AND SET BIT 10 OF THE SWITCH REG- R2121 ISTER ACCORDINGLY (0 IF NEW, 1 IF REVISION). THE ADJECTIVE IS EITHER "NEW" OR "REVISION N OF", WHERE N IS A R2123 DECIMAL NUMBER IN THE RANGE 0-999. THE VALUE OF THE REVISION NUMBER IS STORED IN RIGHT-JUSTIFIED DECIMAL IN R2125 REVNO, ZERO BEING USED AS THE REVISION NUMBER OF A NEW PROGRAM OR SUBROUTINE. ERROR EXITS ARE PROVIDED FOR ANY R2127 VIOLATION OF THESE CONSTRAINTS. WITH X5 SET TO THE FIRST WORD OF THE ADJECTIVE, ENTRY IS: R2129 TS Z,SC Z,S2 PROG ADJ 2130 TRANSFD Q NA N,X5 W TRANSFD SHUD B REV + 1 BRANCH IF ADJECTIVE ISN'T "TRANSFERRED". 2132 NA 5,1 W TRANSFD +1 HOWZAT 2133 SM SWITCH B2 B13 SWITCH SET SWITCHES FOR MERGING AND XFERRED IN. 2135 WD 4 C6 1 C6 5,2 2136 TS W NEW N,X5 C,+2 FOLLOW NEW ASSEMBLY PROCEDURE. 2138 PROG ADJ NA N,X5 W NEW SHUD B REV 2139 TX ZERO - REVNO REVISION NUMBER = 0 IF NEW. 2141 TS Z,X5,3 - N,S2 STEP WORD INDEX AND EXIT. 2143 SHUD B REV TS Z,X5 WHODUNIT TRANSFD Q IN CASE WORD IS NOT "REVISION", 2145 NA N,X5 W VERSION C,+3 "VERSION", OR "TRANSFERRED". 2147 NA TASK MSG W ASSMBLY HOWZAT 2148 NA 6,16 W FROM NEW VERS BRANCH ON RECOGNIZING VERSION ASSEMBLY. 2150 NA N,X5,1 W REVISON HOWZAT 2151 NA N,X5,2 BLANKS HOWZAT BRANCH IF WORD UNRECOGNIZED. 2153 CVRT REVN SWE, ONES 5,2 12 Z,S1 LENGTH OF REVISION NUMBER. 2155 LA FOUR Z,S1 LONG REVN FOUR AND UP IS ILLEGAL. 2157 LA, CHAR8 OCTAL 20 5,2 NDEC REVN ERROR IF REVISION NO. NOT HEX. 2159 WA L SIXES Z,S1 Z,S0 2160 WA N,X5 N,S0 COMMON ZERO LENGTH LOOKS NON-DECIMAL LENGTH 1. 2162 NA, DECTEST COMMON ZERO NDEC REVN ERROR IF REVISION NO. NOT DECIMAL. 2164 TS Z,X5,2 Z,X4 PHI A2D CONVERT ALF-DEC, USING S0, S3, R7. 2166 RESERVE 1 2167 NORM REVN NA, CHAR1 4,0 ZERO SAVE REVN 2168 LA ZERO C1 N,X4 SAVE REVN SUPPRESS LEADING ZEROS BUT LEAVE LONE 0. 2170 SWS, C1T7 N,X4 A,1,L N,X4 SIMULTANEOUSLY LEFT-NORMALIZE... 2172 TS Z,S1,1 - NORM REVN ...AND DECREMENT CHARACTER COUNT. 2174 SAVE REVN SWS, CHAR6 Z,S1 12,L N,X5,1 STORE ADJUSTED LENGTH. 2176 TX Z,X5 - WHODUNIT 2177 NA N,X5,3 W OF HOWZAT ERROR IF 3RD WORD IS NOT "OF". 2179 SET REVN SM SWITCH BIT 10 SWITCH SIGNIFY REVISION RATHER THAN NEW. 2181 TS NORM REVN -1 REVNO N,S2 FETCH DECIMAL REVISION NUMBER AND EXIT. R2183 PROCEDURE TO CUSS A REVISION NUMBER OF 4 OR MORE DIGITS. 2184 LONG REVN TN N,X5 2 LREVN MSG +3 2185 S, YUL TYPER LREVN MSG AMTF +5 REJEC DIR R2186 PROCEDURE TO CUSS A NON-DECIMAL REVISION NUMBER. 2187 NDEC REVN TX N,X5 - UDRVN MSG +3 2188 S, YUL TYPER UDRVN MSG AMTF +4 REJEC DIR # Page 89 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 49 PAGE 49 P2189 SUBROUTINE IN PASS 0 TO DECODE AND STANDARDIZE A COMPUTER NAME. THE WORD "MOD" IS IGNORED IF IT PRE- R2191 CEDES THE COMPUTER NAME. THE RAW NAME IS STORED IN COMP NAME. ERROR EXIT IF NAME IS MORE THAN 4 CHARACTERS R2193 LONG. IF THE NAME BEGINS WITH A DIGIT, IT IS SHIFTED RIGHT 4 CHARACTERS AND "MOD " INSERTED (IN THE SENTENCE R2195 ONLY, NOT IN COMP NAME). WITH X5 SET TO THE WORD IN THE SENTENCE, ENTRY IS: R2197 TS Z,SC Z,S2 DECOD CPN (THIS IS IN TRANSFER VECTOR AT 0,131.) 2199 DECOD CPN NA N,X5 W MOD C,+2 2200 TS 6,55 COMMON COVER UP C MOVE UP SENTENCE TO COVER "MOD". 2202 LA ONES N,X5 CUS NO COM BRANCH IF COMPUTER NAME IS MISSING. 2204 LA, CHAR6 5,2 4 C6 C,+3 2205 TN N,X5 2 LCPN MSG +3 2206 S, YUL TYPER LCPN MSG AMTF +5 REJEC DIR ERROR IF NAME LONGER THAN 4 CHARACTERS. 2208 TX N,X5 - COMP NAME 2209 NA COMP NAME BLANKS C,+2 2210 CUS NO COM S, YUL TYPER BLCPN MSG AMTF +3 REJEC DIR CUSS BLANK COMPUTER NAME AND ABORT. 2212 EX PAR MANUF C1T4 COMPUTER FORM UP A BLANKLESS COMPUTER NAME. 2214 SSL, SEVEN 5,2 12 C,+0 SELECT ON LENGTH OF COMPUTER NAME. 2216 TS, CHAR1 COMP NAME COMPUTER C,+4 2217 TS, CHAR2 COMP NAME COMPUTER C,-1 2218 TS, CHAR3 COMP NAME COMPUTER C,-1 2219 TS, CHAR4 COMP NAME COMPUTER C,-1 2220 SS BLANKS C5T8 N,X5 ENTER HERE FOR GENERAL COMPNAME FIXER. 2222 LA TEN C1 N,X5 N,S2 EXIT IF NAME DOES NOT BEGIN WITH DIGIT. 2224 MOD CHEK 3 LA, CHAR3 5,0 9 C3 C,+4 BUT EXIT IF 3RD CHARACTER IS ALSO DIGIT. 2226 SWS, ONES N,X5 A,4 N,X5 2227 SS W MOD C1T4 N,X5 2228 WA 5,2 4 C6 5,2 INSERT "MOD" AND ADJUST LENGTH. 2230 TX Z,S2 - Z,SC R2231 MINOR SUBROUTINE IN PASS 0 TO CLOSE UP THE SENTENCE SO AS TO COVER UP THE WORD JUST EXAMINED. ENTRY IS: R2233 TS 6,55 COMMON COVER UP C 2234 COVER UP IT 5,3 6,55 N,X5 C MOVE UP REST OF SENTENCE. 2236 MT ONES 2 N,AU2,1 C GUARANTEE END SIGNAL. 2238 TX COMMON - 6,55 RESTORE WORD REPLACED BY EOI AND EXIT. R2240 PROCEDURE TO CUSS AN UNRECOGNIZED WORD WHICH WAS SET UP BY PUTTING ITS ADDRESS IN WHODUNIT. (SEE XFER VECTOR). 2242 HOWZ THAT TN N,AU1 2 WUNRC MSG +3 2243 S, YUL TYPER WUNRC MSG AMTF +5 REJEC DIR # Page 90 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 50 PAGE 50 P2244 SUBROUTINE IN PASS 0 TO DECODE NOUN AND NAME. THE NOUN IS EITHER "PROGRAM" OR "SUBROUTINE". THE R2246 PROGRAM OR SUBROUTINE NAME IS STORED IN PROGNAME. ERROR EXIT IF NAME IS LONGER THAN 8 CHARACTERS. ENTRY IS: R2248 TS Z,SC Z,S2 DECOD PSR WITH X5 SET TO THE WORD IN THE SENTENCE. R2250 BIT 9 OF THE SWITCH REGISTER IS SET TO 0 IF PROGRAM OR 1 IF SUBROUTINE. 2251 DECOD PSR NA N,X5 W PROGRAM C,+2 2252 TS Z,X5,3 - WHAT PROG LEAVE SWITCH ALONE IF PROGRAM. 22532 NA N,X5 W SEGMENT C,+3 22534 SM SWITCH BIT 7 SWITCH SET SEGMENT FLAG AND TREAT LIKE PROGRAM. 22536 TS Z,X5,3 - WHAT PROG 2254 FINGER TX Z,X5 - WHODUNIT S 2255 NA N,X5,1 W SUBROTI HOWZAT 2256 NA N,X5,2 W NE HOWZAT BRANCH IF UNRECOGNIZED NOUN. 2258 SM SWITCH BIT 9 SWITCH 2259 WHAT PROG NA 5,1 BLANKS LONG PRGN BRANCH IF NAME IS TOO LONG. 2261 NA N,X5 BLANKS C,+2 2262 S, YUL TYPER BLPSN MSG AMTF +3 REJEC DIR CUSS BLANK PROGRAM/SUBRO NAME AND ABORT. 2264 TS N,X5,3 PROG NAME N,S2 STORE NAME AND EXIT. 2266 LONG PRGN TN N,X5 2 LPRGN MSG +3 2267 S, YUL TYPER LPRGN MSG AMTF +5 REJEC DIR CUSS NAME OF MORE THAN 8 CHARACTERS. R2269 ENTRIES TO ROUTINES IN SERVICE MODULE. 2270 DO BACKUP TS Z,SC Z,AU1 SERVICE 2271 PRINT PSR TS Z,SC,1 Z,AU1 SERVICE 2272 PUNCH PSR TS Z,SC,2 Z,AU1 SERVICE 2273 XFER PSR TS Z,SC,3 Z,AU1 SERVICE 2274 ADD COMP TS Z,SC,4 Z,AU1 SERVICE 2275 RMOV COMP TS Z,SC,5 Z,AU1 SERVICE 2276 PASS STAT TS Z,SC,6 Z,AU1 SERVICE 2277 MANU STAT TS Z,SC,7 Z,AU1 SERVICE R2279 GENERAL ENTRY TO SERVICE MODULE ROUTINES. 2280 SERVICE SWE, CAC3 BANK 1 32 Z,X0 2281 WD Z,SH Z,AU1 Z,AU1 2282 WA Z,AU1 L SERVICE Z,AU1 2283 TX N,AU1 - Z,SC # Page 91 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 51 PAGE 51 P2284 SUBROUTINE IN PASS 0 TO DECODE AN AUTHOR NAME AND STORE IT IN STANDARDIZED FORM IN AUTHNAME AND R2286 AUTHNAME+1 AND IN THE SENTENCE REPLACING THE FIRST WORD OF THE AUTHOR NAME. STANDARDIZING HERE MEANS CLOSING UP R2288 THE WORDS WITH ONLY THE NON-BLANK TERMINATORS INTERVENING. ERROR EXITS IF THE AUTHOR NAME IS MISSING OR IS R2290 LONGER THAN 16 CHARACTERS WHEN STANDARDIZED. WITH X5 SET TO THE FIRST WORD, ENTRY IS: R2292 TS Z,SC Z,S3 DCOD AUTH 2293 DCOD AUTH TX Z,X5 - Z,X4 SAVE LOCATION OF FIRST WORD. 2295 TX Z,X5,2 - Z,S2 SET UP ADDRESS FOR CLOSING UP. 2297 LA ONES N,X5 CUSS NAUT ERROR IF AUTHOR NAME IS MISSING. 2299 TS ZERO Z,R6 C,+2 INITIALLY CLEAR LENGTH COUNTER. 2301 HOW LONG WA Z,R6 ONE Z,R6 ADD LENGTH OF TERMINATOR. 2303 SWE, CHAR8 N,X5,3 12 COMMON 2304 NA COMMON ZERO C,+2 2305 S, YUL TYPER BAUTH MSG AMTF +4 REJEC DIR CUSS BLANK WORD IN AUTHOR NAME, ABORT. 2307 WA Z,R6 COMMON Z,R6 ADD LENGTH OF COMPONENT WORD. 2309 NA N,X5 ONES HOW LONG 2310 LA Z,R6 OCTAL 20 LAUTH OK 2311 S, YUL TYPER LAUTH MSG AMTF +3 REJEC DIR ERROR IF NAME MORE THAN 16 CHARACTERS. 2313 LAUTH OK TX Z,X4 - Z,X5 2314 LA ONES 4,5 SAVE AUTH BRANCH IF 1-WORD AUTHOR NAME. 2316 LA, CHAR6 4,2 7 C6 C,+2 2317 TX Z,S2,1 - - IF CLOSING-UP BEGINS IN WORD 2. 2319 TX 4,2 - COMMON 2320 SSL, SEVEN 4,2 12 PUT CHAR C MOVE TERMINATOR OF FIRST WORD. 2322 TS Z,X5,3 - CLOS AUTH +1 2323 CLOS AUTH TX N,X5,1 - COMMON C MOVE TERMINATOR CHARACTER. 2325 TN N,X5,2 2 COMMON 2326 SWE, CHAR8 N,X5 12 Z,S0 2327 TS Z,SC Z,S1 MOVE CARS +3 INSERT COMPONENT WORD. 2329 NA 5,3 ONES CLOS AUTH 2330 SWS, CHAR6 Z,R6 12,L 4,2 LENGTH OF STANDARDIZED NAME. 2332 SAVE AUTH TX N,X4 - AUTH NAME 2333 TS 4,1 AUTH NAME +1 N,S3 STORE AUTHOR NAME SEPARATELY AND EXIT. # Page 92 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 52 PAGE 52 P2335 SUBROUTINE IN PASS 0 TO MOVE PART OF A SENTENCE. ASSUMES A PREVIOUS ENTRY TO PUT CHAR AND STOPS R2337 AFTER MOVING THE WORD WHOSE ADDRESS IN X4, OR BEFORE IF THAT WORD HAS LENGTH 0. ENTRY IS: R2339 TS Z,SC Z,S3 WRIT OBJC 2340 WRIT OBJC SWE, CHAR8 N,X5,1 12 Z,S0 LENGTH OF COMPONENT WORD. 2342 TS Z,SC Z,S1 MOVE CARS MOVE ALL BUT 1ST CHAR OF WORD. 2344 TN N,X5 2 COMMON C MOVE 1ST CHARACTER OF NEXT WORD. 2346 NA Z,X5,2 Z,X4 WRIT OBJC 2347 SWE, CHAR8 N,X5 12 Z,S0 2348 LA Z,S0 ZERO N,S3 EXIT IF LAST WORD HAS ZERO LENGTH. 2350 TS Z,S3 Z,S1 MOVE CARS MOVE LAST WORD AND EXIT. R2352 SUBROUTINE IN PASS 0 TO MOVE THE CHARACTERS OF A WORD, ASSUMING A PREVIOUS EBTRY TO PUT CHAR. WITH R2354 THE WORD IN COMMON AND COMMON+1 AND THE FIRST CHARACTER MOVED, ENTRY IS: R2355 TS Z,SC Z,S1 MOVE CARS 2356 MOVE CARS SWS, ONES COMMON A,1,L COMMON 2357 SWS, ONES COMMON +1 A,1,L COMMON +1 2358 SS COMMON +1 CHAR8 COMMON SHIFT COMMON AND COMMON+1 LEFT 1 CHAR. 2360 SS BLANKS CHAR8 COMMON +1 C MOVE ONE CHARACTER. 2362 NA Z,S0,1 ONE MOVE CARS 2363 TX Z,S1 - Z,SC R2364 MINOR SUBROUTINE TO POSITION YULPROGS JUST AFTER THE LABEL. ENTER AT POSIT YUL IN TRANSFER VECTOR. 2366 POSIT REW TS Z,X0 Z,S2 PHI TAPE SAVE X0. 2368 RW,1 - - - (USUALLY SUPERFLUOUS). 2370 TS L STOPPER Z,X0 PHI TAPE 2371 RF,1 0,0 - - 2372 TS Z,S2 Z,X0 PHI TAPE RESTORE X0. 2374 RF,1 - - - 2375 TX Z,S3 - Z,SC # Page 93 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 53 PAGE 53 P2376 SUBROUTINE IN PASS 0 TO FIND AN AUTHOR NAME IN THE YUL FILE DIRECTORY. WITH THE NAME IN AUTHNAME, R2378 ENTRY IS TS ONES 1,6 FIND AUTH C RETURNS TO L+2 WITH ADDRESS OF AUTHOR R2380 NAME IN X3 IF FOUND, OR TO L+1 WITH ADDRESS OF NEXT ALPHA-EARLIER AUTHOR NAME IN X5 (N,X5 = 1,6 IF NONE) IF NOT. 2382 FIND AUTH SWE, CAC3 1,9 16 Z,X3 C ADDRESS OF ALPHA-EARLIEST NAME. 2384 TS L END THR Z,X5 C,+2 C INITIALIZE ADDR OF PREVIOUS NAME. 2386 SWS,THREAD10 3,1 12 Z,X3 C FOLLOW THREAD TO NEXT NAME. 2388 LA AUTH NAME N,X3 PLAC AUTH C BRANCH WHEN THIS NAME NOT GREATER. 2390 TS Z,X3 Z,X5 C,-2 C UPDATE ADDR OF PREVIOUS NAME. 2392 PLAC AUTH LA N,X3 AUTH NAME C,+2 C BRANCH ON EQUALITY OF 1ST 8 CHARACTERS. 2394 TX - - - OTHERWISE EXIT ON NO MATCH. 2396 TX Z,X3 - Z,AU1 C 2397 SS 3,1 THREAD 11 Z,AU1 C ADDR OF 2ND 8 CHARS OF FOUND NAME. 2399 NA N,AU1 AUTH NAME +1 C,+2 C BRANCH IF MATCH FAILS ON 2ND HALF. 2401 TX Z,SC,1 - - EXIT SKIPPING WHEN NAME IS FOUND. 2403 LA N,AU1 AUTH NAME +1 PLAC AUTH -1 C LOOK AGAIN WHEN FOUND NAME SMALLER. 2405 TX - - - R2406 SUBROTUINE IN PASS 0 TO INCLUDE THE AUTHOR NAME GIVEN IN AUTHNAME IN THE YUL FILE DIRECTORY. ENTRY: R2408 TS ... ... ADD AUTHR WITH X5 SET UP BY FIND AUTH. RETURNS R2410 WITH ADDRESS OF AUTHOR NAME IN X3. 2411 ADD AUTHR TS Z,SH Z,S3 FIND PAIR C FIND 2 CONSECUTIVE UNUSED LOCATIONS. 2413 TX AUTH NAME - N,X3 STORE 1ST HALF OF NAME. 2415 TX PLUS ZERO - 3,1 FLAG TO SIGNIFY AUTHOR, NOT PROG OR SUB. 2417 SWS,ATHRED10 Z,X3 24,L 3,1 PROGRAM THREAD OF BARREN AUTHOR TO SELF. 2419 NA Z,X5 L END THR 2ND AUTHR BRANCH IF NOT ALPHA-EARLIEST AUTHOR. 2421 SWS,BTHRED10 1,9 4 3,1 INSERT AT HEAD OF LIST. 2423 SWS, CAC2 Z,X3 16,L 1,9 2424 TS Z,SC,3 - FIND SLOT C FIND A SINGLE UNUSED LOCATION. 2426 2ND AUTHR SS 5,1 BTHRED10 3,1 INSERT NEW NAME IN LIST IN ALPHABETICAL 2428 SWS,BTHRED10 Z,X3 12,L 1,9 ORDER. 2430 TS - - FIND SLOT C FIND A SINGLE UNUSED LOCATION. 2432 SS Z,X5 THREAD 11 3,1 SET THREAD TO 2ND HALF OF NAME. 2434 TS AUTH NAME +1 N,X5 N,S3 STORE SECOND HALF OF NAME AND EXIT. # Page 94 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 54 PAGE 54 P2436 SUBROUTINE IN PASS 0 TO FIND THE ADDRESS OF A SINGLE UNUSED LOCATION IN THE YUL FILE DIRECTORY. IF R2438 THERE ARE NO INTERNAL SLOTS (AS FROM AN EARLIER DELETION), THE DIRECTORY IS LENGTHENED BY 2 WORDS, ONLY THE R2440 FIRST BEING RESERVED. ENTER BY COSEQUENCE CALL TO FIND SLOT . THE ADDRESS IS RETURNED IN X5. 2442 FIND SLOT SWE, CAC3 1,8 32 Z,X5 C SET UP ADDRESS IF INTERNAL. 2444 NA Z,X5 L END THR NOT ADD1 C BRANCH IF AN INTERNAL LOCATION. 2446 TX 1,8 - Z,X5 C USE END OF DIRECTORY AS ADDRESS. 2448 EX 1,8 CAC1 5,1 C THREAD FOLLOWING LOCATION INTO LIST. 2450 WA 1,8 ONE 1,8 C 2451 SWS, CAC1 1,8 32,L 1,8 C NEW SLOT HEADS THE LIST. 2453 WA 1,8 ONE 1,8 FINISH LENGTHENING AND EXIT. 2455 NOT ADD1 SS N,X5 CAC1 1,8 C DELETE LOCATION FROM LIST. 2457 EX Z,X5 CAC3 M1 Z,R5 C SET UP TO SEE IF A PAIR IS AFFECTED. 2459 TS 1 COMMA 8 Z,X2 PAIR SRCH +4 C ADDRESS OF INITIAL THREADS. 2461 PAIR SRCH SWE, CAC3 N,X2 16 Z,X2 C FOLLOW THE THREAD THROUGH PAIR LIST. 2463 NA Z,X2,1 Z,R5 C,+2 C BRANCH IF PAIR NOT CONTAIN THIS SLOT. 2465 SS N,X2 CAC2 N,X4 SEW UP GAP AROUND PAIR, EXIT. 2467 LA ONES N,X2 N,SC,1 C EXIT IF END OF PAIR LIST. 2469 TS Z,X2 Z,X4 PAIR SRCH C UPDATE ADDRESS OF PREVIOUS PAIR. R2471 MINOR SUBROUTINE IN PASS 0 TO TYPE OUT A TASK MESSAGE, SUCH AS "ASSEMBLY FOR MOD 3C", AND THE OBJECT R2473 OF THE TASK, SUCH AS "NEW PROGRAM BUGGY BY JOE BLOW". R2474 ENTRY IS TS Z,SC Z,X0 TYP TKOBJ 2475 TYP TK OBJ S, YUL TYPER TASK MSG AMTF +4 C,+1 2476 S, YUL TYPER OBJCT MSG A +7 0,0 R2477 SUBROUTINE IN PASS 0 TO VACATE A PAIR OF WORDS IN THE DIRECTORY. CSC CALL WITH ADDRESS IN AU1. R2479 ENTER AT 0,133 IN TRANSFER VECTOR. 2480 GIVE PR TX 1,8 - N,AU1 C MAKE 2ND WD POINT ALONG PAIR+SLOT LISTS. 2482 SWS, CAC1 Z,AU2 32,L 1,8 C 2483 SWS, CAC2 Z,AU2 16,L 1,8 C SET PAIR+SLOT POINTERS TO 1ST WD. 2485 SWS, CAC1 Z,AU1 32,L N,AU2 LET WD 1 POINT TO WD 2, EXIT. # Page 95 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 55 PAGE 55 P2487 SUBROUTINE TO FIND A COMPUTER NAME IN THE YUL FILE DIRECTORY. WITH NAME IN COMP NAME , ENTRY IS R2489 L TS ... ... FIND COMP C RETURNS WITH ADDRESS OF THE NEXT LOWER R2491 NAME IN R4 (OR ZERO IF NONE) AND WITH ADDRESS OF NAME (OR NEXT HIGHER IF NO MATCH) IN X0, TO L+2 IF NAME FOUND, R2493 OTHERWISE TO L+1. FIND COMP IS IN THE TRANSFER VECTOR AT 0,134. 2494 FIND CNAM SWE, CAC3 1,9 32 Z,X0 C GET THREAD TO 1ST COMPUTER NAME. 2496 TS ONES 1,6 C,+2 C SET UP LIMITING VALUE. 2498 SS N,X0 THREAD 10 Z,X0 C FOLLOW THREAD TO NEXT HIGHER NAME. 2500 LA, C1T4 COMP NAME 0,0 C,+2 C 2501 TS Z,X0 Z,R4 C,-2 C 2502 NA, C1T4 COMP NAME 0,0 C,+2 C 2503 TX Z,SC,1 - - EXIT SKIPPING IF NAME FOUND. 2505 NEWP FITS TS - - - EXIT WHEN NAME NOT FOUND. R2507 SUBROUTINE TO FIND A PROGRAM OR SUBROUTINE NAME IN THE DIRECTORY. WITH NAME IN PROG NAME , ENTRY IS R2509 L TS ... ... FIND PROG C IF NAME IS FOUND, RETURN IS TO C+1 WITH R2511 LOCATION IN X3 AND LOCATION OF PRECEDING NAME IN X2. IF NOT FOUND, RETURN IS TO L+2 WITH B7,6 IN X3 AND LOCA- R2513 TION OF LAST PROGRAM NAME IN X2. 2514 FIND PROG TX Z,X0 - Z,X2 C 2515 TX Z,X0 - Z,X3 C TO SET BANK INDICATOR AND BIT 48. 2517 SWS,THREAD10 N,X0 12 Z,X3 C THREAD TO FIRST PROGRAM. 2519 TS PROG NAME 1,6 C,+3 C ENSURE APPARENT FINDING ANYWAY. 2521 TX Z,X3 - Z,X2 C 2522 SS 2,1 THREAD 10 Z,X3 C PROGRAM-TO-PROGRAM THREAD. 2524 NA N,X3 PROG NAME C,-2 C 2525 TX ONES - 1,6 C RESTORE END-OF-LIST SENTINELS. 2527 NA 3,1 ONES N,SC,1 C EXIT IF REALLY FOUND. 2529 TX Z,SC,1 - - EXIT SKIPPING IF NOT FOUND. R2531 MINOR SUBROUTINE IN PASS 0 TO LABEL YULPROGS. ENTER AT LABEL YUL IN TRANSFER VECOTR. 2533 LABL TEST NN NON WISE ZERO TYP NON YS TYPE COUNT OF NON-YUL-DIRECTORS IF NZ. 2535 SS N,X1 BIT 35 FRAME 2536 SS ZERO BIT 35 N,X1 REMOVE TAPE PUNCH CALL BIT FROM LABEL. 2538 TX 1,8 - Z,SH 2539 CC N,X1 - N,SH 2540 TS 1,1 FIX SNACH +1 PHI LABEL ORTHOCOUNT AND WRITE YULPROGS LABEL. 2542 WF,1 1,0 - - 2543 TS 1,2 FIX SNACH +2 PHI SNACH UNDO APPARENT TYPE-3-DISPOSITION SNATCH 2545 FIX SNACH ALF,3 N00<0:01YULPROGS CAUSED BY LABELING. 2547 SS FRAME BIT 35 N,X1 2548 TS Z,X5 Z,S3 POSIT REW POSITION AFTER LABEL AND RETURN. # Page 96 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 56 PAGE 56 P2550 SUBROUTINE TO FIND THE ADDRESS OF AN UNUSED WORD PAIR IN THE YUL FILE DIRECTORY. ENTRY IS R2552 L TS ... ... FIND PAIR C RETURNS WITH ADDRESS IN X3. 2554 FIND PAIR SWE, CAC3 1,8 16 Z,X3 C GET ADDRESS OF FIRST UNUSED PAIR. 2556 NA Z,X3 L END THR NOT ADD 2 C BRANCH IF ADDRESS NOT VACUOUS. 2558 TX 1,8 - Z,X3 C THUS UNUSED PAIR IS AT END OF THE FILE. 2560 WA 1,8 TWO 1,8 LENGTHEN END MARKER ACCORDINGLY, EXIT. 2562 NOT ADD2 TS 1 COMMA 8 Z,X4 C,+2 C A WORD PAIR IS ALSO TWO SINGLETONS. 2564 TX Z,X2 - Z,X4 C 2565 SWE, CAC3 N,X4 32 Z,X2 C THREAD UNTIL FIRST SINGLETON. 2567 NA Z,X2 Z,X3 C,-2 C 2568 WA Z,X3 ONE Z,R3 C FORM ADDRESS OF SECOND SINGLETON. 2570 SS N,X2 CAC1 N,X4 C SEW UP GAP AROUND 1ST SINGLETON. 2572 TS 1 COMMA 8 Z,X4 C,+2 C RESET SINGLETON THREAD. 2574 TX Z,X2 - Z,X4 C 2575 SWE, CAC3 N,X4 32 Z,X2 C THREAD UNTIL 2ND SINGLETON. 2577 NA Z,X2 Z,R3 C,-2 C 2578 SS N,X2 CAC1 N,X4 C SEW UP GAP AROUND 2ND SINGLETON. 2580 SS 3,1 CAC2 1,8 SEW UP GAP AROUND PAIR AND EXIT. R2582 SUBROUTINE IN PASS 0 TO VACATE A WORD IN THE DIRECTORY. COSEQUENCE CALL WITH ADDRESS IN AU1. 2584 GIVE SLOT SS 1,8 CAC1 N,AU1 C MAKE WORD POINT ALONG SLOT LIST. 2586 SWS, CAC1 Z,AU1 32,L 1,8 C SET SLOT POINTER TO WORD. 2588 HA Z,AU1 ONE Z,AU2 C FORM ADDRESSES OF OTHER HALF OF PAIR. 2590 SWE, CAC3 N,AU1 32 Z,AU1 C FOLLOW THE SLOT THREAD. 2592 LA ONES N,AU1 N,SC,1 C EXIT WHEN WORD IS NOT PART OF VOID PAIR. 2594 NA Z,AU1 Z,AU2 C,-2 C FALL THRU IF OTHER HALF IS VACANT. 2596 SS ZERO ONE Z,AU1 C 2597 SM Z,AU2 ONE Z,AU2 C FORCE ORDER OF ADDRESSES IN AU1, AU2. 2599 SS 1,8 CAC2 N,AU2 C 2600 SWS, CAC2 Z,AU1 16,L 1,8 INCLUDE PAIR IN PAIR LIST AND EXIT. # Page 97 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 57 PAGE 57 P2602 ROUTINE TO RESPOND TO REQUESTS TO MANUFACTURE AN EXISTING PROGRAM. LOOKS ON DISC FOR THE SPECIFIED R2604 REVISION; IF LATEST WAS SPECIFIED AND IS NOT ON DISC, USES TAPE. ABORTS IF SPECIFIED REVISION IS UNMANUFACTUR- R2605 ABLE. IF ALL IS WELL, LOADS THE MANUFACTURING PROGRAM FOR THE NAMED COMPUTER. 2606 MANUFACT TS NEXT NAME SERCH KEY TAPE SRCH -1 C SET GRP B TO SEARCHING FOR END SYLT. 2608 TS W MNUFACT TASK MSG MANUF OBJ BREAK DOWN AND REFORM REST OF DIRECTOR. 2610 TS CAC3 SYMS OR NO ELIM PR SU +1 C ASSUME NO SYM TAB CALL, TYPE TASK, OBJ. 2612 TS CPUT CN C6 PUT CN C6 FIND COMP C SEEK COMPUTER NAME IN DIRECTORY. 2614 S, YUL TYPER UNRCO MSG AMTF +4 TYP ABORT CUSS AND EXIT IF NOT THERE. 2616 SSL, ONE 0,1 0 C,+1 CAN WE MANUFACTURE FOR THIS COMPUTER... 2618 S, YUL TYPER N MANU MSG AMTF +5 TYP ABORT CUSS AND EXIT IF NOT. 2620 TS C,+1 TYP ABORT SAY ABORT +1 26201 TS TYP WREVN 2DIG REVN -1 C,+1 ABORT MUST RESTORE REVISION-NO. CUSSER. 26203 TX SAY ABORT - TYP ABORT S ..AND THEN RESTORE ITSELF. 26205 SAY ABORT S, MON TYPER Y ABORT SPRAMR +16 TYP BORTA 26206 TS C,+1 2DIG REVN -1 TYP WREVN +1 26207 TS SAY ABORT TYP ABORT C,+1 WRONG-REV-NO. MUST RESTORE ABORT. 26209 TX TYP WREVN - 2DIG REVN -1 S ..THEN RESTORE ITSELF.. 26211 LA REVNO COMMON OK NOUN +2 ..AND SEE IF REVNO IS REALLY OK FOR MFG. 26213 TYP WREVN S, MON TYPER WREVN MSG SPRAMR +40 TYP ABORT FALL INTO HERE IF SPEC. REVNO TOO BIG. 26215 NA, BIT 9 SWITCH ONES C,+2 26216 S, MON TYPER MANSU MSG SPRAMR +40 TYP ABORT CUSS AND EXIT IF ASKED TO MANUF SUBRO. 26218 TS Z,X0 L COMP NAM KNOWN PSR RETURNS IF THE SPECIFIED REVISION NUMBER 2622 SWE, ONES REVNO D,4,L PHI ARG IS LESS THAN OR EQUAL TO THE LATEST. 26222 TS Z,SC Z,AU1 YUL D2A ZS 26223 SM COMPUTER PHI ARG TRONDEX 26224 SWS, CHAR5 1,1 A,4 TRONDEX FORM FIRST WORD OF REQUIRED DISC NAME. 26226 TS ONES TRONDEX +2 SAY ABORT -1 C RESTORE ABORT AND WRONG-REVISION-NO.... 26228 TS ZERO COMMON +1 TYP WREVN -2 C ...AND INITIALIZE LOG-NUMBER LOCATIONS. 2623 LA COMMON REVNO MANU SEEK BRANCH IF LATEST REVISION WAS SPECIFIED. 26232 SWS, C3T5 TRONDEX A,3,L WREVN MSG +4 26234 NA, CHAR3 WREVN MSG +4 ZERO C,+2 26235 SWS, C3T5 WREVN MSG +4 A,1,L WREVN MSG +4 26236 NA, CHAR3 WREVN MSG +4 ZERO C,+2 26237 SWS, C3T5 WREVN MSG +4 A,1,L WREVN MSG +4 LEFT-NORMALIZE AND ZERO-SUPPRESS. 26239 S, MON TYPER OLRVN MSG SPRAM +16 - 2624 S, MON TYPER WREVN MSG +4 SPRA +8 - "OLD REVISION NO.: NN ". 26242 LA, CHAR5 ONES DISC STAT C,+2 26243 S, MON TYPER ND NMF MSG SPRAMR +40 TYP ABORT WITHOUT DISC, REFUSE TO MANUF OLD REV. # Page 98 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 58 PAGE 58 P26245 SEARCH THROUGH THE DISC INDEX FOR THE PROGRAM FILE FOR THE THE SPECIFIED REVISION WITH THE HIGHEST LOG NUMBER. 26247 MANU SEEK TS PROG NAME TRONDEX +1 DISCAP C 26248 OCT -15 26249 SPEC TRONDEX 2625 TS Z,X4 L PROG FIL GOOD SEEK GOT ONE. NOW, IS IT THE RIGHT ONE? 26252 NA COMMON -1 ZERO GOT BINF BRANCH IF WE GOT A FILE AS SPECIFIED. 26254 LA COMMON REVNO C,+2 BR IF LATEST IS WANTED BUT NOT ON DISC. 26256 S, MON TYPER NTHIS MSG SPRAMR +16 TYP ABORT "NOT ON THIS DISC". 26258 LA, C7T8 BIT 37 4,1 MANU TAPE IF LATEST REV IS GOOD, MANUF FROM TAPE. 2626 S, MON TYPER DR UMA MSG SPRAMR +40 TYP ABORT CUSS AND EXIT IF UNMANUFACTURABLE. 26262 GOOD SEEK NA, C7T8 TRONDEX +3 YUL FILE MANU SEEK TRY AGAIN IF WRONG TYPE (DISABLED, E.G.) 26264 LA TRONDEX +2 COMMON +1 MANU SEEK TRY AGAIN IF NOT A HIGHER LOG NUMBER. 26266 TS TRONDEX +2 COMMON +1 MANU SEEK RECORD HIGHER LOG NUMBER, TRY AGAIN. 26268 GOT BINF TS COMMON +1 TRONDEX +2 DISCAP C 26269 OCT -1 2627 SPEC TRONDEX GET BACK WHOLE INDEX ENTRY FOR WINNER. 26272 NA, C7T8 TRONDEX +3 YUL FILE DISASTER (IF LOG NUMBERS ARE REALLY SCREWED UP). 26274 LA BIT 1 TRONDEX +11 GOOD SEEK -1 CUSS AND EXIT IF UNMANUFACTURABLE. 26276 S, MON TYPER FDISC MSG SPRA +16 - "FOUND ON DISC ". 26278 SWE, C5T8 TRONDEX +5 24 COMMON +1 SAVE LOG NUMBER OF LAST REFERENCE. 2628 EX TRONDEX +5 C5T8 TRONDEX +5 26281 SWE, C5T8 YUL LOG 24 COMMON 26282 DS COMMON COMMON +1 COMMON COMPUTE PERIOD OF IDLENESS. 26284 LN FIFTY COMMON NO NEW CWD NO NEW CHARLIE-WORD IF VERY SHORT. # Page 99 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 59 PAGE 59 P262852 COMPUTE THE DECAY OF THE CHARLIE-WORD (A FIGURE OF MERIT, NAMED FOR ITS DESIGNER, CHARLES P. WERNER) SINCE THE R262854 LAST USE OF THIS FILE, APPLYING A FACTOR OF 0.8465 FOR EVERY 1000 LOG NUMBERS OF IDELNESS. THEN ADD 2500 AND R262856 APPLY A LIMIT OF 10000, SO THAT THE FILE DOES NOT LONG OUTLIVE ITS LAST USE. 26286 DM TRONDEX +5 CW FACTOR TRONDEX +5 26287 DS COMMON THOUSAND COMMON 26288 LN COMMON ZERO C,-2 APPLY EXPONENTIAL DECAY FOR IDLENSS. 2629 DA TRONDEX +5 CHAS 2500 TRONDEX +5 26291 LA TRONDEX +5 DEC 10000 C,+2 26292 TX DEC 10000 - TRONDEX +5 APPLY LIMITED REWARD FOR INDUSTRY. 26294 NO NEW CWD TS, C1T4 YUL LOG TRONDEX +5 DISCAP C APPLY CURRENT LOG NUMBER AND REWRITE. 26296 OCT -12 26297 SPEC TRONDEX 26298 SWE, ONES TRONDEX +6 24 TRONDEX +6 ALIGN DISC ADDRESS OF FIRST SUBFILE. 2630 TX ZERO - SRCH TEST WIPE OUT SEARCH UP TAPE... 26302 NA SERCH KEY EOR C,-1 ...AND WAIT FOR IT TO ABORT. 26304 TS FOUND BUF +1 Z,X5 PHI TAPE FETCH BUFFER NAME AND REWIND TAPE. 26306 RW,1 - - - 26307 S, DISC READ 5,3 CHK DF ERR +4 TRONDEX +6 READ AUTHMEMO RECORD OF PROGRAM. 26309 S, MON TYPER DF ERR MSG SPRAM +16 MDF ERROR CUSS AND EXIT IF FILE IS UNREADABLE. 2631 TX W AUTHMEM - 5,2 26311 TX PROG NAME - 5,1 GOOD READ: FILL OUT FIRST THREE WORDS. 26313 TS COMPUTER N,X5 C,+2 26314 MANU TAPE TX ZERO - TRONDEX +6 NO DISC ADDRESS MEANS MANUF FROM TAPE. 2634 SS 0,1 THREAD 10 Z,X0 2635 TX CHAR 1 - TEMP MASK 26355 TX PAR MANUF - COMMON 2636 SS N,X0 TEMP MASK COMMON FORM NAME OF MANUFACTURING 2638 SWE, C1T4 TEMP MASK A,1 TEMP MASK PROGRAM FOR THIS COMPUTER. 2640 NA, TEMPMASK 0,0 BLANKS C,-2 2641 TS Z,SC Z,X1 RD SUBDRC GO TO SENTENCE-READ FIRST SUBDIRECTOR. 2643 S, YUL TYPER SD MIS MSG AMTF +3 TYP ABORT CUSS AND ABORT IF NO SUBDIRECTOR. 2645 SS W SOURCE C CHAR 6 LOAD PAS 1 SET TO BACK UP 21 PROGRAMS TO PASS 1. 2647 S, PHI LOAD COMMON 2 BASE ADDR LOAD AND GO TO MANUFACTURING PROGRAM. R26481 ROUTINE TO RESPOND TO AN OPERATOR'S REQUEST TO CLOSE THE MONAIN TAPE ON THE 2200 AND BEGIN PUNCHING OR WRITING. 26482 CLOS MONA TX Z,X5 - WHODUNIT 264821 NA N,X5,3 W MONAIN HOWZAT 26483 TX Z,X5 - WHODUNIT 264831 NA N,X5,3 W TAPE HOWZAT 26484 TX Z,X5 - WHODUNIT 264841 NA N,X5 ONES HOWZAT 26485 LA, CAC3 B36T37 1,0 C,+2 BRANCH IF THERE IS SOME MONAIN DATA. 26486 S, MON TYPER NO MDS MSG SPRAMR +24 REJEC DIR "NO MONAIN DATA STORED". 26487 SS ZERO BIT 35 N,X1 CLEAR MONAIN DATA PRESENCE BIT. 26488 S, MON PUNCH ZERO ATAPE PCH +40 ZERO SEND END-OF-JOB SIGNAL TO MONAIN. 26489 S, MON TYPER 22 OUT MSG SPRAMR +24 MANUF RTN "2200 READY TO DO MONAOUT". # Page 100 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 60 PAGE 60 P2649 SUBROUTINE TO SEARCH YULPROGS FOR A RECORD WHOSE SECOND WORD IS THE ARGUMENT PROVIDED IN SERCH KEY. R2651 WHEN FINISHED, WAKES GROUP A AND RESTORES THE END-OF-RECORD WORD TO SERCH KEY. YULPROGS IS POSITIONED AFTER THE R2653 RECORD FOLLOWING THE ONE THAT SATISFIED THE SEARCH. BOTH RECORDS ARE AVAILABLE IN MEMORY VIA X1 AND X2 OF GRP R2655 B. THE SEARCH MAY BE CUT OFF IN CASE OF ABORT BY PUTTING A PROCEED IN SRCH TEST. ENTER AT TAP SERCH IN TRANS- R2657 FER VECTOR, OR AT TAPE SRCH -1 WHEN THERE IS NO COMPUTER NAME. 2658 TS L SERVICE L COMP NAM TAP SERCH C USE 0000 FOR COMPUTER NAME IF NONE. 2660 TAPE SRCH WA Z,CSC ONE N,CSH C 2661 TS Z,SC Z,CSC MON WAKE C EXIT AND LET GROUP B CARRY ON. R2663 GROUP B ACTION BEGINS HERE. 2664 TX YUL MASKS - Z,MXR 2665 TN BUF NAMES +6 2 Z,X1 USE ASSEMBLY BUFFERS 7 AND 8. 2667 HA SERCH KEY ONES 2,1 ENSURE NO FALSE ALARM FIRST TIME. 2669 TS Z,X1 Z,X3 PHI TAPE 2670 RF,1 1,0 - DISASTER 2671 TN Z,X2 2 Z,X1 SWAP BUFFERS. 2673 SRCH TEST NA 1,1 SERCH KEY SRCH TEST -3 2674 LA SRCH TEST ZERO C,+3 SKIP OUT IF SEARCH WAS CUT OFF. 2676 LA N,X1 C5T8 C,+2 ASSUME AGREEMENT IF NO COMPUTER NAME. 2678 NA, C1T4 1,0 COMPUTER SRCH TEST -3 SEARCH AGAIN IF WRONG COMPUTER. 2680 SRCH DONE TS Z,X1 FOUND BUF PHI TAPE 2681 RF,1 - - - 26812 TX Z,X2 - FOUND BUF +1 2682 TS EOR SERCH KEY MON WAKE C SIGNAL SUCCESS OF SEARCH, WAKE GROUP A. 2684 TX Z,R0 - Z,SC GO TO BED UNTIL NEEDED AGAIN. R2686 PROCEDURE TO MAKE GROUP B APPEAR TO ANNOUNCE A TASK ABORTION. IF A SEARCH OF YULPROGS IS IN PROG- R2688 RESS, HALTS IT AND POSITIONS YULPROGS JUST AFTER THE LABEL. ENTRY IS IN TRANSFER VECTOR. 2690 TYP BORTA S, MON TYPER BLANKS SPRA +8 - 2691 TX ZERO - SRCH TEST 2692 NA SERCH KEY EOR C,-1 WAIT FOR SEARCH TO BE INTERRUPTED. 2694 TX FETCH SS1 - FETCH SSN RESTORE SUBSTRAND FETCHER. 2696 TX NO TP TASK - PNCH FRAM RESTORE TAPE PUNCHING TO INITIAL STATE. 2698 TS N,SC,1 SRCH TEST POSIT YUL RESTORE INSTRUCTION, POSITION YULPROGS. 2700 NA 1,1 SERCH KEY SRCH TEST -3 2701 TS YUL MASKS Z,MXR SET PG HED PROCEED TO NEXT TASK. # Page 101 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 61 PAGE 61 P2703 SUBROUTINE IN PASS 0 TO PEEK AT AND SENTENCE-READ CARDS. EXITS TO L+2 IF THE NEXT CARD IS A SUBDIRECTOR ("S" IN R2705 COLUMN 1), OR TO L+1 IF NOT. ENTER WITH L+1 IN X1 (CALLING FROM BANK 1) OR BY SEQUENCE CALL TO RD SBDIRC IN THE R2707 TRANSFER VECTOR. 2708 RD SUBDRC TX Z,MXR - Z,R6 2709 TS YUL MASKS Z,MXR NEX DIREC C 2710 TS PHI WAA Z,X4 PHI PEEK C PEEK AT NEXT CARD. 2712 NA, CHAR1 4,0 S COLUMN 1 NOT S CARD BRANCH IF NOT A SUBDIRECTOR. 2714 S, PHI READ 6,1 SET UP FOR SENTENCE READING. 2716 SET COL 81 TS ONES 6,11 PHI SENTR BREAK DOWN SUBDIRECTOR. 2718 TS Z,R6 Z,MXR 1,1 2719 NOT S CARD TS Z,R6 Z,MXR N,X1 NON-SKIPPING EXIT IN THIS CASE. R2721 MANUFACTURING SUBROUTINE IN PASS 0 TO WAIT FOR GROUP B TO FIND END SYLT, AND SET IT GOING ON A R2723 SEARCH FOR THE FIRST SUBSTRAND OF THE PROGRAM BEING MANUFACTURED. ENTER WITH RETURN IN X4 (BANK 1) OR BY SE- R2725 QUENCE CALL TO E SYLT OK IN THE TRANSFER VECTOR. ASSUMES THAT PROG NAME IS SET. ALTERABLE FOR SYMBOL TABLE. 2727 EN SYLT OK TX L GPB STT - Z,X3 2728 NA SERCH KEY EOR GROUP NAP SLEEP IF GB STILL SEEKING END SYLT. 2730 TX ZERO - SERCH KEY 2731 WA Z,SC ONE N,X3 2732 TS Z,X4 Z,SC MON WAKE C SET GB GOING AND EXIT. R2734 GROUP B ACTION AT END SYLT. 2735 E SYLT LUP TS Z,X1 Z,X3 RD PARAG 2740 NA 1,1 PROG NAME E SYLT LUP BRANCH IF NOT DESIRED PROGRAM. 2742 LA N,X1 C5T8 C,+2 ASSUME AGREEMENT IF NO COMPUTER NAME. 2744 NA, C1T4 1,0 COMPUTER E SYLT LUP LOOK AGAIN IF WRONG COMPUTER. 2746 LA SYMS OR NO 1,2 E SYLT LUP BRANCH IF NOT RIGHT TYPE OF RECORD. 2748 TS CAC3 SYMS OR NO SRCH DONE USE NORMAL END SEARCH PROCEDURE. R2752 MANUFACTURING SUBROUTINE IN PASS 0 TO FETCH A SUBSTRAND. ENTER WITH RETURN IN X4 (BANK 1) OR BY R2753 SEQUENCE CALL TO FETCH SS IN THE TRANSFER VECTOR. RETURNS TO L+2 IF THERE IS A SUBSTRAND, OTHERWISE TO L+1. 2754 FETCH SSN TS ZERO FETCH SSN AWAIT GB BRANCH IF GROUP B SEEKING FIRST SS. 27544 TS Z,MXR FETCH SSN YUL MASKR C 2755 TS Z,X1 Z,X3 RD PARAG 2756 AWAIT GB NA SERCH KEY EOR GROUP NAP SLEEP IF GB STILL SEARCHING. 2757 TX FOUND BUF - Z,X1 2758 TS FOUND BUF +1 Z,X2 PICK EXIT SET UP GROUP A INDEXES, GET SUBSTRAND. # Page 102 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 62 PAGE 62 P27585 SUBROUTINE TO READ THE AUTHMEMO RECORD, A SYMBOL TABLE RECORD, OR A PARAGRAPH FROM DISC OR TAPE AS REQUIRED. 2759 RD PARAG NA TRONDEX +6 ZERO C,+3 27592 NA 2,1 EOR FROM TAPE BRANCH IF USING TAPE, NOT DISC. 27594 TS EOR 1,1 FROM TAPE -1 SET UP SECOND EOF RECORD JUST IN CASE. 2760 WA TRONDEX +6 A4 MINUS 4 TRONDEX +6 ADD 4 TO DISC ADDR, SUB 4 FROM COUNT. 2762 NA, C7T8 TRONDEX +6 ZERO FROM DISC BRANCH UNLESS RECD WAS LAST OF SUBFILE. 2764 SWE, ONES TRONDEX +7 24 TRONDEX +6 MAYBE MOVE UP ADDRESS OF 2ND SUBFILE. 2766 NA TRONDEX +6 ZERO C,+2 BRANCH TO BEGIN 2ND SUBFILE. 2768 TS EOR 1,1 PROC DISC -1 END OF FILE. SEND LAST RECORD OF FILE. 2770 TX ZERO - TRONDEX +7 SHOW THAT WE ARE IN 2ND SUBFILE. 2772 FROM DISC S, DISC READ 1,3 CHK DF ERR +4 TRONDEX +6 READ A PARAGRAPH OF 256 WORDS. 2774 S, MON TYPER DF ERR MSG SPRAM +16 MDF ERROR 2775 TS PROG NAME 1,1 PROC DISC SUPPLY PROGRAM NAME AFTER GOOD READ. 2777 MDF ERROR S, MON TYPER TRONDEX SPRAM +16 - 2778 S, MON TYPER TRONDEX +2 SPRAMR +72 - CUSS UNREADABLE FILE (LOG NUMBER IN HEX) 2780 S, MON TYPER Y ABORT SPRAMR +16 MANUF RTN VARY NORMAL ABORT PROCEDURE. 27819 TS ONES 1,2 DISC CHEK 2782 PROC DISC WA Z,X2 C 259 Z,CSC 2783 CC N,X2 - N,CSC MOVE EOR TO RIGHT PLACE. 27831 NA 2,2 W AUTHMEM SYMBOLS Q BRANCH UNLESS ABOUT TO DELIVER AUTHMEMO. 27833 WA, C5T8 2,71 C 255 MID POINT 27834 SWE, CAC3 MID POINT 8 MID POINT FORM NUMBER OF SYMBOL TABLE RECORDS. 27836 TN 2,5 8 SUBSTRAB 27837 TS W SYMBLS 0 E SYLT BAN SYMBOLS Q +1 PREPARE TO SET UP TITLES ON SYM TAB RCS. 27839 SYMBOLS Q NA, C1T6 2,2 W SYMBLS 0 PARA LAST -1 BRANCH UNLESS DELIVERING SYM TAB RECORD. 27841 LA MID POINT ZERO PARA LAST +1 BRANCH IF NO MORE SYM TAB RECORDS. 27843 WD MID POINT ONE MID POINT COUNT DOWN SYMBOL TABLE RECORDS. 27845 WA E SYLT BAN ONE E SYLT BAN COUNT UP CHAR 8 OF "SYMBOLSN". 27847 TS E SYLT BAN 1,2 FROM TAPE -1 278478 LA ONES 1,2 FROM TAPE +2 BRANCH IF DELIVERING LAST PARAGRAPH. 27848 PARA LAST WA MID POINT ONE MID POINT ADVANCE PARAGRAPH NUMBER. 2785 SWE, LOW5 MID POINT 0 E SYLT BAN PARAGRAPH NUMBER WITHIN SUBSTRAB WORD. 27852 WD N,SC,2 E SYLT BAN E SYLT BAN COMPUTE SHIFT COUNT FOR SSL AND TAB. 27854 OCT -55 27855 PARAG YES TS MID POINT 1,2 FROM TAPE -1 PUT PARAGRAPH NUMBER INTO RECORD. 27857 SWS, CHAR5 E SYLT BAN A,3,L MANUF SSL 27858 SWE, SEVEN MID POINT 5 E SYLT BAN 27859 WA L SUBSTRB E SYLT BAN Z,AU1 SELECT A SUBSTRAB WORD. 27861 MANUF SSL SSL, FOUR N,AU1 PARA LAST GOT TO PARAG YES IF GOT NEXT PARAG NO. 27868 TS COMPUTER N,X1 FROM TAPE +2 27869 FROM TAPE TS - - PHI TAPE 2787 RF,1 1,0 - DISASTER DOUBLE-BUFFERED READ. 2789 TN Z,X2 2 Z,X1 SWAP BUFFERS. 2791 LA SERCH KEY ZERO E SYLT LUP +1 RETURN TO EN SYLT OK LOOP. 27922 TX FETCH SSN - Z,MXR 2793 PICK EXIT LA 1,2 CAC3 4,1 SKIPPING EXIT IF NEW RECD IS PARAGRAPH. 2795 TX Z,X4 - Z,SC EXIT WITH AUTHMEMO, SYMBOLS, OR EOFRI. # Page 103 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 63 PAGE 63 P2797 MANUFACTURING AND SIMULATION SUBROUTINE IN PASS 0 TO IGNORE AND CUSS A BAD BUT NOT VITAL SUBDIRECTOR. R2799 ENTER WITH CARD IN SENTENCE READER AREA AND WITH RETURN IN X4 (BANK 1) OR SEQUENCE CALL TO IGN SUBDR IN THE R2801 TRANSFER VECTOR. 2802 IGN SBDIR S, YUL TYPER IGNOR MSG AMTF +4 C,+1 TYPE "THEREFORE THIS CARD IS IGNORED:". 2804 S, YUL TYPER 6,2 A+9 4,0 TYPE SIGNIFICANT WORDS AND EXIT. R2806 MANUFACTURING AND SIMULATION SUBROUTINE IN PASS 0 TO CUSS AN UNRECOGNIZED WORD IN A SUBDIRECTOR CARD R2808 AND CAUSE THE CARD TO BE IGNORED. ENTER WITH C(WHODUNIT) SET AND RETURN IN X4 (BANK 1) OR SEQUENCE CALL TO R2810 UNRC SUBR IN THE TRANSFER VECTOR. 2811 UNRC SBDR TX WHODUNIT - Z,SH 2812 TN N,SH 2 WUNRC MSG +3 2813 S, YUL TYPER WUNRC MSG AMTF +5 IGN SBDIR CUSS BAD WORD AND IGNORE CARD. R2815 MANUFACTURING SUBROUTINE IN PASS 0 TO PUNCH ON TAPE THE OBJECT MESSAGE, THUS IDENTIFYING COMPLETELY R2817 THE PROGRAM REPRESENTED. ENTER WITH RETURN IN X4 (BANK 1) OR BY SEQUENCE CALL TO PCH LEDER IN THE TRANSFER R2819 VECTOR. PROVIDE ONE PREFATORY WORD IN FRAME. 2820 PNCH LEDR TX FRAME - LEADR MSG 2821 TN OBJCT MSG 7 LEADR MSG +1 MOVE OBJECT MESSAGE FOR PUNCHING. 2823 TS Z,SC,7 Z,S1 PCH TITLE 2824 LEADR MSG RESERVE 8 2825 TX Z,X4 - Z,SC R2826 SUBROUTINE IN PASS 0 TO COMBINE THE FUNCTIONS OF THE MONITOR DECIMAL-TO-ALPHABETIC CONVERTER AND LEFT R2828 ZERO SUPPRESSOR. SEQUENCE CALL WITH RETURN IN AU1, TO YUL DA LZS IN THE TRANSFER VECTOR WITH ARGUMENT AT N,AU1, R2830 OR ENTER HERE WITH ARGUMENT IN PHI ARG. USE EITHER RESULT (FIRST IS AT N,SH UPON RETURN) OR BOTH. 2832 YUL D2A ZS TS Z,MXR Z,AU2 YUL MASKR C 2833 SWS, C5T8 PHI ARG 8 PHI ARG 2834 SWS,DECALFM1 PHI ARG 4 PHI ARG 2835 SWS,DECALFM2 PHI ARG 2 PHI ARG 2836 SWS,DECALFM3 PHI ARG 2 PHI ARG SPREAD LEFT 8 DIGITS TO ALPHABETIC. 2838 TS C1T7 TEMP MASK PHI ARG +1 2839 SWS, C1T7 TEMP MASK A,1,L TEMP MASK 2840 NA, TEMPMASK PHI ARG +2 ZERO C,-1 2841 SS BLANKS TEMP MASK PHI ARG +2 BLANK OUT AS MANY AS 7 LEADING ZEROS. 2843 TS Z,AU2 Z,MXR N,AU1 2844 PHI ARG RESERVE 1 2845 TS C,-1 C,+1 C,-4 2846 RESERVE 1 2847 ALF,4 CARDS PUNCHED BY LOG AND TASK THESE MUST FOLLOW PHI ARG +2. # Page 104 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 64 PAGE 64 P2489 SUBROUTINE TO SEND N WORDS OF ALPHABETIC IDENTIFICATION TO MON-A, TO BE PUNCHED INTO PAPER TAPE IN BLOCK-LETTER R2851 FORM. ENTRY IS TO THE TRANSFER VECTOR, THUS: R2852 TS Z,SC,(N-1) Z,S1 PCH TITLE FOLLOWED BY THE N WORDS TO BE PUNCHED. R2854 LEAVES CSC SET TO PCH FRAME AS IF FOR DATA TRASNMISSION. 2855 PTP TITLE NA PNCH FRAM END FLAG Q IN TP TASK C BRANCH IF NO TAPE PUNCHING TASK GOING. 2857 NA BKB PLACE BANK B SEND DATA C CLEAN OUT DATA FRAME BUFFER. 2859 TS Z,S0,1 Z,S2 BEG PH ALF S FORM HISTORY AND LWA, RETURN TO S MODE. 2861 BEG PH ALF SS SWITCH B34T35 TITL SEND COPY END FLAG AS BEGIN-PARAGRAPH BIT. 2863 SS ZERO B34T35 SWITCH CLEAR OUT END FLAG (INCLUDES END TASK). 2865 TN Z,X0 2 SAVE XS 2866 TN Z,S1 2 Z,X0 SET UP FWA AND LWA OF TITLE. 2868 TITL SEND S, MON PUNCH 0,0 ATAPE PCH +16 1,0 SEND N WORDS OF BLOCK-LETTER 1.0. 2870 TS BKB PLACE Z,SH BEG PH ALF C REMOVE POSSIBLE BEGIN-PARAGRAPH BIT. 2872 TN SAVE XS 2 Z,X0 2873 TS Z,S0 Z,SC PCH FRAME -1 C SET UP CSC FOR CALLER AND RETURN. R2875 MINOR SUBROUTINE TO INITIALIZE A TAPE PUNCHING TASK WHEN ITS FIRST FRAME OR TITLE IS SUBMITTED. 2877 IN TP TASK TX Z,CSH - SAVE XS +2 C 2878 EX 1800 AB SW B24 B36 SAVE XS C 2879 LA SAVE XS C5T8 C,+2 C BRANCH IF RUNNING ON 1800 A. 2881 S, MON TYPER TAPE B MSG SPRAMR +32 TYP ABORT "CAN'T PUNCH TAPE WITH THIS 1800". 2884 TS Z,SC SAVE XS +1 C,+1 S 2895 TX L DIRECTY - Z,S2 2896 SS N,S2 BIT 35 GRADE LIM SET BIT IF NOT 1ST TAPE PUNCHING TASK. 2900 SM SWITCH C5T8 SAVE XS FORM PAPER-GRADE AND DATA-UNLIMIT WORD. 2902 SS ZERO ACH4 SWITCH REVERT PAPER GRADE TO PINK OILED PAPER. 2904 GRADE LIM S, MON PUNCH SAVE XS ATAPE PCH +1 SAVE XS SPECIFY PAPER GRADE, KILL DATA LIMIT. 2906 TS END FLAG Q PNCH FRAM C,+2 INITIALIZE TITLE AND FRAME ROUTINES. 2908 S, MON TYPER NTPCH MSG SPRAMR +16 TYP ABORT "NO TAPE PUNCHING". 29092 SM N,S2 BIT 35 N,S2 SHOW THAT SOME PUNCHING IS TO BE DONE. 29094 TN SAVE XS +1 2 Z,SC C NOW PROCESS FIRST FRAME OR TITLE. R2910 MINOR SUBROUTINE TO TYPE OUT THE COUNT OF CARDS BYPASSED BECAUSE THEY LACKED A "Y" IN COLUMN 1. 2912 TYP NON YS TX Z,SH - TYP RTURN 2913 SWE, ONES NON WISE D,4,L PHI ARG 2914 TS Z,SC Z,AU1 YUL D2A ZS 2915 TX PHI ARG - NON WISE 2916 NA, CHAR1 NON WISE ZERO C,+3 2917 SWE, ONES NON WISE A,1,L NON WISE ALPHABETIZE AND NORMALIZE. 2919 TS, CHAR8 BLANKS NON WISE C,-2 2920 S, MON TYPER NUM NONS SPRAMR +24 - 2921 S, MON TYPER BLANKS SPRA +8 - 2922 TX ZERO - NON WISE 2923 TX TYP RTURN - Z,SC # Page 105 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 65 PAGE 65 P2924 SUBROUTINE TO PROCESS DATA FRAMES DESTINED FOR PAPER TAPE. COLLECTS UP TO 2040 FRAMES IN BANK B BEFORE CALLING R2926 IN MON-A TO HAUL THEM AWAY. INITIALLY, MAKE COSEQUENCE CALL TO PCH FRAME IN THE TRANSFER VECTOR WITH DATA IN R2928 LOW 8 BITS OF FRAME, SUBSEQUENTLY MAY ENTER BY PUTTING DATA IN FRAME AND SWITCHING TO COSEQUENCE MODE. 2930 PNCH FRAM TS END FLAG Q PNCH FRAM IN TP TASK C (INITIAL STATE OF PNCH FRAM). 2932 LA BKB PLACE END BANK B SET FRAME -2 C BRANCH IF BANK B BUFFER NOT BLOATED. 2934 TS Z,CSC,3 - SEND DATA C SHIP 2040 FRAMES OF DATA TO MON-A. 2936 END FLAG D NA BKB PLACE BANK B SEND DATA C CLEAR OUT BUFFER AT END OF PARAGRAPH. 2938 SS SWITCH B34T35 DATA SEND C SET BEGIN-PARAGRAPH BIT FOR NEXT XMIT. 2940 SS ZERO B34T35 SWITCH C CLEAR END FLAG (INCLUDES END TASK BIT). 2942 SET FRAME TX BKB PLACE - Z,SH C 2943 TS FRAME N,SH,1 PCH FRAME -1 C SET FRAME INTO BUFFER AND EXIT. 2945 END FLAG Q LA BIT 34 Z,SH END FLAG D C BRANCH IF END FLAG IS ON. R2947 MINOR SUBROUTINE TO SEND UP TO 2040 ACCUMULATED PAPER TAPE FRAMES TO MON-A. 2949 SEND DATA TS Z,SC SAVE XS +2 C,+1 S 2950 TS Z,CSH SAVE XS +3 BEG PH ALF +2 C SAVE RETURN, X0, X1. 2952 TX BANK B - Z,X0 2953 WD BKB PLACE ONE Z,X1 2954 TX BANK B - BKB PLACE SHOW THAT BUFFER WILL BE EMPTY. 2956 DATA SEND S, MON PUNCH 0,0 ATAPE PCH +32 1,0 SEND PAPER TAPE DATA FRAMES. 2958 SS ZERO B34T35 DATA SEND CLEAR POSSIBLE BEGIN-PARAGRAPH BIT. 2960 TN SAVE XS 2 Z,X0 2961 TN SAVE XS +2 2 Z,SC C R2962 PROCEDURE AT MANUF RTN (RETURN FROM ANY TASK USING PASS 0 AS A MONITOR) TO RE-INITIALIZE SUBSTRAND FETCHING AND R2964 TAPE PUNCHING ROUTINES. ENTER AT END M TASK. 2965 END SEND Q NA BKB PLACE BANK B SEND DATA C CLEAN OUT DATA BUFFER. 2967 TS Z,CSC Z,SC BEG PH ALF +1 C CLEAR END FLAG, REVERT TO SEQUENCE MODE. 2969 END M TASK NA PNCH FRAM NO TP TASK C,+2 BRANCH IF ENDING A TAPE PUNCHING TASK. 2971 TS FETCH SS1 FETCH SSN INIT PAS0 INITIALIZE FETCHING AND EXIT. 2973 TS NO TP TASK PNCH FRAM END SEND Q C 2974 NO TP TASK TS END FLAG Q PNCH FRAM IN TP TASK C 2975 FETCH SS1 TS ZERO FETCH SSN AWAIT GB # Page 106 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 66 PAGE 66 P3025 GENERAL-PURPOSE CARD-PUNCHING SUBROUTINE IN PASS 0. ALWAYS PUNCHES ON-LINE, BUT BENEFITS FROM DRUM R3027 BUFFERING OF CARDS IN THE 200 OR 2200. THE FIRST CARD PUNCHED FOR ANY TASK IS AN IDENTIFIER WHICH, VIEWED FROM R3029 THE REAR, DISPLAYS THE LOG AND TASK NUMBERS IN BLOCK LETTERS. THE LAST CARD PUNCHED IN A TASK IS A CHECKERBOARD. R3031 ENTRY: S,0,87 CARD CW RETURN WHERE THE CONTROL WORD GIVES THE MODE. R3033 TO CLOSE OUT A CARD-PUNCHING TASK, A CALL MUST BE MADE IN WHICH CARD CW ADDRESSES AN EOR WORD. AT 0,88 IS R3035 TS Z,MXR FRAME PNCH CARD 0,87 IS TAGGED PUNCH CD. 3037 SETLOC,3C 1984 B1 3038 PNCH CARD TX YUL MASKS - Z,MXR 3039 EBA Z,AU1 ZERO PUNCH ADR SAVE ADDRESS OF CARD CONTROL WORD. 3041 SS Z,AU2 CAC3 PUNCH CD SAVE RETURN ADDRESS. 3043 LA BIT 32 CRD COUNT LAST CRD Q BRANCH IF NOT FIRST CARD OF TASK. 3045 SN CPUNCH TS OCTAL 20 Z,AU1 MON SN QIP C SNATCH CARD-PUNCH FOR ON-LINE PUNCHING. 3047 TS PHI WAA Z,X4 1ST CARD ACCESS INTERTASK STORAGE AREA. 3049 S, MON TYPER CPUNV MSG SPRAMR +24 - "CARD PUNCH UNAVAILABLE". 3051 SS ACA OTHE CHAR3 ASTRY MSG PUT GROUP A IDENTITY INTO MESSAGE. 3053 S, MON TYPER ASTRY MSG SPRAMR +16 - "ASA TO TRY AGAIN". 3055 S, MON TYPER ACA OTHE SPRA +16 - "ACA OTHERWISE". 3057 TS L SN CPNCH Z,SC C,+1 C 3058 STOP - S ASA OR ARA OR DON A WILL TRY AGAIN. 3060 S, MON TYPER NCOUT MSG SPRAMR +16 TYP ABORT "NO CARD OUTPUT". 3062 1ST CARD DA, CAC3 4,104 ONE 4,104 INCREMENT CARD-PUNCH-TASK NUMBER. 3064 SWE, ONES 4,104 24 TASK LOG FETCH DATA FOR BLOCK-LETTER IDENTIFIER. 3066 TX BANK B - Z,AU2 3067 MT ZERO 21 N,AU2,1 BLANK OUT BINARY CARD IMAGE. 3069 SWE, CAC3 NUMBASE 16 Z,X4 POINT TO ARRAY OF BLOCK-NUMERAL CODES. 3071 BB VIA AU2 TX BANK B - Z,AU2 S 3072 SWE, ONES THREE 17 N,AU2,11 CONTROL BITS TO SET BINARY PUNCH MODE. 3074 SWE, ONES C1T7 A,1 TEMP MASK SYNTHETIC C2T8 MASK. 3076 OUTLINES SWS, ACH4 TASK LOG 24 C,+1 3077 TX 4,0 - N,AU2,1 PLANT BLOCK NUMERAL IN CARD. 3079 SWE,TEMPMASK TASK LOG D,1 TASK LOG 3080 NA TASK LOG ZERO OUTLINES LOOP END CAUSES ZERO-SUPPRESS OF TASK. 3082 TS BANK B Z,X4 PUNCH HED C USE SPECIAL ENTRY INTO CARD-PUNCH SUBRO. 3084 LAST CRD Q EBA PUNCH ADR ZERO Z,X4 RECOVER ADDRESS OF CONTROL WORD. 3086 NA N,X4 EOR SEND CARD BRANCH IF NOT THE CLOSING-OUT CALL. # Page 107 # @YUL SYSTEM -- PASS 0 USER'S OWN PAGE NO. 67 PAGE 67 P3088 ON RECEIVING A CLOSE-OUT CALL, PUNCH A CHECKERBOARD CARD, TYPE THE NUMBER OF CARDS PUNCHED, AND PUNCH A BLANK R3090 CARD TO RUN OUT THE PUNCH. 3091 LAST CARD WA BANK B ONE Z,AU2 3092 MT CHECKERS 20 N,AU2,1 CREATE CHECKERBOARD CARD. 3094 TS BANK B Z,X4 PUNCH ONE C PUNCH THE CHECKERBOARD. 3096 TS CRD COUNT PHI ARG TYP NON YS +2 C 3097 S, MON TYPER PHI ARG +2 SPRAM +40 - " NNNN CARDS PUNCHED BY LOG AND TASK" 3099 TS PHI WAA Z,X4 BB VIA AU2 C 3100 TX ZERO - N,AU2,1 3101 MT BLANKS 10 N,AU2,1 CREATE BLANK ALPHABETIC CARD IMAGE. 3103 S, MON TYPER 4,104 SPRA +72 - HEX: "LLL LLL 000 TTT". 3105 TS BANK B Z,X4 PUNCH ONE C PUNCH FINAL BLANK CARD IN ALPHA MODE. 3107 EX CRD COUNT CAC3 CRD COUNT RESET CARD COUNT TO ZERO. 3109 TS RLS CD PCH Z,AU1 MON SN QIP C RELEASE THE CARD PUNCH. 3111 TS PUNCH CD Z,SC PNCH EXIT C R3112 EVERY CARD SENT BY A CALLER COMES HERE EVENTUALLY. 3113 SEND CARD TS - - PUNCH ONE C NORMAL WAY TO SEND A CARD. 3115 TS PUNCH CD Z,SC PNCH EXIT C 3116 PNCH EXIT TX FRAME - Z,MXR S 3117 PUNCH HED TN 4,17 4 4,3 C MOVE TASK NUMBER TO PLACE ON CARD. 3119 TN N,CSC,4 4 4,7 C PLANT BLOCK LETTERS: "TASK". 3121 OCT -00 4224 1076, -22 5252 5244 3122 OCT -70 2422 2470, -02 0276 0202 3123 TN N,CSC,5 4 4,17 C PLANT "LOG:" AND TAB TO PUNCH ONE. 3125 OCT -00 0000 2424, -72 5242 4234 3126 OCT -34 4242 4234, -40 4040 4076 3127 WF, DA - - INCR COCT BRANCH IF 200 GOT CARD INFO OK. 3129 PUNCH ONE SWS, CHAR1 MON PRADS A,2,L C,+1 C SUPPLY TRUE ADDRESS OF PUNCH. 3131 WF, DA 4,0 - - 3132 TS, CHAR1 C,-1 PUNCH ONE -1 PUNCH ONE -1 C 3133 INCR COCT DA CRD COUNT BIT 32 CRD COUNT S INCREMENT COUNT OF CARDS IN TASK. SEQBRK END YUL PASS 0 GENERAL