Raw File
GUIDE_TO_OP_CODES_RECOGNIZED_BY_YUL_SYSTEM_FOR_BLK2_AND_AGC.argus
# Copyright:    Public domain.
# Filename:     GUIDE_TO_OP_CODES_RECOGNIZED_BY_YUL_SYSTEM_FOR_BLK2_AND_AGC.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:        025-040
# Mod history:  2016-10-06 JL   Created.
#               2016-10-08 JL   Transcribed pages 26-27.
#               2016-10-09 JL   Transcribed page 28.
#               2016-10-13 JL   Transcribed pageS 29-40.

# Annotations:
#
#   B L A I R - S M I T H
#    Y U L   S Y S T E M
#
#       Listings in
#    MITIGUS  Format
#
#
# 634618A YUL SYSTEM FOR 1800: REVISION 5 OF PROGRAM OPGUIDE BY HB-S           DEC 13, 1967

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

L      @GUIDE TO OP CODES RECOGNIZED BY YUL SYSTEM FOR BLK2 AND AGC

# Page 26
#      @GUIDE TO OP CODES RECOGNIZED BY YUL SYSTEM FOR BLK2 AND AGC              USER'S OWN PAGE NO.   1        PAGE   1

 0001   BY: HUGH BLAIR-SMITH  IL7-238E  MS73  XT 1215    DECEMBER 13, 1967


 0002              THIS DOCUMENT LISTS ALPHABETICALLY ALL THE OPERATION CODES (CARD COLUMNS 18-23) RECOGNIZED BY THE YUL
 0003   ASSEMBLERS FOR BLK2 AND AGC.  EACH OP CODE IS ACCOMPANIED BY SOME VITAL STATISTICS: TYPE, ONE OR TWO REFERENCES
 0004   (CITATIONS) TO FULLER DOCUMENTATION, EQUIVALENT NAME(S), SCOPE (DEGREE OF GENERALITY), MEANING OF APPENDED
 0005   ASTERISK, AND THE SIGNIFICANCE OF THE ABBREVIATION.  THERE IS ALSO A PAGE WITH SIMILAR INFORMATION ON ALL LEGAL
 0006   CONTENTS OF COLUMNS 1 AND 8.  DETAILED DESCRIPTIONS OF THE COLUMNS OF THE OP CODE GUIDE FOLLOW.

 0012   OP CODE:  THE ALPHABETIC ORDERING IS THE CLASSICAL PUNCHED-CARD COLLATING SEQUENCE: BLANK, SPECIAL CHARACTERS,
 0014   ALPHABET, NUMERALS.  EVERY OP CODE SHOWN WITH AN ASTERISK, E.G. BBCON*, IS ALSO LEGAL WITHOUT IT, E.G. BBCON.

 0016   TYPE:  OP CODES ARE CLASSIFIED INTO THE FOLLOWING TYPES:

 0017     ADR CON  (ADDRESS CONSTANT), ONE OR TWO WORDS MADE UP OF ONE OR MORE ADDRESSES BUT NO MACHINE OP CODES;
 0019     CLERICAL, AN INSTRUCTION TO THE ASSEMBLER RATHER THAN TO THE AGC;
 0020     INSTR    (INSTRUCTION), A WORD DIRECTLY EXECUTABLE BY THE AGC;
 0021     MERGE    (MERGE CONTROL CARD), AN INSTRUCTION TO THE FILE-UPDATING PART OF THE YUL SYSTEM, GOVERNING MERGING
 0023              OF INPUT CARDS WITH OLD PROGRAM;
 0024     NUM CON  (NUMERIC CONSTANT), ONE OR TWO WORDS REPRESENTING A NUMBER;
 0025     PRET OP  (INTERPRETIVE OP CODE), PACKED 2 TO A WORD IN INTERPRETIVE PROGRAMS; AND
 0027     OBSOLETE, ONE CODE (MODIFY) WHICH IS RECOGNIZED BY YUL-1800, BUT DOESN'T DO ANYTHING USEFUL.

 0029   REF/PAGE:  THE FOLLOWING REFERENCES ARE CITED:
 0030  *  D (DIGEST), HUGH BLAIR-SMITH, "A YUL PROGRAMMER'S DIGEST," REVISION 9, DECEMBER 13, 1967 (COMPUTER PRINTOUT);
 0032     G (GUIDE), THIS DOCUMENT;
 0033     I (INTERPRETER BOOK), CHARLES A. MUNTZ, "USERS GUIDE TO THE BLOCK II AGC/LGC INTERPRETER," APRIL 1965 (R-489);
 0035     M (MACHINE BOOK), HUGH BLAIR-SMITH, "AGC4 MEMO #9 - BLOCK II INSTRUCTIONS," REVISED JUNE 1, 1967;
 0037     T (TIPS), HUGH BLAIR-SMITH, "YUL TIPS," PUBLISHED FROM TIME TO TIME IN "THE SUNLITER" (JENNY FLAHERTY, ED.);
 0039     Y (YUL BOOK), RAYTHEON AGC INFORMATION SERIES ISSUE 13, "YUL PROGRAMMING SYSTEM," 5 DECEMBER 1963 (FR-2-113).
 0041   EACH CITATION IS GIVEN IN THE FORM R/PP; I.E. Y/80 MEANS PAGE 80 OF REFERENCE Y.  IN MOST OF THE CITATIONS OF
 0043   THE DIGEST, A SPECIAL SERIES OF PAGE NUMBERS IS USED: C1, C2, C3, C4.  EACH OF THESE REFERS TO TWO PLACES AT
 0045   ONCE, ONE IN THE SECTION "AGC BLOCK II INTERPRETIVE CODES: ASSEMBLY RULES FOR BLK2" AND ONE IN THE SECTION
 0047   "AGC BLOCK II INTERPRETIVE CODES: ASSEMBLY RULES FOR AGC."  FOR EXAMPLE, C2 REFERS TO "USER'S OWN PAGE NO.  2"
 0049   IN BOTH SECTIONS.  THIS DEVICE HELPS IN FINDING THE DIFFERENCES BETWEEN THE TWO ASSEMBLERS.  THE "PAGE NUMBER"
 0051   IN A YUL TIP CITATION IS REALLY THE SERIAL NUMBER OF THE TIP.  WHERE TWO CITATIONS ARE GIVEN, THE FIRST IS THE
 0053   BETTER OR MORE BASIC ONE.

 0054   SAME AS:  AN OP CODE IN THIS COLUMN HAS EXACTLY THE SAME EFFECT ON THE ASSEMBLER AS THE ONE ON THE LEFT, THOUGH
 0056   PROGRAMMING CONVENTIONS SOMETIMES MAKE AN ARTIFICIAL DISTINCTION, AS BETWEEN "EQUALS" AND "=" IN DISKERAS ETC.
 0058   WHEN AN OP CODE IN THIS COLUMN IS DEFINITELY A LESS PREFERRED ONE, IT IS ENCLOSED IN ANGLE BRACKETS <THUS>.

 0060   SCOPE:  AN OP CODE MARKED "GEN" IS GENERAL, THAT IS, THE SAME FOR ALL COMPUTERS SERVED BY YUL-1800, EXCEPT
 0062   INSOFAR AS PARAMETERS SUCH AS WORD LENGTH MAKE A DIFFERENCE.  IF IT IS MARKED "SAME," IT IS UNIQUE TO THE BLOCK
 0064   II AGC, BUT THE SAME IN THE BLK2 AND AGC ASSEMBLERS.  "DIFF" MEANS THAT THE OP CODE IS TREATED DIFFERENTLY BY
 0066   THE BLK2 AND AGC ASSEMBLERS, IN WAYS THAT CAN BE FOUND THROUGH THE CITATIONS.

 0068   EFFECT OF *:  THE OPTIONAL ASTERISK EITHER MEANS INTERPRETIVE INDEXING OR IT HAS SOME MORE SPECIAL MEANING THAT CAN
 0070   BE FOUND THROUGH THE CITATION IN THIS COLUMN.

 0071   SIGNIFICANCE OF ABBREVIATION:  USUALLY, THE PURPOSE OF THIS COLUMN IS SIMPLY TO SHOW WHICH WORDS WERE COM-
 0073   PRESSED, BENT, FOLDED, AND MUTILATED TO FORM THE OP CODE.  WHENEVER THIS YIELDS LITTLE MEANING, ESPECIALLY IN
 0075   THE RARELY USED CODES, THERE IS ADDITIONAL INFORMATION.  HOWEVER, THIS COLUMN IS NO SUBSTITUTE FOR THE CITED
 0077   REFERENCES FOR FINDING OUT WHAT A GIVEN OP CODE REALLY DOES.

# Page 27
#      @GUIDE TO OP CODES RECOGNIZED BY YUL SYSTEM FOR BLK2 AND AGC              USER'S OWN PAGE NO.   2        PAGE   2

 0078   OP CODE  TYPE    REF/PAGE   SAME AS     SCOPE  EFFECT OF *  SIGNIFICANCE OF ABBREVIATION
 0080   -------  ----    --------   -------     -----  -----------  ----------------------------

 0082   (BLANK) ADR CON  G/10 I/6   <P>         DIFF                (MOST STRAIGHTFORWARD ADDRESS TYPE)

 0084   =       CLERICAL Y/80 G/10  EQUALS,<IS> GEN                 EQUALS
 0085   =MINUS  CLERICAL T/10 G/11               "                  EQUALS MINUS LOCATION COUNTER
 0087   =PLUS   CLERICAL T/10 G/11               "                  EQUALS PLUS LOCATION COUNTER

 0089   ABS     PRET OP  I/66 D/C3              SAME                ABSOLUTE VALUE (SCALAR)
 0091   ABVAL   PRET OP  I/66 D/C3               "                  ABSOLUTE VALUE (VECTOR)
 0093   ACOS    PRET OP  I/66 D/C3  ARCCOS       "                  ARC COSINE
 0094   AD      INSTR    M/10                    "                  ADD
 0095   ADRES   ADR CON  M/25                    "                  ADDRESS
 0096   ADS     INSTR    M/9                     "                  ADD TO STORAGE
 0098   ARCCOS  PRET OP  I/10 D/C3  ACOS         "                  ARC COSINE
 0099   ARCSIN  PRET OP  I/10 D/C3  ASIN         "                  ARC SINE
 0100   ASIN    PRET OP  I/66 D/C3  ARCSIN       "                  ARC SINE
 0101   AUG     INSTR    M/13                    "                  AUGMENT
 0102   AXC,1   PRET OP  I/66 D/C2               "                  ADDRESS TO INDEX 1 COMPLEMENTED
 0104   AXC,2   PRET OP  I/66 D/C2               "                  ADDRESS TO INDEX 2 COMPLEMENTED
 0106   AXT,1   PRET OP  I/66 D/C2               "                  ADDRESS TO INDEX 1 TRUE
 0108   AXT,2   PRET OP  I/66 D/C2               "                  ADDRESS TO INDEX 2 TRUE

 0110   BANK    CLERICAL G/11                   SAME                SEEK FREE LOCATION IN THIS BANK
 0112   BBCON*  ADR CON  M/27 G/11              DIFF   SEE G/11     BOTH-BANK CONSTANT
 0114   BDDV*   PRET OP  I/66 D/C1              SAME   INDEXING     BACKWARDS DOUBLE DIVIDE
 0116   BDSU*   PRET OP  I/66 D/C1               "     INDEXING     BACKWARDS DOUBLE SUBTRACT
 0118   BHIZ    PRET OP  I/66 D/C2              DIFF                BRANCH ON HIGH-ORDER ZERO
 0120   BLOCK   CLERICAL G/12 Y/77              GEN                 SEEK FREE LOCATION IN THIS BLOCK
 0122   BMN     PRET OP  I/66 D/C2              SAME                BRANCH ON MINUS
 0124   BNKSUM  ADR CON  G/12                   DIFF                GENERATE BANK SUM PATTERN FOR SELFCHECK
 0126   BOF     PRET OP  D/C3       BOFF        SAME                BRANCH IF BIT OFF
 0128   BOFCLR  PRET OP  I/66 D/C3               "                  BRANCH IF BIT OFF, CLEAR BIT
 0130   BOFF    PRET OP  I/66 D/C3  BOF          "                  BRANCH IF BIT OFF
 0132   BOFINV  PRET OP  I/66 D/C3               "                  BRANCH IF BIT OFF, INVERT BIT
 0134   BOFSET  PRET OP  I/66 D/C3               "                  BRANCH IF BIT OFF, SET BIT
 0136   BON     PRET OP  I/66 D/C3               "                  BRANCH IF BIT ON
 0138   BONCLR  PRET OP  I/66 D/C3               "                  BRANCH IF BIT ON, CLEAR BIT
 0140   BONINV  PRET OP  I/66 D/C3               "                  BRANCH IF BIT ON, INVERT BIT
 0142   BONSET  PRET OP  I/66 D/C3               "                  BRANCH IF BIT ON, SET BIT
 0144   BOV     PRET OP  I/66 D/C2               "                  BRANCH ON OVERFLOW
 0146   BOVB    PRET OP  I/66 D/C2               "                  BRANCH ON OVERFLOW TO BASIC
 0148   BPL     PRET OP  I/66 D/C2               "                  BRANCH ON PLUS
 0150   BVSU*   PRET OP  I/66 D/C1               "     INDEXING     BACKWARDS VECTOR SUBTRACT
 0152   BZE     PRET OP  I/66 D/C2               "                  BRANCH ON ZERO
 0154   BZF     INSTR    M/13                    "                  BRANCH ON ZERO TO FIXED
 0156   BZMF    INSTR    M/14                    "                  BRANCH ON ZERO OR MINUS TO FIXED

# Page 28
#      @GUIDE TO OP CODES RECOGNIZED BY YUL SYSTEM FOR BLK2 AND AGC              USER'S OWN PAGE NO.   3        PAGE   3

 0158   OP CODE  TYPE    REF/PAGE   SAME AS     SCOPE  EFFECT OF *  SIGNIFICANCE OF ABBREVIATION
 0160   -------  ----    --------   -------     -----  -----------  ----------------------------

 0162   CA      INSTR    M/9                    SAME                CLEAR AND ADD
 0164   CADR    ADR CON  M/26       FCADR        "                  COMPLETE ADDRESS
 0166   CAE     INSTR    M/9        CA           "                  CLEAR AND ADD FROM ERASABLE
 0168   CAF     INSTR    M/9        CA           "                  CLEAR AND ADD FROM FIXED
 0170   CALL    PRET OP  I/67 D/C2              DIFF                CALL
 0171   CALRB   PRET OP  D/C2                    "                  CALL AND RETURN IN BASIC
 0173   CARDNO  MERGE    Y/86 D/8               GEN                 CARD NUMBER
 0174   CARDNS  MERGE    D/8                     "                  CARD NUMBERS
 0175   CCALL*  PRET OP  I/67 D/C1              DIFF   INDEXING     COMPUTED CALL
 0177   CCLRB*  PRET OP  D/C1                   SAME   INDEXING     COMPUTED CALL AND RETURN IN BASIC
 0179   CCS     INSTR    M/8                     "                  COUNT, COMPARE AND SKIP
 0181   CGOTO*  PRET OP  I/67 D/C1               "     INDEXING     COMPUTED GO TO
 0183   CLEAR   PRET OP  I/67 D/C3  CLR          "                  CLEAR A BIT
 0184   CLR     PRET OP  D/C3       CLEAR        "                  CLEAR A BIT
 0185   CLRGO   PRET OP  I/67 D/C3               "                  CLEAR A BIT AND GO TO
 0187   COM     INSTR    M/19                    "                  COMPLEMENT
 0188   COS     PRET OP  I/67 D/C3  COSINE       "                  COSINE
 0189   COSINE  PRET OP  I/10 D/C3  COS          "                  COSINE
 0190   COUNT*  CLERICAL T/8  T/10              GEN    SEE T/10     COUNT WORDS
 0191   CS      INSTR    M/9                    SAME                CLEAR AND SUBTRACT

 0193   DAD*    PRET OP  I/67 D/C1              SAME   INDEXING     DOUBLE ADD
 0194   DAS     INSTR    M/8                     "                  DOUBLE ADD TO STORAGE
 0196   DCA     INSTR    M/13                    "                  DOUBLE CLEAR AND ADD
 0198   DCOM    INSTR    M/21                    "                  DOUBLE COMPLEMENT
 0200   DCOMP   PRET OP  I/67 D/C3               "                  DOUBLE COMPLEMENT
 0202   DCS     INSTR    M/14                    "                  DOUBLE CLEAR AND SUBTRACT
 0204   DDOUBL  INSTR    M/16                    "                  DOUBLE DOUBLE
 0206   DDV*    PRET OP  I/67 D/C1               "     INDEXING     DOUBLE DIVIDE
 0208   DEC*    NUM CON  Y/67                   GEN    SEE Y/69     DECIMAL CONSTANT
 0210   DELETE  MERGE    Y/85                    "                  DELETE CARDS
 0211   DIM     INSTR    M/13                   SAME                DIMINISH
 0212   DLOAD*  PRET OP  I/67 D/C1               "     INDEXING     DOUBLE LOAD
 0213   DMP*    PRET OP  I/67 D/C1               "     INDEXING     DOUBLE MULTIPLY
 0215   DMPR*   PRET OP  I/67 D/C1               "     INDEXING     DOUBLE MULTIPLY AND ROUND
 0217   DNCHAN  ADR CON  M/26.1                  "                  DOWNLINK CHANNEL ADDRESS
 0219   DNPTR   ADR CON  M/26.1                  "                  DOWNLINK LIST POINTER
 0221   DOT*    PRET OP  I/67 D/C1               "     INDEXING     DOT PRODUCT
 0222   DOUBLE  INSTR    M/20                    "                  DOUBLE
 0223   DSQ     PRET OP  I/67 D/C3               "                  DOUBLE SQUARE
 0225   DSU*    PRET OP  I/67 D/C1               "     INDEXING     DOUBLE SUBTRACT
 0227   DTCB    INSTR    M/20                    "                  DOUBLE TRANSFER CONTROL, SETTING BOTH BANKS
 0229   DTCF    INSTR    M/19                    "                  DOUBLE TRANSFER CONTROL, SETTING FBANK
 0231   DV      INSTR    M/12                    "                  DIVIDE
 0233   DXCH    INSTR    M/10                    "                  DOUBLE EXCHANGE

# Page 29
#      @GUIDE TO OP CODES RECOGNIZED BY YUL SYSTEM FOR BLK2 AND AGC              USER'S OWN PAGE NO.   4        PAGE   4

 0234   OP CODE  TYPE    REF/PAGE   SAME AS     SCOPE  EFFECT OF *  SIGNIFICANCE OF ABBREVIATION
 0236   -------  ----    --------   -------     -----  -----------  ----------------------------

 0238   EBANK=  CLERICAL M/26 G/13              DIFF                E-BANK SETTING EQUALS
 0240   ECADR   ADR CON  M/26       1DNADR      SAME                ERASABLE-MEMORY COMPLETE ADDRESS
 0242   EDRUPT  INSTR    M/12 G/13              DIFF                ED SMALLY'S INTERRUPT INSTRUCTION
 0244   EQUALS  CLERICAL Y/80 G/10  =,<IS>      GEN                 EQUALS
 0245   ERASE   CLERICAL Y/78                    "                  RESERVE ERASABLE MEMORY
 0247   EVEN    CLERICAL G/14                    "                  MAKE LOCATION COUNTER EVEN
 0249   EXIT    PRET OP  I/67 D/C3              SAME                EXIT
 0250   EXTEND  INSTR    M/16                    "                  EXTEND

 0251   FCADR   ADR CON  M/26       CADR        SAME                FIXED-MEMORY COMPLETE ADDRESS

 0253   GENADR  ADR CON  M/25                   SAME                GENERALIZED ADDRESS
 0255   GO TO   PRET OP  D/C2       GOTO         "                  GO TO
 0256   GOTO    PRET OP  I/67 D/C2  GO TO        "                  GO TO

 0257   HEAD    CLERICAL Y/82       <TAIL>      GEN                 ESTABLISH HEAD CHARACTER

 0259   INCR    INSTR    M/9                    SAME                INCREMENT
 0260   INCR,1  PRET OP  I/67 D/C2               "                  INCREMENT INDEX 1
 0262   INCR,2  PRET OP  I/67 D/C2               "                  INCREMENT INDEX 2
 0264   INDEX   INSTR    M/10 M/14  <NDX>        "                  INDEX
 0265   INHINT  INSTR    M/16                    "                  INHIBIT INTERRUPT
 0267   INSERT  MERGE    T/10                   GEN                 INSERT CARDS
 0268   INV     PRET OP  D/C3       INVERT      SAME                INVERT A BIT
 0269   INVERT  PRET OP  I/67 D/C3  INV          "                  INVERT A BIT
 0270   INVGO   PRET OP  I/67 D/C3               "                  INVERT A BIT AND GO TO
 0272   IS      CLERICAL Y/80 G/10  EQUALS,=    GEN                 IS EQUIVALENT TO
 0274   ITA     PRET OP  I/15 D/C2  STQ         DIFF                INTERPRETIVE TRANSFER ADDRESS TO STORAGE
 0276   ITCQ    PRET OP  I/15 D/C3  RVQ         SAME                INTERPRETIVE TRANSFER CONTROL TO Q

 0278   LOC     CLERICAL Y/76       SETLOC      GEN                 SET LOCATION COUNTER
 0280   LXA,1   PRET OP  I/67 D/C2              SAME                LOAD INDEX 1 FROM ADDRESS
 0282   LXA,2   PRET OP  I/67 D/C2               "                  LOAD INDEX 2 FROM ADDRESS
 0284   LXC,1   PRET OP  I/67 D/C2               "                  LOAD INDEX 1 FROM ADDRESS COMPLEMENTED
 0286   LXC,2   PRET OP  I/67 D/C2               "                  LOAD INDEX 2 FROM ADDRESS COMPLEMENTED
 0288   LXCH    INSTR    M/9                     "                  L EXCHANGE

# Page 30
#      @GUIDE TO OP CODES RECOGNIZED BY YUL SYSTEM FOR BLK2 AND AGC              USER'S OWN PAGE NO.   5        PAGE   5

 0289   OP CODE  TYPE    REF/PAGE   SAME AS     SCOPE  EFFECT OF *  SIGNIFICANCE OF ABBREVIATION
 0291   -------  ----    --------   -------     -----  -----------  ----------------------------

 0293   MASK    INSTR    M/11       <MSK>       SAME                MASK
 0294   MEMORY  CLERICAL Y/82                   GEN                 MEMORY TYPE
 0295   MM      NUM CON  G/14                   SAME                MAJOR MODE CONSTANT
 0297   MODIFY  OBSOLETE G/14                   GEN                 MODIFY SUBROUTINE
 0299   MP      INSTR    M/14                   SAME                MULTIPLY
 0300   MSK     INSTR    M/11       MASK         "                  MASK
 0301   MSU     INSTR    M/13                    "                  MODULAR SUBTRACT
 0303   MXV*    PRET OP  I/67 D/C1               "     INDEXING     MATRIX TIMES VECTOR

 0305   NDX     INSTR    M/7        INDEX       SAME                INDEX
 0306   NOOP    INSTR    M/16 M/19               "                  NO OPERATION
 0307   NORM*   PRET OP  I/67 D/C1  <SLC*>       "     INDEXING     NORMALIZE
 0308   NV      NUM CON  G/14       VN           "                  NOUN-VERB CONSTANT

 0310   OCT*    NUM CON  Y/67       <OCTAL*>    GEN    SEE Y/69     OCTAL CONSTANT
 0312   OCTAL*  NUM CON  Y/67       OCT*         "     SEE Y/69     OCTAL CONSTANT
 0314   OVSK    INSTR    M/20                   SAME                OVERFLOW SKIP

 0316   P       ADR CON  G/10       (BLANK)     SAME                POLISH ADDRESS
 0318   PDDL*   PRET OP  I/68 D/C1               "     INDEXING     PUSH DOWN AND DOUBLE LOAD
 0320   PDVL*   PRET OP  I/68 D/C1               "     INDEXING     PUSH DOWN AND VECTOR LOAD
 0322   PUSH    PRET OP  I/68 D/C3               "                  PUSH DOWN

 0323   QXCH    INSTR    M/13                   SAME                Q EXCHANGE

 0324   RAND    INSTR    M/11                   SAME                READ, AND
 0325   READ    INSTR    M/11                    "                  READ
 0326   RELINT  INSTR    M/16                    "                  RELEASE INTERRUPT
 0328   REMADR  ADR CON  M/25                    "                  REMOTE ADDRESS
 0330   RESUME  INSTR    M/19                    "                  RESUME
 0331   RETURN  INSTR    M/15                    "                  RETURN
 0332   ROR     INSTR    M/11                    "                  READ, OR
 0333   ROUND   PRET OP  I/68 D/C3               "                  ROUND
 0334   RTB     PRET OP  I/68 D/C2               "                  RETURN TO BASIC
 0336   RVQ     PRET OP  I/68 D/C2  <ITCQ>       "                  RETURN VIA QPRET
 0338   RXOR    INSTR    M/12                    "                  READ, EXCLUSIVE OR

# Page 31
#      @GUIDE TO OP CODES RECOGNIZED BY YUL SYSTEM FOR BLK2 AND AGC              USER'S OWN PAGE NO.   6        PAGE   6

 0340   OP CODE  TYPE    REF/PAGE   SAME AS     SCOPE  EFFECT OF *  SIGNIFICANCE OF ABBREVIATION
 0342   -------  ----    --------   -------     -----  -----------  ----------------------------

 0344   SBANK=  CLERICAL M/26.1                 SAME                SUPER-BANK SETTING EQUALS
 03451  SEGNUM  CLERICAL T/13                    "                  SEGMENT NUMBER
 0346   SET     PRET OP  I/68 D/C3               "                  SET A BIT
 0347   SETGO   PRET OP  I/68 D/C3               "                  SET A BIT AND GO TO
 0349   SETLOC  CLERICAL Y/76       <LOC>       GEN                 SET LOCATION COUNTER
 0351   SETPD   PRET OP  I/68 D/C1              SAME                SET PUSH-DOWN POINTER
 0353   SIGN*   PRET OP  I/68 D/C1               "     INDEXING     SIGN
 0354   SIN     PRET OP  I/68 D/C3  SINE         "                  SINE
 0355   SINE    PRET OP  I/10 D/C3  SIN          "                  SINE
 0356   SL*     PRET OP  I/68 D/C1               "     INDEXING     SHIFT LEFT
 0357   SLC*    PRET OP  I/13 D/C1  NORM*        "     INDEXING     SHIFT LEFT AND COUNT
 0359   SLOAD*  PRET OP  I/68 D/C1               "     INDEXING     SINGLE LOAD
 0360   SLR*    PRET OP  I/68 D/C1               "     INDEXING     SHIFT LEFT AND ROUND
 0362   SL1     PRET OP  I/68 D/C4               "                  SHIFT LEFT 1
 0363   SL1R    PRET OP  I/68 D/C4               "                  SHIFT LEFT 1 AND ROUND
 0365   SL2     PRET OP  I/68 D/C4               "                  SHIFT LEFT 2
 0366   SL2R    PRET OP  I/68 D/C4               "                  SHIFT LEFT 2 AND ROUND
 0368   SL3     PRET OP  I/68 D/C4               "                  SHIFT LEFT 3
 0369   SL3R    PRET OP  I/68 D/C4               "                  SHIFT LEFT 3 AND ROUND
 0371   SL4     PRET OP  I/68 D/C4               "                  SHIFT LEFT 4
 0372   SL4R    PRET OP  I/68 D/C4               "                  SHIFT LEFT 4 AND ROUND
 0374   SQUARE  INSTR    M/21                    "                  SQUARE
 0375   SQRT    PRET OP  I/68 D/C3               "                  SQUARE ROOT
 0376   SR*     PRET OP  I/68 D/C1               "     INDEXING     SHIFT RIGHT
 0377   SRR*    PRET OP  I/68 D/C1               "     INDEXING     SHIFT RIGHT AND ROUND
 0379   SR1     PRET OP  I/68 D/C4               "                  SHIFT RIGHT 1
 0381   SR1R    PRET OP  I/68 D/C4               "                  SHIFT RIGHT 1 AND ROUND
 0383   SR2     PRET OP  I/68 D/C4               "                  SHIFT RIGHT 2
 0385   SR2R    PRET OP  I/68 D/C4               "                  SHIFT RIGHT 2 AND ROUND
 0387   SR3     PRET OP  I/68 D/C4               "                  SHIFT RIGHT 3
 0389   SR3R    PRET OP  I/68 D/C4               "                  SHIFT RIGHT 3 AND ROUND
 0391   SR4     PRET OP  I/68 D/C4               "                  SHIFT RIGHT 4
 0393   SR4R    PRET OP  I/68 D/C4               "                  SHIFT RIGHT 4 AND ROUND
 0395   SSP*    PRET OP  I/69 D/C1               "     INDEXING     SET SINGLE PRECISION
 0397   STADR   PRET OP  I/69 D/C3               "                  STORE ADDRESS COMING
 0399   STCALL  ADR CON  I/69 D/C4              DIFF                STORE AND CALL
 0401   STODL*  ADR CON  I/69 D/C4               "     INDEXING     STORE AND DOUBLE LOAD
 0403   STORE   ADR CON  I/69 D/C4               "                  STORE
 0405   STOVL*  ADR CON  I/69 D/C4               "     INDEXING     STORE AND VECTOR LOAD
 0406   STQ     PRET OP  I/69 D/C2  <ITA>        "                  STORE QPRET
 0407   SU      INSTR    M/14                   SAME                SUBTRACT
 0408   SUBRO*  CLERICAL Y/83 G/14              GEN    SEE G/14     SUBROUTINE
 0409   SXA,1   PRET OP  I/69 D/C2              SAME                STORE INDEX 1 IN ADDRESS
 0411   SXA,2   PRET OP  I/69 D/C2               "                  STORE INDEX 2 IN ADDRESS

# Page 32
#      @GUIDE TO OP CODES RECOGNIZED BY YUL SYSTEM FOR BLK2 AND AGC              USER'S OWN PAGE NO.   7        PAGE   7

 0413   OP CODE  TYPE    REF/PAGE   SAME AS     SCOPE  EFFECT OF *  SIGNIFICANCE OF ABBREVIATION
 0415   -------  ----    --------   -------     -----  -----------  ----------------------------

 0417   TAD*    PRET OP  I/69 D/C2              SAME   INDEXING     TRIPLE ADD
 0418   TAIL    CLERICAL Y/82       HEAD        GEN                 ESTABLISH TAIL (HEAD) CHARACTER
 0420   TC      INSTR    M/3        TCR         SAME                TRANSFER CONTROL
 0422   TCAA    INSTR    M/20                    "                  TRANSFER CONTROL TO ADDRESS IN A
 0424   TCF     INSTR    M/8                     "                  TRANSFER CONTROL TO FIXED
 0426   TCR     INSTR    M/3        TC           "                  TRANSFER CONTROL, SETTING UP RETURN
 0428   TIX,1   PRET OP  I/69 D/C2               "                  TRANSFER CONTROL IF INDEX 1 IS DECREMENTABLE
 0430   TIX,2   PRET OP  I/69 D/C2               "                  TRANSFER CONTROL IF INDEX 2 IS DECREMENTABLE
 0432   TLOAD*  PRET OP  I/69 D/C1               "     INDEXING     TRIPLE LOAD
 0433   TS      INSTR    M/10                    "                  TRANSFER TO STORAGE

 0435   UNIT    PRET OP  I/69 D/C3              SAME                UNIT VECTOR

 0436   V/SC*   PRET OP  I/70 D/C1              SAME   INDEXING     VECTOR OVER SCALAR
 0438   VADR*   PRET OP  I/69 D/C1               "     INDEXING     VECTOR ADD
 0439   VCOMP   PRET OP  I/69 D/C3               "                  VECTOR COMPLEMENT
 0441   VDEF    PRET OP  I/69 D/C3               "                  VECTOR DEFINE
 0443   VLOAD*  PRET OP  I/69 D/C1               "     INDEXING     VECTOR LOAD
 0444   VN      NUM CON  G/14       <NV>         "                  VERB-NOUN CONSTANT
 0446   VPROJ*  PRET OP  I/69 D/C1               "     INDEXING     VECTOR PROJECT
 0448   VSL*    PRET OP  I/69 D/C1               "     INDEXING     VECTOR SHIFT LEFT
 0450   VSL1    PRET OP  I/69 D/C4               "                  VECTOR SHIFT LEFT 1
 0452   VSL2    PRET OP  I/69 D/C4               "                  VECTOR SHIFT LEFT 2
 0454   VSL3    PRET OP  I/69 D/C4               "                  VECTOR SHIFT LEFT 3
 0456   VSL4    PRET OP  I/69 D/C4               "                  VECTOR SHIFT LEFT 4
 0458   VSL5    PRET OP  I/69 D/C4               "                  VECTOR SHIFT LEFT 5
 0460   VSL6    PRET OP  I/69 D/C4               "                  VECTOR SHIFT LEFT 6
 0462   VSL7    PRET OP  I/69 D/C4               "                  VECTOR SHIFT LEFT 7
 0464   VSL8    PRET OP  I/69 D/C4               "                  VECTOR SHIFT LEFT 8
 0466   VSQ     PRET OP  I/70 D/C3               "                  VECTOR SQUARE
 0468   VSR*    PRET OP  I/69 D/C1               "     INDEXING     VECTOR SHIFT RIGHT
 0470   VSR1    PRET OP  I/69 D/C4               "                  VECTOR SHIFT RIGHT 1
 0472   VSR2    PRET OP  I/69 D/C4               "                  VECTOR SHIFT RIGHT 2
 0474   VSR3    PRET OP  I/69 D/C4               "                  VECTOR SHIFT RIGHT 3
 0476   VSR4    PRET OP  I/69 D/C4               "                  VECTOR SHIFT RIGHT 4
 0478   VSR5    PRET OP  I/69 D/C4               "                  VECTOR SHIFT RIGHT 5
 0480   VSR6    PRET OP  I/70 D/C4               "                  VECTOR SHIFT RIGHT 6
 0482   VSR7    PRET OP  I/70 D/C4               "                  VECTOR SHIFT RIGHT 7
 0484   VSR8    PRET OP  I/70 D/C4               "                  VECTOR SHIFT RIGHT 8
 0486   VSU*    PRET OP  I/70 D/C1               "     INDEXING     VECTOR SUBTRACT
 0488   VXM*    PRET OP  I/70 D/C1               "     INDEXING     VECTOR TIMES MATRIX
 0490   VXSC*   PRET OP  I/70 D/C1               "     INDEXING     VECTOR TIMES SCALAR
 0492   VXV*    PRET OP  I/70 D/C1               "     INDEXING     VECTOR CROSS VECTOR

# Page 33
#      @GUIDE TO OP CODES RECOGNIZED BY YUL SYSTEM FOR BLK2 AND AGC              USER'S OWN PAGE NO.   8        PAGE   8

 0494   OP CODE  TYPE    REF/PAGE   SAME AS     SCOPE  EFFECT OF *  SIGNIFICANCE OF ABBREVIATION
 0496   -------  ----    --------   -------     -----  -----------  ----------------------------

 0498   WAND    INSTR    M/11                   SAME                WRITE, AND
 0499   WOR     INSTR    M/12                    "                  WRITE, OR
 0500   WRITE   INSTR    M/11                    "                  WRITE

 0501   XAD,1   PRET OP  I/70 D/C2              SAME                INDEX 1 ADD
 0502   XAD,2   PRET OP  I/70 D/C2               "                  INDEX 2 ADD
 0503   XCH     INSTR    M/10                    "                  EXCHANGE
 0504   XCHX,1  PRET OP  I/70 D/C2               "                  EXCHANGE INDEX 1
 0506   XCHX,2  PRET OP  I/70 D/C2               "                  EXCHANGE INDEX 2
 0508   XLQ     INSTR    M/15                    "                  EXECUTE USING L AND Q
 0510   XSU,1   PRET OP  I/70 D/C2               "                  INDEX 1 SUBTRACT
 0512   XSU,2   PRET OP  I/70 D/C2               "                  INDEX 2 SUBTRACT
 0514   XXALQ   INSTR    M/15                    "                  EXECUTE EXTRACODE USING A, L, AND Q

 0516   ZL      INSTR    M/19                   SAME                ZERO L
 0517   ZQ      INSTR    M/20                    "                  ZERO Q

 0518   0       INSTR    G/15       SEE M/34    SAME                000 BINARY

 0519   1       INSTR    G/15       SEE M/34    SAME                001 BINARY
 0520   1DNADR  ADR CON  M/26.1     ECADR        "                  1-DP-WORD-FOR-DOWNLINK ADDRESS

 0522   2       INSTR    G/15       SEE M/34    SAME                010 BINARY
 0523   2BCADR  ADR CON  M/27 G/15  2CADR       DIFF                2-WORD BBANK-TYPE COMPLETE ADDRESS
 0525   2CADR   ADR CON  M/27 G/15  2BCADR       "                  2-WORD COMPLETE ADDRESS
 0527   2DEC*   NUM CON  Y/67                   GEN    SEE Y/69     2-WORD DECIMAL CONSTANT
 0529   2DNADR  ADR CON  M/26.1                 SAME                2-DP-WORD-FOR-DOWNLINK ADDRESS
 0531   2FCADR  ADR CON  M/27                    "                  2-WORD FBANK-TYPE COMPLETE ADDRESS
 0533   2OCT*   NUM CON  Y/67       <2OCTAL>    GEN    SEE Y/69     2-WORD OCTAL CONSTANT
 0535   2OCTAL  NUM CON  Y/67       2OCT         "                  2-WORD OCTAL CONSTANT

 0537   3       INSTR    G/15       SEE M/34    SAME                011 BINARY
 0538   3DNADR  ADR CON  M/26.1                  "                  3-DP-WORD-FOR-DOWNLINK ADDRESS

 0540   4       INSTR    G/15       SEE M/34    SAME                100 BINARY
 0541   4DNADR  ADR CON  M/26.1                  "                  4-DP-WORD-FOR-DOWNLINK ADDRESS

 0543   5       INSTR    G/15       SEE M/34    SAME                101 BINARY
 0544   5DNADR  ADR CON  M/26.1                  "                  5-DP-WORD-FOR-DOWNLINK ADDRESS

 0546   6       INSTR    G/15       SEE M/34    SAME                110 BINARY
 0547   6DNADR  ADR CON  M/26.1                  "                  6-DP-WORD-FOR-DOWNLINK ADDRESS

 0549   7       INSTR    G/15       SEE M/34    SAME                111 BINARY


 0550   DISTRIBUTION:

 0551  *ADR CON 25,   CLERICAL 19,  INSTR 66,     MERGE 4,      NUM CON 9,    PRET OP 143,  OBSOLETE 1,   TOTAL 267.

# Page 34
#      @GUIDE TO OP CODES RECOGNIZED BY YUL SYSTEM FOR BLK2 AND AGC              USER'S OWN PAGE NO.   9        PAGE   9

 0553   GUIDE TO COLUMN 1 AND 8 CONTENTS MEANINGFUL TO YUL

 0554   COLUMN 1 TYPE    REF/PAGE   SIGNIFICANCE OF ABBREVIATION
 0555   -------- ----    --------   ----------------------------

 0556   (BLANK) (SEE OP) G/9        COMMONEST TYPE
 0557   =       MERGE    D/7  Y/87  SEEK AND ACCEPT A CARD EQUAL TO THIS ONE
 0558   *       MONITOR  Y/51 G/9   IBM-7090 FAP MONITOR HAD * ON MONITOR CARDS
 0559   A       REMARK   Y/51 Y/90  ALIGNED REMARKS (ALIGNED WITH INSTRUCTIONS)
 0560   J       LEFTOVER Y/72 G/9   JOKER (WILD CARD)--VALUE ASSIGNED BY YUL.  NOTE: OP CODE TYPE MUST BE INSTR OR CONST
 0562   L       LOG      Y/88 D/5   LOG CARD, INVENTED IN IBM-650 DAYS TO PRINT LOG NUMBER AND PAGE HEADING
 0564   P       REMARK   Y/51 Y/90  PAGE-HEAD REMARKS
 0565   R       REMARK   Y/51 Y/89  REMARKS
 0566   S       SUBDIR   Y/49 D/4   SUBDIRECTOR--MEANINGLESS UNLESS FOLLOWING A YUL DIRECTOR CARD (Q.V.)
 0568   T       MERGE    Y/81 D/8   TUCK IN A NEW SECTION (AHEAD OF NEXT LOG)
 0569   Y       DIRECTOR Y/36 D/2   YUL DIRECTOR--FIRST CARD OF EVERY YUL TASK


 0570   COLUMN 8 MEANS   REF/PAGE
 0571   -------- ----    --------

 0572   (BLANK) SPACE 1  Y/55
 0573   0       SPACE 0  Y/55
 0574   1       SPACE 1  Y/55
 0575   2       SPACE 2  Y/55
 0576   3       SPACE 3  Y/55
 0577   4       SPACE 4  Y/55
 0578   5       SPACE 5  Y/55
 0579   6       SPACE 6  Y/55
 0580   7       SPACE 7  Y/55
 0581   8       SKIP     Y/55
 0582   9       RT PRINT Y/55 Y/90


 0583   NOTES ON THIS PAGE
 0584   ------------------

 0585   BLANK COLUMM 1:  THE DECODING OF THIS TYPE IS GOVERNED BY THE OP CODE IN COLUMNS 18-23 UNLESS COLUMN 8 CONTAINS
 0587   A 9, IN WHICH CASE THE CARD IS A RIGHT-PRINT REMARKS CARD, IRRESPECTIVE OF COLUMNS 18-23.  IN FACT, A 9 IN
 0589   COLUMN 8 WILL OVERPOWER ANY COLUMN 1 CHARACTER EXCEPT *, S, AND Y.  SPECIAL CASE:  WHEN "ASSEMBLING FOR 1800,"
 0591   BLANK IN COLUMN 1 IS EQUIVALENT TO R IN COLUMN 1.  THAT'S WHAT'S SO ODD ABOUT REFERENCES D AND G.

 0593   * IN COLUMN 1:  EITHER A MONITOR CARD OR A Y CARD MARKS THE END OF INPUT TO ANY YUL TASL.  SYSTEM/360 MONITOR
 0595   CARDS BEGIN WITH EITHER // OR /*.  IN ANY CASE, MONITOR CARDS ARE SUPPLIED BY THE OPERATOR.

 0597   J IN COLUMN 1:  THE LEFTOVER RULES GIVEN AT Y/72 HAVE BEEN REFINED TO MAKE THE LEFTOVER GO INTO THE RIGHT BANK,
 0599   AS FAR AS THIS CAN BE DETERMINED.  THE DETERMINATION IS BASED ON THE STATE OF THE LOCATION COUNTER AT THE TIME
 0601   THE LEFTOVER IS ENCOUNTERED, AS FOLLOWS:

 0602   LOCATION COUNTER:  UNDETERMINED       UNSWITCHED ERAS.   ANY E-BANK E3-E7   FIXED-FIXED        ANY F-BANK 00-43
 0604   LEFTOVER WORD(S):  ANYWHERE IN FIXED  ANYWHERE IN FIXED  ANYWHERE IN FIXED  IN FIXED-FIXED     IN SAME F-BANK
 0606   LEFTOVER ERASE:    ANYWHERE IN ERAS.  IN UNSWITCHED E    IN SAME E-BANK     ANYWHERE IN ERAS.  ANYWHERE IN ERAS.

# Page 35
#      @GUIDE TO OP CODES RECOGNIZED BY YUL SYSTEM FOR BLK2 AND AGC              USER'S OWN PAGE NO.  10        PAGE  10

 0608   NOTES ON SOME OP CODES
 0609   ----------------------


 0610   (BLANK), <P>

 0611           THIS IS THE CODE FOR INTERPRETIVE ADDRESS CONSTANTS.  REFER TO D/C1-D/C4 FOR THE NUMBER AND KINDS OF
 0613   ADDRESSES REQUIRED BY EACH INTERPRETIVE OP CODE.  THIS OP CODE IS REQUIRED FOR ALL KINDS OF ADDRESSES EXCEPT C;
 0615   C ADDRESSES ARE REALLY OPERANDS AND MAY HAVE THIS OR ANY OTHER OP CODE THAT GENERATES A ONE-WORD CONSTANT OR
 0617   INSTRUCTION.


 0618   =, EQUALS, <IS>

 0619           THE RULES GOVERNING ADDRESS SYMBOLS NOT PREDEFINED IN PASS 1, GIVEN AT Y/81, HAVE BEEN IMPROVED.  THE
 0621   CURRENT RULE IS THIS: IF THE ADDRESS SYMBOL HAS NOT BEEN PREDEFINED WHEN THE EQUALS CARD REFERRING TO IT IS
 0623   ENCOUNTERED IN PASS 1, THEN THE LOCATION SYMBOL IS STORED IN THE SYMBOL TABLE WITH A POINTER TO THE ADDRESS
 0625   SYMBOL'S PLACE IN THE TABLE (DEFINER THREAD) AND A 16-BIT FIELD CONTAINING THE SIGNED MODIFIER FROM THE ADDRESS
 0627   FIELD, AND THE ADDRESS SYMBOL IS STORED IN THE SYMBOL TABLE WITH A POINTER TO THE LOCATION SYMBOL'S PLACE
 0629   (DEFINEE THREAD).  THERE ARE ALSO SOME COMPLICATIONS TO COVER THE CASE OF A SYMBOL THAT DEFINES SEVERAL SYMBOLS.
 0631   THE UPSHOT OF ALL THIS IS THAT AN INTERMEDIATE PASS, CALLED PASS 1.5, RUNS AROUND THE SYMBOL TABLE CLEANING UP
 0633   ALL UNFINISHED EQUALS DEFINITIONS BEFORE PASS 2 BEGINS.  IF A DEFINER IS UNDEFINED OR ILL-DEFINED, ITS WHOLE
 0635   TREE OF DEFINEES IS CALLED "NEARLY DEFINED," MEANING THAT THE FORM OF THE EQUALS DEFINITION IS ALL RIGHT, AND
 0637   ONLY THE DEFINITION OF THE ADDRESS SYMBOL IS LACKING.  SIMILARLY, ALL MEMBERS OF A VICIOUS CIRCLE OF EQUALS
 0639   DEFINITIONS, AND THEIR OTHER DEFINEES, ARE CALLED "NEARLY DEFINED."  TO TAKE SOME EXAMPLES FROM Y/81:

 0641   OUT1     IS     BNK -4
 0642   BNK      EQUALS 15              PUTS INTO THE SYMBOL TABLE:

 0643           LOCA:    OUT1                   LOCB:  BNK
 0644                    -4         (N)                15           (=)         (N FOR NEARLY DEF., = FOR DEF. BY =.)
 0646                    LOCB       0                  0            LOCA        (DEFINER THREAD AND DEFINEE THREAD)

 0648   WHEN PASS 1.5 FINDS OUT1 DURING ITS SCAN OF NEARLY DEFINED SYMBOLS, IT FOLLOWS THE DEFINER THREAD TO LOCB, WHERE
 0650   IT FINDS THE DEFINITION OF BNK.  IT THEN FOLLOWS THE DEFINEE THREAD TO LOCA, AND FILLS IN THE DEFINITION OF
 0652   OUT1.  THE SYMBOL TABLE ENTRIES BECOME:

 0653           LOCA:    OUT1                   LOCB:  BNK
 0654                    11         (=)                15           (=)
 0655                    0          0                  0            0

 0656           THE IMPLICATION FOR THE PROGRAMMER IS THAT A TREE OF EQUALS DEFINITIONS MAY HAVE ANY DEPTH, BE OF ANY
 0658   COMPLEXITY, AND THE DEFINITIONS MAY BE IN ANY ORDER, PROVIDED ONLY THAT THE TREE IS LOGICALLY VALID.  THERE IS,
 0660   HOWEVER, ONE VERY SMALL REWARD FOR HAVING A PREDEFINED ADDRESS SYMBOL: THE ADDRESS FIELD MODIFIER MAY LIE
 0662   OUTSIDE THE RANGE -32767D TO +32767D, BECAUSE IT DOESN'T HAVE TO FIT INTO A 16-BIT FIELD.

# Page 36
#      @GUIDE TO OP CODES RECOGNIZED BY YUL SYSTEM FOR BLK2 AND AGC              USER'S OWN PAGE NO.  11        PAGE  11

 0664   =MINUS

 0665           THIS CODE OPERATES BY SUBTRACTING THE LOCATION COUNTER VALUE FROM THE ADDRESS FIELD MODIFIER AND PRO-
 0667   CEEDING EXACTLY AS FOR EQUALS, SO THE RESTRICTION AT THE END OF THE PRECEDING NOTE COULD BECOME IMPORTANT.
 0669   HOWEVER, IT IS STILL EASY TO GET AROUND: SUPPOSE TABLE AND ENDTABLE ARE KNOWN TO BE IN SUPER-BANK 4, THEN

 0671            SETLOC TABLE
 0672   SIZTABLE =MINUS ENDTABLE        WORKS ONLY IF ENDTABLE IS PREDEFINED.

 0673   THE ESCAPE IS TO WRITE INSTEAD:

 0674            SETLOC TABLE -20000
 0675   TEMTABLE =MINUS ENDTABLE
 0676   SIZTABLE EQUALS TEMTABLE -20000


 0677   =PLUS

 0678           THIS CODE OPERATES BY ADDING THE LOCATION COUNTER VALUE TO THE ADDRESS FIELD MODIFIER AND PROCEEDING
 0680   EXACTLY AS FOR EQUALS.  THEREFORE REMARKS SIMILAR TO THOSE FOR =MINUS APPLY TO =PLUS, THOUGH THE CASE IS MUCH
 0682   LESS LIKELY.


 0683   BANK

 0684           THIS CODE OPERATES SIMILARLY TO BLOCK, AS DESCRIBED AT Y/77, EXCEPT IN TWO RESPECTS: THE BLOCK SIZE IN
 0686   BLK2 AND AGC IS 1024D = 2000, AND THE BANK NUMBERS ARE 4 LESS THAN THE CORRESPONDING BLOCK NUMBERS, BECAUSE BANK
 0688   00 STARTS AT PSEUDO-ADDRESS 10000 INSTEAD OF 0.  EXAMPLES:

 0689            BANK   20              FIND FIRST UNUSED LOCATION IN BANK 20
 0690            BANK   0 +1400         FIND FIRST UNUSED LOCATION IN LAST PARAGRAPH OF BANK 20
 0692            BANK   3               IS ILLEGAL: THAT'S NONEXISTENT MEMORY
 0693            BANK                   FIND FIRST UNUSED LOCATION IN SAME BANK AS LOCATION COUNTER VALUE
 0695   SEE ALSO NOTE ON BLOCK.


 0696   BBCON*

 0697           BITS 7-5 OF A BBCON WORD CONTAIN THE CURRENT SBANK= SETTING (000 IF NONE HAS BEEN ESTABLISHED IN THE
 6099   PROGRAM) OR, IF THE FIXED-BANK NUMBER IS 30 OR MORE, IT CONTAINS THE CORRESPONDING SUPER-BANK NUMBER, WHICH IS
 0701   ALWAYS THE EIGHTS' DIGIT OF THR BANK NUMBER.  IN THE AGC ASSEMBLER, THE E-BANK VALUE MUST BE GIVEN BY A ONE-SHOT
 0703   EBANK= DECLARATION.  THIS IS OPTIONAL IN BLK2.  IN EITHER ASSEMBLER, A ONE-SHOT SBANK= MAY BE USED UNLESS IT
 0705   CONFLICTS WITH THE FIXED-BANK VALUE.

 0706           THE STARRED VERSION, BBCON*, IS A SPECIAL IMPLIED-ADDRESS CONSTANT CREATED FOR THE BANKSUM CHECKING IN
 0708   SELFCHECK.  THE ADDRESS FIELD MUST BE LEFT BLANK, AND THE WORD IS ASSEMBLED AS IF THE ADDRESS HAD BEEN THE
 0710   HIGHEST ADDRESS OCCUPIED BY A WORD IN THIS ASSEMBLY.  ASIDE FROM THAT, ALL THE BBCON RULES APPLY.  THE EFFECT OF
 0712   THE BBCON* WORD IS TO TELL SELFCHECK WHICH IS THE LAST BANK THAT NEEDS ITS BANKSUM CHECKED.

# Page 37
#      @GUIDE TO OP CODES RECOGNIZED BY YUL SYSTEM FOR BLK2 AND AGC              USER'S OWN PAGE NO.  12        PAGE  12

 0714   BLOCK

 0715           THE MEMORY BLOCK SIZE IN BLK2 AND AGC IS 1024D = 2000, CONTRARY TO Y/77, WHICH GIVES THE BLOCK 1 AGC
 0717   PARAMETERS.  THE BLOCK NUMBER IS THEREFORE OBTAINED BY SHIFTING THE PSEUDO-ADDRESS RIGHT 10 BITS, I.E.

 0719   BLOCK #:   0      1        2,3         4        5       10       11             N
 0721   MEMORY:  E0-E3  E4-E7  FIXED-FIXED  BANK 00  BANK 01  BANK 04  BANK 05  ...  BANK N-4

 0723   AS FIXED-FIXED MEMORY HAS 2 BLOCK NUMBERS BUT NO BANK NUMBERS, IT IS NECESSARY TO USE BLOCK RATHER THAN BANK
 0725   WHEN SEEKING A FREE LOCATION IN FIXED-FIXED.

 0726           AN ADDRESS FORMAT HAS BEEN ADDED TO BLOCK AND BANK SINCE Y/77 WAS WRITTEN: BLANK OR PLUS-SIGNED NUMERIC:

 0728            BLOCK                  FIND FIRST FREE LOCATION IN SAME BLOCK AS LOCATION COUNTER VALUE
 0730            BLOCK  +1000           FIND FIRST FREE LOCATION IN LAST HALF OF SAME BLOCK AS LOCATION COUNTER VALUE

 0732   THE EFFECT IS TO ALLOW A BLOCK OR BANK CODE TO DEPEND ON A SYMBOLIC ADDRESS FIELD, WHICH IS LOCATED IN A PRE-
 0734   CEDING SETLOC.


 0735   BNKSUM

 0736           THIS CODE GENERATES THE END-OF-BANK PATTERN RECOGNIZED BY SELFCHECK IN ITS CHECKSUM TEST OF FIXED
 0738   MEMORY.  MORE IMMEDIATELY, THE PATTERN IS RECOGNIZED BY YUL PASS 3, WHICH COMPUTES CHECKSUM WORDS AND MAKES THEM
 0740   THE LAST OCCUPIED WORDS IN EACH BANK.  THE BLK2 AND AGC ASSEMBLERS TREAT BNKSUM THE SAME IN THE FOLLOWING
 0742   RESPECTS:

 0743   (1)     THE LOCATION FIELD SHOULD BE BLANK.

 0744   (2)     THE ADDRESS FIELD MUST CONTAIN EITHER A BANK NUMBER (THE USUAL CASE) OR AN ADDRESS IN FIXED MEMORY.
 0746           FOR BNKSUM PURPOSES, FIXED-FIXED IS INDICATED BY BANK NUMBERS 2 AND 3.

 0748   (3)     IF THE INDICATED BANK IS EMPTY, AND NO HIGHER BANK IS OCCUPIED, BNKSUM GENERATES NO WORDS, AND PRINTS
 0750           "NO NEED" IN THE ASSEMBLY LISTING.  THUS A COMPLETE LIST OF BNKSUM CARDS WILL SERVE A PROGRAM OF VARYING
 0752           LENGTH.

 0753   (4)     BNKSUM TRIES TO GENERATE TWO CONSECUTIVE ADRES-SELF WORDS, THAT IS, TC-TO-SELF WORDS FLAGGED AS CON-
 0755           STANTS TO STOP AN ALL-DIGITAL SIMULATION QUICKER THAN A TRUE TC-TO-SELF, IF EXECUTED.  THE PLACING OF
 0757           THE FIRST WORD IS GOVERNED BY A SEARCH FOR THE FIRST UNOCCUPIED WORD IN THE BANK, REGARDLESS OF WHETHER
 0759           THE REST OF THE BANK IS EMPTY.  IN PARTICULAR, IF THE FOLLOWING LOCATION IS OCCUPIED, THE SECOND ADRES-
 0761           SELF WORD GOES THERE ANYWAY, WITH A CONFLICT CUSS.

 0762           IN THE BLK2 ASSEMBLER, AND IN AGC PROGRAM SUNBURST, SELFCHECK LOGIC REQUIRES BOTH ADRES-SELF WORDS
 0764   FOLLOWED BY A CHECKSUM WORD, THE LATTER CHOSEN SUCH THAT THE SUM OF ALL WORDS IN THE BANK ADD UP TO THE BANK
 0766   NUMBER.  THE SUM IS COMPUTED IN A SLIGHTLY SPECIAL WAY, WITH PLUS OR MINUS OVERFLOW BEING CARRIED END-AROUND AS
 0768   A PLUS OR MINUS 00001.  THE REQUIREMENT FOR BOTH ADRES-SELF WORDS MEANS THAT THE FIRST MAY BE PLACED NO LATER
 0770   THAN LOCATION 3775 OF THE BANK.  IF ALL WORDS 2000-3775 ARE OCCUPIED, THE ADRES-SELF WORDS GO INTO LOCATIONS
 0772   3775 AND 3776 WITH A CONFLICT CUSS.

# Page 38
#      @GUIDE TO OP CODES RECOGNIZED BY YUL SYSTEM FOR BLK2 AND AGC              USER'S OWN PAGE NO.  13        PAGE  13

 0773   BNKSUM (CONTINUED)

 0774           THE AGC ASSEMBLER RULES CORRESPOND TO A CHANGE IN SELFCHECK THAT WAS MADE AFTER BURST116 WAS FROZEN.
 0776   THE CHANGE IS THAT THE ADRES-SELF WORDS ARE PARTLY OR WHOLLY OMITTED IN A NEARLY FULL BANK.  THAT IS, IF
 0778   LOCATIONS 2000-3775 ARE OCCUPIED, EITHER OR BOTH OF THE ADRES-SELF WORDS ARE OMITTED IN SUCH A WAY THAT THE
 0780   CHECKSUM WORD IS IN LOCATION 3777.  TO ELIMINATE CONFUSION ABOUT THE AMOUNT OF ROOM LEFT IN A BANK, THE AGC
 0782   BNKSUM PROCEDURE PRINTS THE NUMBER OF WORDS (IN DECIMAL) FROM THE LOCATION OF THE FIRST ADRES-SELF WORD THROUGH
 0784   LOCATION 3776, THAT IS, THE ABSOLUTE MAXIMUM OF WORDS THAT CAN BE ADDED IN THAT BANK AND STILL LEAVE ONE
 0786   LOCATION FOR THE CHECKSUM.  THE REQUIREMENT FOR THE CHECKSUM IN THE AGC ASSEMBLER IS DIFFERENT TOO: THE BANK
 0788   MUST ADD UP TO PLUS OR MINUS THE BANK NUMBER.  TO SEE WHY, IMAGINE THAT BANK 25 IS FULL AND THAT LOCATIONS
 0790   2000-3776 ADD UP (CHECKSUM-FASHION) TO 40000, OR -37777.  NOW NO CHECKSUM WORD CAN BE CHOSEN THAT WILL YIELD
 0792   00025 WHEN ADDED TO 40000, BUT A CHECKSUM WORD OF 37752 YIELDS 77752 = -25.  THIS CAN NEVER HAPPEN IN BLK2
 0794   BECAUSE THE LAST TWO WORDS BEFORE THE CHECKSUM WORD CONTRIBUTE AT LEAST +4001 TO THE SUM, WHICH THEREFORE HAS A
 0796   POSSIBLE RANGE OF -33774 TO +37777.  IF BNKSUM FINDS A BANK'S 1024D WORDS ALL OCCUPIED, IT PUTS 03777 INTO
 0798   LOCATION 3777 OF THE BANK, WITH A CONFLICT CUSS.

 0799           THIS IS A GOOD PLACE TO SAY SOMETHING ABOUT THE COMPUTATION OF THE CHECKSUM WORD IN PASS 3.  IT WILL
 0801   ACCEPT THE FIRST CONSECUTIVE PAIR OF TC-SELFS (OR ADRES-SELFS) IN A BANK AS THE END-OF-BANK MARKER, AND TRY TO
 0803   PUT THE CHECKSUM WORD IN THE FOLLOWING LOCATION, BUT IT'S PERFECTLY HAPPY IF THERE IS NO SUCH PAIR (MEANING NO
 0805   CHECKSUM IS WANTED).  THE GENERAL PRINCIPLE IS TO GIVE YOU EITHER A CHECKSUM OR A REASON WHY NOT.  IF A BANK IS
 0807   COMPLETELY FILLED, WITH NO CONSECUTIVE PAIR OF TC-SELFS, THE LAST WORD IN THE BANK GETS THE PREFIX "NOSUM" IN
 0809   THE OCTAL STORAGE MAP.  IF THERE IS AN UNOCCUPIED LOCATION BEFORE ANY PAIR OF TC-SELFS, IT IS MARKED "NO
 0811   CHECKSUM," AND NO ATTEMPT IS MADE TO COMPUTE ONE.  IF A LOCATION IS EITHER A "BAD WORD" OR A "CONFLICT," THERE
 0813   IS NO CHECKSUM.  IF THE LOCATION WHERE THE CHECKSUM WORD SHOULD GO IS OCCUPIED, THE OFFENDING WORD IS PREFIXED
 0815   "=SUM" AND THE CHECKSUM IS ABANDONED.  IF ANY WORDS AFTER THE CHECKSUM WORD ARE OCCUPIED, THE FIRST IS PREFIXED
 0817   "=EOB" (END-OF-BANK ERROR).  THE PREFIXES BEGINNING WITH = COUNT AS CUSSED LINES.  A PECULAIR CASE ARISES IF THE
 0819   TC-SELFS ARE THE LAST TWO WORDS OF A PARAGRAPH BUT NOT THE END OF A BANK, AND THE FOLLOWING PARAGRAPH IS
 0821   UNOCCUPIED (BY EXPLICIT CODING, ANYWAY).  A PARAGRAPH MUST BE CREATED JUST FOR THE CHECKSUM WORD, AND THE ONLY
 0823   FACILITY THAT DOES IT AUTOMATICALLY IS THE BNKSUM ROUTINE IN THE AGC ASSEMBLER.

 0825           IN THE AGC COMPUTATION OF THE CHECKSUM WORD, THE RULE IS TO GIVE IT THE SMALLEST MAGNITUDE POSSIBLE.
 0827   IF THE SUM FROM THE BEGINNING OF THE BANK THROUGH THE LAST WORD BEFORE THE CHECKSUM IS POSITIVE (NEGATIVE), THE
 0829   CHECKSUM WORD IS CHOSEN TO MAKE THE WHOLE BANK ADD UP TO PLUS (MINUS) THE BANK NUMBER.  IN AGC OR BLK2, BY THE
 0831   WAY, BANK 00 HAS TO ADD UP TO 77777 (-0).


 0832   EBANK=

 0833           THE AGC ASSEMBLER REQUIRES THE ADDRESS VALUE FOR EBANK= TO BE AT LEAST 10 AND AT MOST 3777--THAT IS, AN
 0835   ADDRESS IN ERASABLE MEMORY.  THE BLK2 ASSEMBLER ALLOWS THESE, AND ALSO ALLOWS E-BANK NUMBERS 0-7.

 0837           THE AGC ASSEMBLER REQUIRES A ONE-SHOT EBANK= DECLARATION BEFORE EVERY BBCON OR BBCON* AND 2BCADR OR
 0839   2CADR;  THE BLK2 ASSEMBLER DOES NOT.


 0840   EDRUPT

 0841           THE BLK2 ASSEMBLER REGARDS EDRUPT AS AN IMPLIED-ADDRESS EXTRACODE AND ALWAYS ASSEMBLES IT 07000.  THE
 0843   AGC ASSEMBLER REGARDS IT AS A FULL EXTRACODE REQUIRING A FIXED-MEMORY ADDRESS, AND IT IS THE AGC PROGRAMMER'S
 0845   RESPONSIBILITY TO SEE THAT THE ADDRESS IS BETWEEN 7000 AND 7777.  THIS IS BECAUSE, IN THE FLIGHT-ROPE APPLICA-
 0847   TION, CONTROL RETURNS (AFTER CERTAIN RESUMES) TO THE EDRUPT INSTRUCTION, NOT TO THE EXTEND BEFORE IT, SO THAT IT
 0849   IS EXECUTED AS A TC INSTRUCTION.  SEE T5JOB IN SUNDANCE FOR FURTHER INFORMATION.

# Page 39
#      @GUIDE TO OP CODES RECOGNIZED BY YUL SYSTEM FOR BLK2 AND AGC              USER'S OWN PAGE NO.  14        PAGE  14

 0851   EVEN

 0852           THIS CODE TAKES NO LOCATION OR ADDRESS FIELDS.  IF THE LOCATION COUNTER VALUE IS EVEN, IT HAS NO EFFECT.
 0854   IF THE LOCATION COUNTER VALUE IS ODD, IT IS INCREMENTED.  THIS IS USEFUL IF IT'S DESIRED TO ALIGN DOUBLE-WORD
 0856   QUANTITIES ON EVEN LOCATIONS, WHICH INCIDENTALLY GUARDS AGAINST BANK-STRADDLING.  HOWEVER, IT SHOULD BE USED IN
 0858   CONJUNCTION WITH LEFTOVER CONSTANTS TO FILL UP THE RESULTING HOLE.  DON'T FEEL BAD IF YOU CAN'T USE IT.


 0860   MM

 0861           THIS CODE IS EQUIVALENT TO DEC EXCEPT THAT THE ARGUMENT IS LIMITED TO A MAGNITUDE OF 99.  IT WAS INTRO-
 0863   DUCED TO EASE THE TRANSITION FROM OCTAL TO DECIMAL MAJOR MODES, AND NOW HAS MOSTLY EYEBALL VALUE.


 0865   MODIFY

 0866           THIS CODE IS LISTED HERE MOSTLY FOR THE BENEFIT OF THOSE (LIKE THE YUL-360 PEOPLE) WHO READ THE YUL-
 0868   1800 PROGRAM.  THE CODE IS RECOGNIZED BUT IT IS NOT NOW INTENDED TO BE USED, AT LEAST IN FLIGHT PROGRAMS.  IT
 0870   TAKES NO LOCATION OR ADDRESS FIELD, AND ITS FUNCTION IS TO ACCEPT ALL CARD IMAGES COMING IN FROM TAPE IN A
 0872   REVISION OR VERSION ASSEMBLY OR FROM THE DISC IN A TRANSFERRED ASSEMBLY, UP TO AND INCLUDING THE NEXT "END OF"
 0874   CARD IMAGE, WHICH MARKS THE END OF EVERY PROGRAM AND SUBROUTINE FILE ON TAPE.  THEN FURTHER CHANGE CARDS FROM
 0876   THE CARD READER ARE MERGED WITH A SUBROUTINE CALLED BY THE MAIN PROGRAM, FOR THE DURATION OF THE CURRENT ASSEM-
 0878   BLY ONLY.  THE SUBROUTINE FILES ON TAPE ARE UNCHANGED.  THE YUL-360 PEOPLE ARE BEGINNING TO USE THE WORD
 0880   "MODIFY" IN THE SENSE OF "REVISE A SUBROUTINE."


 0881   SUBRO*

 0882           THIS CODE MAY ONLY BE USED IN A PROGRAM, I.E. SUBROUTINES CAN'T CALL OTHER SUBROUTINES.  THE SUPPRESSION
 0884   OF PRINTING CALLED FOR BY THE SUBDIRECTOR "SUPPRESS INACTIVE SUBROUTINES" WORKS THIS WAY: IF A SUBROUTINE HAS
 0886   NOT BEEN CHANGED SINCE THE LAST ASSEMBLY OF THE PORGRAM CALLING IT, IT IS "INACTIVE,"AND IF THE SUPPRESSION IS
 0888   ON, THE ONLY LINES PRINTED ARE THE "END OF" LINE AND ANY CUSSED LINE WITH ITS CUSSES.  THESE ARE MADE TO APPEAR
 0890   UNDER THEIR PROPER LOG SECTIONS.

 0891           A SUBROUTINE MAY BE MADE PERMANENTLY ACTIVE WITH RESPECT TO A GIVEN PROGRAM IF IT IS CALLED BY SUBRO*
 0893   INSTEAD OF SUBRO.  ALL SUBROUTINES CALLED IN A NEW, VERSION, OR TRANSFERRED PROGRAM ASSEMBLY ARE NECESSARILY
 0895   ACTIVE, SINCE A NEW PROGRAM IS BEING CREATED.


 0896   VN, <NV>

 0897           THIS IS A VARIATION ON DEC TO PACK TWO SEVEN-BIT FIELDS, REPRESENTING A VERB AND A NOUN, INTO ONE AGC
 0899   WORD.  THE VERB AND NOUN NUMBERS ARE WRITTEN IN THE ADDRESS FIELD IN DECIMAL, IN THE FORM VVNN (OR INDEED ANY
 0901   FORM ACCEPTABLE TO DEC THAT COMES TO THE SAME VALUE).  THE MAGNITUDE OF THIS EXPRESSION IS LIMITED TO 9999.
 0903   THE PARTS VV AND NN ARE IN EFFECT CONVERTED TO BINARY SEPARATELY AND PLACED IN BITS 14-8 AND 7-1 OF THE WORD,
 0905   RESPECTIVELY.

# Page 40
#      @GUIDE TO OP CODES RECOGNIZED BY YUL SYSTEM FOR BLK2 AND AGC              USER'S OWN PAGE NO.  15        PAGE  15

 0906   0, 1, 2, 3, 4, 5, 6, 7

 0907           THESE ARE THE ONLY NUMERIC OP CODES.  THEY ARE ALL REGARDED AS REGULAR CODES (NON-EXTRACODE) AND AS FULL
 0909   CODES, TAKING A 12-BIT ADDRESS PART.  THUS CODE 2, FOR INSTANCE, COULD STAND FOR DAS, LXCH, INCR, OR ADS, DE-
 0911   PENDING ON THE VALUE OF THE ADDRESS.  IT COULD ALSO STAND FOR MSU, QXCH, AUG, OR DIM IF THE PRECEDING WORD IS A
 0913   SECRET "EXTEND", I.E. OP CODE "0" AND ADDRESS "6".  A NUMERIC OP CODE IS USUALLY USED ONLY WHERE THE OP CODE
 0915   ITSELF WILL BE MODIFIED BY INDEXING.


 0916   2BCADR, 2CADR

 0917           IN THE AGC ASSEMBLER, THE E-BANK VALUE MUST BE GIVEN BY A ONE-SHOT EBANK= DECLARATION.  THIS IS OPTIONAL
 0919   IN BLK2.  IN EITHER ASSEMBLER, THE SUPER-BANK VALUE MAY BE GIVEN BY A ONE-SHOT SBANK= DECLARATION.  SEE ALSO THE
 0921   NOTE ON BBCON.

# END OF REVISION 5 OF PROGRAM OPGUIDE BY HB-S
back to top