Raw File
A_YUL_PROGRAMMERS_DIGEST.argus
# Copyright:    Public domain.
# Filename:     A_YUL_PROGRAMMERS_DIGEST.mitigus
# Purpose:      Part of the source code for YUL (revision 9).
# Assembler:    TBD
# Contact:      Jim Lawton <jim.lawton@gmail.com>
# Website:      https://www.ibiblio.org/apollo/index.html
# Page scans:   https://archive.org/details/yulsystemsourcec00hugh
# Pages:        005-013 (9)
# Mod history:  2016-10-06 JL  Created.
#               2016-10-08 JL  Transcribed.
#               2016-10-13 JL  Fixed typo.

# 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      @A YUL PROGRAMMER'S DIGEST

# Page 5
#      @A YUL PROGRAMMER'S DIGEST                                                USER'S OWN PAGE NO.   1        PAGE   2


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

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)

R00562  NOTES:   "REPRINT" REGENERATES AN ASSEMBLY LISTING BY GOING THROUGH AN ENTIRE ASSEMBLY, BUT WITHOUT MAKING ANY
R00564  CHANGE TO THE PERMANENT RECORD OF THE PROGRAM OR SUBROUTINE.  IT IS THE ONLY TASK THAT TAKES A "FOR WHOM" CARD.

R00566 *ANY OPERATION MAY BE DONE ON A FROZEN TAPE (FROZEYUL OR 2NDFROZE) EXCEPT "ASSEMBLE REVISION ..."

R0057   NON-ASSEMBLY DIRECTORS CLOSELY RELATED TO ASSEMBLY.

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

R00592  NOTE:    A SUBROUTINE THAT HAS BEEN CALLED BY AN EXISTING PROGRAM CANNOT BE DELETED.

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)

R00652  NOTE:    A CONTROLLED SUBROUTINE CANNOT BE EITHER REVISED OR DELETED.  AS WITH REPRINT, THE SUBDIRECTOR IS NOT
R00654  CHECKED BEYOND THE FIRST WORD, BUT IS TYPED OUT FOR THE RECORD.


#Page 6
#      @A YUL PROGRAMMER'S DIGEST                                                USER'S OWN PAGE NO.   2        PAGE   3

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



R0068  *Y YUL   MANUFACTURE REVISION 1 OF AGC PROGRAM SUNSET BY AS514           (SEE SECTION ON BLK3/AGC SUBDIRECTORS)
R00691 *Y ANDY  MANUFACTURE NEW AGC SEGMENT ZOT BY JOHNNY HART

R0070  *NOTE:    MANUFACTURING MAY BE DONE ONLY ON GOOD OR FAIR PROGRAM OR SEGMENT ASSEMBLIES.  AN OLD REVISION CAN BE
R00702 *MANUFACTURED IF IT IS ON THE SAME 1800'S DISC.

R0071   Y LYNN  PRINT REVISION 2 OF AGC4 PROGRAM BUGS BY BUNNY                  (PRINT CARD IMAGES ONLY, LIKE 407)
R0072   Y  LYNN PUNCH REVISION 2 OF AGC4 PROGRAM BUGS BY BUNNY                  (PUNCH CARDS SUITABLE FOR ASSEMBLY
R0073   Y LYNN  PRINT, PUNCH REVISION 2 OF AGC4 PROGRAM BUGS BY BUNNY           INPUT; SEE BOTTOM OF PAGE 5)
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              (WRITE CARD IMAGES ON DISC)
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)

R00862  NOTE:    THE FILE MADE BY TRANSFER DOES NOT COMPETE WITH BINARY-RECORD FILES FOR DISC SPACE.  ITS NAME CAN HAVE
R00864  UP TO 16 CHARACTERS ON THE 1800, BUT ONLY 14 CHARACTERS ON THE 360.

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 7
#      @A YUL PROGRAMMER'S DIGEST                                                USER'S OWN PAGE NO.   3        PAGE   4

P0105   OPTIONAL SUBDIRECTORS
R0106   ---------------------



R0107   PRINT CONTROL SUBDIRECTORS FOR USE IN "PRINT" (INCLUDING "TRANSFER, PRINT" AND "PUNCH, PRINT"), "REPRINT", OR
R0109   "ASSEMBLE" TASKS.

R0110   S       PRINT 12 COPIES OF LISTING                                      (LIMITS ARE 2 TO 63)
R0112   S       PRINT 40 LINES PER PAGE                                         (LIMITS ARE 10 TO 63, NORMAL IS 54)

R0114   NOTE:    A COPIES REQUEST ASKS THE OPERATOR "WHAT PLY PAPER?" AND USES THE ANSWER TO MAKE AS MANY PRINTER RUNS
R0116   AS NECESSARY TO PROVIDE AT LEAST THE NUMBER OF COPIES REQUESTED.  IN AN "ASSEMBLE" TASK, A BAD ASSEMBLY WILL CUT
R0118   OFF THE OUTPUT AFTER THE FIRST COMPLETE PRINTER RUN.  NONE OF THIS IN ANY WAY AFFECTS MULTIPLE PRINTER RUNS ON
R0120   THE 2200 AS NOW PRACTICED FOR SUNDISK, SUNDANCE, AND COLOSSUS.



R0121   PRINT SUPPRESSION SUBDIRECTORS FOR USE IN "REPRINT" OR "ASSEMBLE" TASKS.  THE "CONDITION" IS BAD ASSEMBLY.

R0123   S       SUPPRESS INACTIVE SUBROUTINES
R0124   S       SUPPRESS SYMBOL TABLE LISTING
R0125   S       SUPPRESS OCTAL STORAGE MAP

R0126   S       SUPPRESS CONDITIONALLY  INACTIVE SUBROUTINES                    (EFFECTIVE AT FIRST FATAL CUSS)
R0128   S       SUPPRESS CONDITIONALLY  SYMBOL TABLE LISTING
R0129   S       SUPPRESS CONDITIONALLY  OCTAL STORAGE MAP

R0130   NOTE:    REJECTED ASSEMBLY TURNS ON ALL SUPPRESSIONS AUTOMATICALLY.  THERE ARE SOME EXCEPTIONS TO THE PRINT SUP-
R0132   PRESSION: IN INACTIVE SUBROUTINES, CUSSED LINES WITH THEIR CUSSES;

R0133   IN THE SYMBOL TABLE LISTING, UNHEALTHY SYMBOLS (ALL THOSE NOT DEFINED NORMALLY OR BY EQUALS);

# Note: in the line below the periods are actuall some kind of block character in the actual listing.
R0135   IN THE OCTAL STORAGE MAP, THE OCCURRENCE OF A CUSS (.REF, .SUM, .EOB) REVOKES THE SUPPRESSION SO THAT THE
R0137   LINE WITH THE CUSS AND THE REST OF THE OCTAL MAP ARE PRINTED.

R0138   THE EXCEPTION TO THE EXCEPTION IS THAT IN A REJECT, OCTAL MAP CUSSES ARE NOT DETECTED, COUNTED, OR PRINTED.


# Page 8
#      @A YUL PROGRAMMER'S DIGEST                                                USER'S OWN PAGE NO.   4        PAGE   5

P0140   OTHER SUBDIRECTORS FOR USE IN "ASSEMBLE" TASKS.

R0141   S       RENUMBER CARDS
R0142   S       FREEZE SUBROUTINES                                              (PROGRAM ONLY)
R0144   S       BEFORE SUBRNAME                                                 (SUBROUTINE ONLY)
R0146   S       BEFORE ALL                                                      (SUBROUTINE ONLY)
R0148   S       BEFORE END                                                      (SUBROUTINE ONLY)

R0150   NOTES:   "RENUMBER" AFFECTS ALL THE CARDS OF THE MAIN PROGRAM OR SUBROUTINE, BUT NOT THOSE OF CALLED SUB-
R0152   ROUTINES.  IT STARTS WITH 0001 AFTER EACH LOG CARD.

R0153   "FREEZE" CAUSES THE CARDS OF THE SUBROUTINES CALLED BY THE PROGRAM TO BECOME FULL-FLEDGED MEMBERS OF THE PRO-
R0155   GRAM, SO THAT THE SUBROUTINES MAY BE REVISED WITHOUT AGAIN AFFECTING THE PROGRAM.  THE "SUBRO" CARDS ARE CON-
R0157   VERTED TO REMARKS.

R0158   "BEFORE" REQUESTS SPECIFY THE ORDER OF SUBROUTINES IN THE LIBRARY PORTION OF THE TAPE.  THE SUBROUTINE BEING
R0160   ASSEMBLED MAY BE PLACED BEFORE A SPECIFIED SUBROUTINE FOR THE SAME COMPUTER, OR AT THE BEGINNING OR END.  IF
R0162   NONE IS GIVEN, THE RULE IS:
R0163            REVISION . . . . . . . (AS IS)
R0164            NEW OR TRANSFERRED . . (BEFORE ALL)
R0165            VERSION. . . . . . . . (AFTER SOURCE)



R0166   SYMBOLIC CARD IMAGE SELECTION PROCESS FOR PRINT, PUNCH, AND TRANSFER
R0167   --------------------------------------------------------------------



R0168   IF DETAIL CARDS (MEANING ANYTHING NOT HAVING *, Y, OR S IN COLUMN 1) ARE INPUT TO A PRINT, PUNCH, OR TRANSFER
R0170   TASK, THEY WILL SELECT PARTS OF THE PROGRAM OR SUBROUTINE FOR OUTPUT.  USUALLY, SUCH CARDS ARE LOG CARDS (L IN
R0172   COLUMN 1), SO THAT WHOLE LOG SECTIONS ARE OUTPUT.  THE RULE IS: AS EACH DETAIL CARD ENTERS, THE SELECTION
R0174   PROCESS SCANS FORWARD FROM WHEREVER IT IS IN THE PROGRAM OR SUBROUTINE, LOOKING FOR A MATCH BUT IGNORING COLUMN
R0176   8 AND (IF THE DETAIL CARD IS A LOG CARD) IGNORING COLUMNS 2-7.  THEN OUTPUT IS TURNED ON, STARTING WITH THE
R0178   FOUND CARD, UNTIL THE NEXT LOG CARD IS FOUND.  OUTPUT IS TURNED OFF JUST BEFORE THAT LOG CARD, AND THE NEXT
R0180   DETAIL CARD IS EXAMINED.  DETAIL CARDS MUST FOLLOW SUBDIRECTORS, IF ANY.


# Page 9
#      @A YUL PROGRAMMER'S DIGEST                                                USER'S OWN PAGE NO.   5        PAGE   6

P0181   MANUFACTURING SUBDIRECTORS FOR BLK2 AND AGC4                            ("TESTING" SERIES NOT INCLUDED)
R0182   --------------------------------------------

R0183   ONE AND ONLY ONE OF THE FOLLOWING PRIMARY SUBDIRECTORS MUST FOLLOW THE YUL DIRECTOR CARD:

R0185   S       PUNCH 36K CORE ROPE SIMULATOR TAPE              (A)

R0186   S       PUNCH RAYTHEON WIRING TAPE                      (B)             (AUTHOR NAME MUST BEGIN WITH "NASA")
R0188   S       PUNCH RAYTHEON TESTER TAPE                      (B)             (AUTHOR NAME MUST BEGIN WITH "NASA")

R0190   S       PUNCH MASTER DECK                               (C)
R0191   S       PUNCH SYMBOL TABLE                              (C)
R0192  *S       PUNCH SYMBOL TABLE AND MASTER DECK              (C)
R01921 *S       PUNCH SIMULATION DECK                           (C)             (SEGMENT MANUFACTURING ONLY)

R0193   S       COPY ONTO WORKER                                (D)             (NEXT TASK MUST BE MANUFACTURE/COMPARE)
R0194   S       COMPARE PROGRAM PROGNAME FROM WORKER            (D)             (USE SAME PARAGRAPH CARDS AS COPY TASK)

R0196   OTHER SUBDIRECTORS MAY OCCUR IN ANY ORDER PROVIDED THAT THEY ALL FOLLOW THE PRIMARY ONE.  CLASSES (A), (B), AND
R0198   (D), ABOVE, REQUIRE EITHER

R0199   S       PARAGRAPH ALL

R0200   OR ONE OR MORE OF THE FORM:

R0201   S       PARAGRAPH 10                                                    (PARAGRAPH NUMBERS IN OCTAL)
R0203   S       PARAGRAPH 200 THRU 237
R0204   S       PARAGRAPH  0 THROUGH 17

R0205   ERASABLE PARAGRAPHS (0-7) MAY NOT BE SPECIFIED FOR CLASS (B)

R0206   CLASSES (A) AND (B) MAY BE GIVEN ONE OF THE FOLLOWING:

R0207   S       USE PINK OILED PAPER TAPE                                       (ASSUMED IF NONE IS GIVEN)
R0209   S       USE BLACK OILED PAPER TAPE
R0210   S       USE BLUE MYLAR TAPE
R0211   S       USE GREY FIBER TAPE
R0212   S       USE GRAY FIBER TAPE
R0213   S       USE ALUMINUM TAPE

R0214   CLASS (A) MAY INSTEAD BE GIVEN

R0215   S       USE DIGITSTORE TAPE
R0216   S       USE DIGISTOR TAPE

R0217   THIS LAST IS INCREMENTALLY RECORDED MAGNETIC TAPE.  TO POINT OUT THAT IT IS WRITTEN, NOT PUNCHED, IS TO PICK ONE
R0219   (1) NIT.

R0220   CLASS (B) REQUIRES ONE SUBDIRECTGOR OF THE FORM

R0221   S       MODULE DECK NUMBERS  00251 00262 00273 00284 00295 00306

R0222   WHERE THERE ARE 1 TO 6 GROUPS WRITTEN AS NNNNM.  EACH NNNN IS A MODULE DECK NUMBER, OBTAINED FROM ART LAPOINTE,
R0224   AND EACH M IS A CORE ROPE MODULE NUMBER.  THAT IS, NNNN IDENTIFIES THE MODULE, AND M SHOWS WHERE TO PLUG IT IN.
R0226   THIS CARD MUST BE CONSISTENT WITH THE PARAGRAPH REQUESTS.


# Page 10
#      @A YUL PROGRAMMER'S DIGEST                                                USER'S OWN PAGE NO.   6        PAGE   7

P0227   CARD MERGING PROCESS USED IN "ASSEMBLE REVISION", "ASSEMBLE VERSION", AND "ASSEMBLE TRANSFERRED"
R0229   ------------------------------------------------------------------------------------------------

R0231            THESE THREE ASSEMBLY TYPES MUST MERGE A SET OF INCOMING CARDS WITH A PRE-EXISTING PROGRAM OR SUBROUTINE
R0233   FILE ON A YUL TAPE OR, IN THE CASE OF "ASSEMBLE TRANSFERRED", ON THE DISC.  THE MERGING IS CONTROLLED BY THE
R0235   CARD NUMBERS AS FAR AS POSSIBLE, BUT SOME SPECIAL CARD TYPES, SUCH AS "DELETE", ARE ALSO NEEDED; THESE ARE
R0237   CALLED "MERGE CONTROL CARDS".  THE DISTINCTION IS THAT MERGE CONTROL CARDS DO NOT REMAIN IN THE PROGRAM; THEY
R0239   MAY APPEAR ONCE IN A LISTING AND THEN DISAPPEAR.

R0240            MERGING IS STRICTLY UNIDIRECTIONAL, LIKE THE MERGING OF TRAFFIC ON A SUPERHIGHWAY WITH TRAFFIC ENTERING
R0242   FROM AN "ON RAMP".  ONCE A CARD IS ACCEPTED INTO THE ASSEMBLY, WHETHER FROM THE PRE-EXISTING FILE OR FROM THE
R0244   INPUT, IT CANNOT AGAIN AFFECT THE MERGING PROCESS OR BE AFFECTED BY IT (THOUGH IT MIGHT BE RENUMBERED IN ACCORD-
R0246   ANCE WITH AN EARLIER REQUEST).  IN THE FOLLOWING PARAGRAPHS I SHALL SAY SOMETHING ABOUT THE MORE DIFIFCULT OR
R0248   CONFUSING ASPECTS OF MERGING AND SKIM OVER THE EASY PARTS.

R0249   SEQUENCE BREAKS

R0250            MOST YUL PROGRAMS CONSIST OF SEVERAL SETS OF CARDS WITH ASCENDING SEQUENCES OF CARD NUMBERS, SEPARATED
R0252   BY LOG CARDS (IDENTIFIED BY "L" IN COLUMN 1), OR MORE RARELY, BY CARDS WITH "SEQBRK" OR "999999" IN THE CARD
R0254   NUMBER FIELD.  THESE SEPARATORS ARE KNOWN COLLECTIVELY AS "SEQUENCE BREAKS" BECAUSE THEY PRESENT A CARD NUMBER
R0256   VALUE OF 999999 TO THE MERGING PROCESS BEFORE BEING ACCEPTED INTO THE ASSEMBLY, BUT A VALUE OF 000000 AFTER
R0258   BEING ACCEPTED.  AN INCOMING SEQUENCE BREAK WILL REPLACE A PRE-EXISTING SEQUENCE BREAK JUST AS ANY INCOMING PRO-
R0260   GRAM CARD WILL REPLACE A LIKE-NUMBERED CARD.

R0261   ACCEPTOR CARDS

R0262            THE MOST FREQUENTLY USED MERGE CONTROL CARD IS IDENTIFIED BY "*" IN COLUMN 1.  IT IS PROPERLY CALLED AN
R0264   "ACCEPTOR" CARD, BUT IS POPULARLY KNOWN AS AN "=LOG CARD" OR, CONFUSINGLY, AS A "LOG CARD".  THE SIGNIFICANCE OF
R0266   THE "=" IS: GO FIND A CARD EQUAL TO THIS ACCEPTOR CARD AND ACCEPT IT INTO THE ASSEMBLY WITHOUT CHANGE, ALSO AC-
R0268   CEPTING ALL CARDS PASSED OVER IN THE SEARCH.  NOW, WHAT DOES IT MEAN TO SAY THAT ONE CARD IS EQUAL TO ANOTHER?
R0270   EQUALITY OF CARD NUMBERS IS NOT ALWAYS ENOUGH, BECAUSE MOST YUL PROGRAMS HAVE SEVERAL SEQUENCES OF CARD NUMBERS.
R0272   WE USE A STRONGER EQUALITY, OF BOTH CARD NUMBER AND TEXT (COLUMNS 9-80).  FINE SO FAR, BUT LOG CARDS HAVE NO
R0274   CARD NUMBERS (BY DEFINITION), SO WHAT DO WE WRITE TO ACCEPT A LOG CARD?  WE SAY EXPLICITLY THAT WE WANT A LOG
R0276   CARD, BY PUNCHING "LOG" IN THE CARD NUMBER FIELD, AND THEN SPECIFY WHICH LOG CARD BY PUNCHING THE TEXT AS WELL.
R0278   HENCE THE FAMILIAR "=LOG" CARD, WHOSE FUNCTION IS TO SCAN THROUGH ANY NUMBER OF LOG SECTIONS IN SEARCH OF A PAR-
R0280   TICULAR LOG CARD--A JOB THAT COULD NOT BE DONE BY A SEARCH BASED ON CARD NUMBER ALONE.

R0282            THE ACCEPTOR CARD IS THE ONLY CARD TYPE THAT IS NOT PRINTED IN THE ASSEMBLY LISTING; INSTEAD IT MARKS
R0284   THE FOUND CARD WITH "@" IN COLUMN 8, THUS CALLING ATTENTION TO THE SAME INFORMATION AS THAT ON THE ACCEPTOR
R0286   CARD.  IT IS POSSIBLE TO ACCEPT A NON-LOG CARD BY USING THE CARD NUMBER AND THE TEXT, BUT NOBODY EVER DOES.


R02871  INSERTION CARDS

R02872           ANOTHER TYPE OF MERGE CONTROL CARD THAT SHOULD BECOME POPULAR HAS THE OP CODE "INSERT".  IF IT IS USED TO
R02873  INSERT ANY NUMBER OF UNNUMBERED OR ILL-NUMBERED CARDS (EVEN SEVERAL LOG SECTIONS IF DESIRED) IN ONE PLACE, E.G.:

 02874   1234   BEGIN    INSERT                                                 (TURNS ON RENUMBERING, STARTING WITH
 02875  (. . . NEW CARDS . . .)                                                 1234 IF IT HAD BEEN OFF)
 02876          END      INSERT                                                 (RENUMBERING STAYS TO END OF LOG SECT)

 02877   123456 BEGIN    INSERT WITH 1235       (OTHERWISE NEW NUMBERS WOULD BE 123456, 123556, 123656, ..., XXXX56).


# Page 11
#      @A YUL PROGRAMMER'S DIGEST                                                USER'S OWN PAGE NO.   7        PAGE   8

P0288   PARTIAL RENUMBERING

R0289            THE OP CODE "CARDNO" WAS DEVELOPED TO ALLOW A SINGLE CARD NUMBER TO BE CHANGED, AND THE PLURAL FORM
R0291   "CARDNS" EXTENDS THE RENUMBERING TO THE END OF THE LOG SECTION, EVEN RENUMBERING NON-LOG SEQUENCE BREAKS AS IT
R0293   GOES.  THE NEW NUMBERS GO UP BY 0001 FOR EACH CARD.  TO RENUMBER A WHOLE LOG SECTION WHOSE FIRST CARD IS 0001:

 0295   *LOG    NAME OF LOG SECTION
 0296    0001   CHANGE   CARDNS TO 1

R0297   THE RENUMBERING MAY BE RESTARTED SEVERAL TIMES, BUT IT WILL NOT STOP UNTIL IT FINDS THE NEXT LOG CARD, OR UNTIL
R02981  IT'S TURNED OFF BY A "PRESERVE CARDNS" CARD.

 0299   *LOG    NAME OF LOG SECTION
 0300    0001   CHANGE   CARDNS TO 1
 0301    2000   CHANGE   CARDNS TO 2000
 0302    4000   CHANGE   CARDNS TO 5000
 0303    6000   PRESERVE CARDNS                                                 (REJECTS IF RENUMBERING HAD PASSED 6000)


R0304   MANIPULATION OF WHOLE LOG SECTIONS

R0305            TO DELETE A LOG SECTION WHOSE LAST CARD IS NUMBERED 12341

 0306   *LOG    NAME OF PRECEDING LOG SECTION
 0307    SEQBRK          DELETE THROUGH 1234

R0308   TO ADD A NEW LOG SECTION AFTER ANY EXISTING ONE:

 0309   *LOG    NAME OF PRECEDING LOG SECTION                                   (OMIT IF NEW SECTION WILL BE FIRST SEC)
 0311   T       NAME OF NEW LOG SECTION                                         ("T" CARD IS MERGED JUST AHEAD OF A SEQ-
 0313   (0001   ETC... CARDS OF NEW LOG SECTION)                                UENCE BREAK AND THEN BECOMES "L" CARD)

R0314   TO COMBINE TWO ADJACENT LOG SECTIONS:

 0315   *LOG    NAME OF FIRST LOG SECTION
 03155   0001   CHANGE   CARDNS TO 1
 0316   PSEQBRK NAME OF SECOND LOG SECTION                                      (REPLACES LOG CARD)

R0321   TO SPLIT A LOG SECTION

 0322   *LOG    NAME OF LOG SECTION
 0323    123499 BEGIN    INSERT
 0324   L       NAME OF NEW LOG SECTION
 0325           END      INSERT

R0326   TO CHANGE THE NAME OF A LOG SECTION:

 0327   *LOG    NAME OF PRECEDING LOG SECTION
 0328   L       NEW NAME OF LOG SECTION                                         (NEW LOG CARD REPLACES OLD ONE)


R03281  THERE IS NEVER ANY NEED FOR TWO "=LOG" CARDS WITH THE SANE TEXT IN AN INPUT DECK, UNLESS FOR SOME QUEER REASON
R03283  THERE ARE TWO LOG SECTIONS WITH THE SAME NAME.  ONCE THE MERGING HAS ENTERED A LOG SECTION, YOU CANNOT ACCEPT
R03285  ITS LOG CARD AGAIN--THAT WOULD INVOLVE GOING BACKWARDS, WHICH YUL MERGING NEVER DOES.  FOR EXAMPLE, THERE COULD
R03287  BE A CARD BETWEEN THE "LOG" AND THE "T", ABOVE, SAYING SOMETHING LIKE " 0123             CA     POSMAX        ".


# Page 12
#      @A YUL PROGRAMMER'S DIGEST                                                USER'S OWN PAGE NO.   8        PAGE   9

P0329   REJECTED ASSEMBLY (BAD MERGE)

R0330            WHEN THE MERGING PROCESS IS UNABLE TO FOLLOW THE PROGRAMMER'S DIRECTIONS EXACTLY, IT ABANDONS ANY AT-
R0332   TEMPT TO CONTINUE MERGING, AND PROTECTS THE FILE, THUS REVOKING THE TENTATIVE MERGING UP TO THE POINT OF REJEC-
R0334   TION.  THE PRINTED OUTPUT SHOWS THE EFFECT ON THE PROGRAM OR SUBROUTINE OF THE TEMPORARILY MERGED CARDS.
R0336   REJECTION IS GENERALLY CAUSED BY:

R0337   (1)      INPUT CARD NUMBERS OUT OF SEQUENCE (BUT NOTE THAT SEQUENCES LIKE
R0339             0123            DELETE
R0340             012201          CA     ZERO
R0341            CAN BE LEGAL BECAUSE THE SECOND CARD'S NUMBER IS TESTED AFTER THE DELETION IS DONE).

R0343   (2)      ATTEMPT TO DELETE OR RENUMBER A NON-EXISTENT CARD.

R0344   (3)      MIS-SPELLED OR MIS-PUNCHED TEXT IN AN ACCEPTOR CARD. OR

R0345   (4)      ILLEGAL FORMAT IN A MERGE CONTROL CARD.

R0346   THE INPUT CARDS THAT COME AFTER THE REJECTION ARE LISTED AND THEIR CARD NUMBER SEQUENCE IS CHECKED, ALLOWING FOR
R0348   THE EXCEPTION IN (1).

R0349            THERE IS A WAY TO GET ILL-ORDERED CARD NUMBERS WITHOUT A REJECT: BY CHANGING A CARD NUMBER TO A VALUE
R0351   SMALLER THAN ITS PREDECESSOR.  TO RECOVER FROM SUCH CASES, THE FOLLOWING FORMS ARE PROVIDED:

 0353    0123   OUTOFSEQ DELETE
 0354    0123   OUTOFSEQ DELETE THRU  0133

 0355    0123   CORRECT  CARDNO TO 132
 0356    0123   CORRECT  CARDNS TO 132

R0357   THE SPECIAL FORMS ARE NEEDED TO MAKE THE MERGING PROCESS SEEK AN ILL-ORDERED CARD WITH THE DESIRED NUMBER, POSS-
R0359   IBLY IGNORING A WELL-ORDERED CARD WITH THE SAME NUMBER ON THE WAY.


# Page 13
#      @A YUL PROGRAMMER'S DIGEST                                                USER'S OWN PAGE NO.   9        PAGE  10

P0360   THE GREAT BIG BAD SECRET
R0361   ------------------------

R0362            THE TIME HAS COME TO UNSCREW THE INSCRUTABLE, EFFECTUATE THE INEFFABLE, UNPACK THE IMPECCABLE
R0364   REDUNDANTLY RAVISHING REDOLENT RIDDLE, TO WIT: HOW DIFFERS SUPERB FROM GOOD? ... AND REVEAL THE RELATED
R0366   IRRELEVANT RODOMONTADE.  IT IS WITH A SOLEMN SENSE OF THE DISGRACEFUL DEGRADATION IT WILL IMPOSE ON MY JOB
R0368   SECURITY THAT I DO THIS, BUT IF THE NASCENT NEUROSES FORMING AROUND THIS QUESTION ARE ALLOWED TO ESCALATE INTO
R0370   PSORIATIC PSYCHOSES... WELL, IT JUST WON'T DO, THAT'S ALL.

R0371            BASICALLY, THE SCHEME IS QUITE SIMPLE, IF JUST A SHADE OBSCURE.  REJECTED ASSEMBLIES YOU KNOW ABOUT,
R0373   AND SUBROUTINES ARE NEVER RATED FOR QUALITY.  PROGRAM ASSEMBLIES ARE RATED ACCORDING TO THE ORDER OF MAGNITUDE
R0375   OF THE NUMBER OF CUSSED LINES, AND A PSEUDO-RANDOM VARIABLE.  FOR MOST CASES, THERE ARE TWO LISTS OF WORDS.  ONE
R0377   LIST IS CHOSEN AT THE BEGINNING OF PASS 3, IN A PSEUDO-RANDOM WAY.

R0378   LIST 1  LIST 2  QUALITY
R0379   ------  ------  -------

R0380   GOOD    SUPERB  NO CUSSES
R0381   FAIR    SO-SO   ANY NUMBER OF NON-FATAL CUSSES
R0382   BAD     DISMAL    1 OR   2 CUSSED LINES
R0383   LOUSY   AWFUL     3 TO   9 CUSSED LINES
R0384   ROTTEN  VILE     10 TO  99 CUSSED LINES
R0385   BILIOUS PUTRID  100 TO 999 CUSSED LINES

R0386   AT THE END OF THE ASSEMBLY, THE APPROPRIATE WORD FROM THE SELECTED LIST IS TYPED OUT IN THIS FORM:

R0388     LOUSY ASSEMBLY; FILED ON DISC

R0389   IF THERE ARE 1000 OR MORE CUSSED LINES, INCLUDING SOME FATAL CUSSES, THE YUL SYSTEM IS AT A LOSS FOR WORDS, AND
R0391   SIMPLY TYPES

R0392   YUCCCHHHH

R0393            NOW ABOUT THAT PSEUDO-RANDOM VARIABLE: IT IS COMPUTED BY A SINGLE EXCLUSIVE-OR INSTRUCTION FROM THE
R0395   PAGE NUMBER OF THE LAST PAGE WITH PROGRAM CODING ON IT (THAT IS, THE LAST PAGE BEFORE THE SYMBOL TABLE LISTING)
R0397   AND THE FIRST AVAILABLE ADDRESS IN THE SYMBOL TABLE.  THE LATTER IS EQUIVALENT TO THE NUMBER OF H-1800 WORDS IN
R0399   THE SYMBOL TABLE, BECAUSE THE VARIABLE IS THE SECOND BIT FROM THE RIGHT IN THAT EXCLUSIVE-OR RESULT.  IF THE BIT
R0401   IS ZERO, LIST 2 IS SELECTED.  THE NUMBER OF WORDS IN THE SYMBOL TABLE IS 3(SYMS+MULTDEFS+SUBROS+COUNTS+1), WHERE

R0403   SYMS =          NUMBER OF SYMBOLS AS SHOWN IN THE SYMBOL TABLE SUMMARY.

R0404   MULTDEFS =      NUMBER OF MULTIPLY DEFINED SYMBOLS, NOT AS IN THE SYMBOL TABLE SUMMARY, BUT SUCH THAT A SYMBOL
R0406                   DEFINED N TIMES CONTRIBUTED N UNITS TO SYMS AND ONE UNIT TO MULTDEFS.

R0408   SUBROS =        NUMBER OF SUBROUTINES CALLED, AND

R0409   COUNTS =        NUMBER OF ROUTINES WHOSE WORDS ARE COUNTED.

R0411   I GUESS I SHOULD HAVE EXPLAINED HERE THAT THE PAGE NUMBER IS IN BINARY CODED DECIMAL. SO THE PART OF IT THAT
R0413   ENTERS THE EXCLUSIVE-OR IS A BIT IN THE UNITS DIGIT.  THE NUMBER OF WORDS IN THE SYMBOL TABLE IS KEPT IN BINARY.
R0415   TO VERIFY THE LIST CHOICE, COMPUTE THE SYMBOL TABLE SIZE IN DECIMAL AND CONVERT THAT NUMBER TO OCTAL.  NOW IF
R0417   THE UNITS DIGIT OF THE OCTAL NUMBER BELONGS TO THE SET (2,3,6,7) AND THE UNITS DIGIT OF THE PAGE NUMBER DOES
R0419   NOT, OR VICE VERSA, LIST 1 IS CHOSEN;  IF BOTH DIGITS BELONG OR NEITHER BELONGS, LIST 2 IS CHOSEN.
back to top