Revision 62edbcc8c6021789df156749d71229308ba4313a authored by Ronald Burkey on 08 August 2021, 00:25:00 UTC, committed by GitHub on 08 August 2021, 00:25:00 UTC
yaAGCb1: Fixed a few errors identified by SELF-CHECK
2 parent s 1bd6f8f + b8b57e2
Raw File
YUL_SYSTEM_ASSEMBLER__AGC_PASS_2.argus
# Copyright:    Public domain.
# Filename:     YUL_SYSTEM_ASSEMBLER__AGC_PASS_2.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:        431-478
# Mod history:  2016-10-06 JL   Created.
#               2016-12-27 JL   Fixed header page numbers.
#               2016-12-27 JL   Transcribed pages 431-444.
#               2016-12-28 JL   Transcribed pages 445-478.

# Annotations:
#
#   B L A I R - S M I T H
#    Y U L   S Y S T E M
#
#       Listings in
#    MITIGUS  Format
#

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


L      @YUL SYSTEM ASSEMBLER  AGC PASS 2

# Page 431
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.   1        PAGE 167


R0001   WE ARE DEEPLY INDEBTED TO THE ONE, THE ONLY, THE GREAT JOHN SHAW FOR THE FOLLOWING STRONG MAGIC....
R0003   JSOCTL



R0004              THE AGC PART OF PASS 2 CONTAINS THE CUSS LIST AND CUSSES FOR AGC, TOGETHER WITH CODING TO PLANT A
R0006   MODIFIED CUSS LIST AT THE BEGINNING OF BANK 2, AND CODING TO PROCESS INSTRUCTIONS AND CLERICAL CODES FOR AGC.

R0008              THE CUSS LIST AND CUSSES ARE LOADED INTO BANK 5 ALONG WITH CODING TO CONVERT THE CUSS LIST FROM THE
R0010   FOLLOWING MIXED-CONSTANT FORMAT:

R0011   OP CODE:   FOR EACH OF 3 CUSSES, A POISON BIT AND A 3-BIT CUSS LENGTH.
R0012   A ADDRESS: DEMAND BIT AND SUBADDRESS OF CUSS 1,
R0013   B ADDRESS: DEMAND BIT AND SUBADDRESS OF CUSS 2,
R0014   C ADDRESS: DEMAND BIT AND SUBADDRESS OF CUSS 3

R0015   TO A CAC-WORD FORMAT IN WHICH EACH CAC CONTAINS THE DEMAND BIT, POISON BIT, LENGTH AND SUBADDRESS OF A CUSS.
R0017   THE CONVERSION IS REQUIRED ONLY TO MAKE USE OF EXISTING MASKS IN GENERAL PASS 2.

R0019              THE PROCESSING CODING IN THE BANK 1 PORTION OF AGC PASS 2 HAS THE FOLLOWING FUNCTIONS:

R0021           1) FOR ALL WORDS, TO SET IN PRINT THE WORD AND ITS LOCATION, AND MARK BLOCK OR BANK END IF APPROPRIATE.

R0023           2) FOR INSTRUCTIONS, TO TRANSLATE THE ADDRESS FIELD AND REDUCE IT IF ITS VALUE IS IN ONE OF THE BANKS
R0025   00-67 OR ONE OF THE E-BANKS E3-E7, NOTING BANK ERROR IF APPROPRIATE.  SUPPLY IMPLIED ADDRESS IF REQUIRED.  CUSS
R0027   POLISH INDEXING IF IT IS SPECIFIED.
R0028              FOR BASIC INSTRUCTIONS, CHECK THAT LIMITED-ACCESS CODES REFER ONLY TO THEIR SPECIFIED MEMORIES, EX-
R0030   CEPT THAT CODES REFERRING ONLY TO FIXED MEMORY MAY HAVE ADDRESSES IN THE RANGE 0-1777 IF PRECEDED BY "INDEX",
R0032   AND CODES REFERRING ONLY TO ERASABLE MEMORY MAY HAVE ADDRESSES IN THE RANGE 4000-11777 IF PRECEDED BY "INDEX".
R0034   CHECK THAT EXTRACODES ARE EXTENDED AND THAT BASIC CODES ARE NOT, AND FLAG "ADRES", "REMADR", "CADR" OR "FCADR",
R0036   "GENADR", "ECADR", "BBCON", "2FCADR", AND "2CADR" OR "2BCADR" AS CONSTANTS.  FLAG UNINDEXED INSTRUCTIONS THAT
R0038   REFER TO FIXED MEMORY.  EVALUATE AND ASSIGN MEMORY TO BNKSUM CONSTANTS.

R0039           3) FOR CONSTANTS, TO FLAG THEM AS SUCH AND CHECK ON MAGNITUDE.

R0040           4) FOR SETLOC, EQUALS, MEMORY, BLOCK, BANK, EBANK=, SBANK=, SUBRO, ERASE, PRINT APPROPRIATE ADDRESSES.

# Page 432
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.   2        PAGE 168

P0042              QUANTITIES FILLED IN BY THE AGC PART OF PASS 2 FOR REFERENCE BY GENERAL PASS 2.



 0044              SETLOC,2     SIZ PASS 2    B1



 0045              MASKGRP,4    S,1           F,1



 0046   AG PROC OP CAC          AGC INST      AGC 1P        AGC PREL
 0047   AG D1 PARS FLDEC        16383.0, 16384.0
 0048              FXBIN        -16383

 0049   AG K1 MAX  OCT          -77777
 0050   AG D2 PARS FLDEC        268 435 455.0, 268 435 456.0
 0051              FXBIN        -268 435 455

 0052   AG PROC 2P CAC          AGC 2P        AGC PLEB      ADRES ADR
 0053   AG K2 MAX  OCT          -77 7777 7777
 0054   AG MAX LOC OCT          -167777

 0055   AG CON MSX OCT          -77, 7777 7777
 0056   AG PRET FL OCT          0000 0010
 0057   AG FLG MSK OCT          7400 0077

 0058   AG CONS FL OCT          0000 0020
 0059   AGC MXR    MASKBASE     S,1           F,1
 0060   AG MISC FL OCT          0000 0030

# Page 433
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.   3        PAGE 169

P0061              FIELD AND SHIFT MASKS FOR AGC PART OF PASS 2.



 0062              SETLOC,4     768           B5



 0063   B,BIT1M    OCT          4
 0064   B,BIT6M    OCT          01
 0065   B,BIT7M    OCT          004
 0066   B,BIT17M   DEC          00008
 0067   B,BIT24M   OCT          0000 0001

 0068   B,BIT26M   OCT          -2000 0000
 0069   B,BIT27M   OCT          -1000 0000
 0070   B,BIT31M   OCT          -40 0000
 0071   B,BIT32M   OCT          -20 0000
 0072   B,BIT33M   OCT          -10 0000

 0073   B,BIT39M   OCT          -1000
 0074   B,B33T35M  OCT          -160000
 0075   B,B6T7M    OCT          014
 0076   B,B25T27M  OCT          -7000 0000
 0077   B,B28T30M  OCT          -700 0000

 0078   B,B29T30M  OCT          -300 0000
 0079   B,B34T36M  OCT          -7 0000
 0080   B,B33T38M  OCT          -17 6000
 0081   B,B34T48M  OCT          -77777

 0082   B,B39T48M  OCT          -1777
 0083   B,B41T48M  OCT          -377
 0084   B,ACO8     OCT          -7
 0085   B,CHAR1M   OCT          77
 0086   B,CHAR4M   OCT          0000 0077

 0087   B,CAC3M    OCT          -177777
 0088   B,CHAR8M   OCT          -77
 0089   B,C1T4M    OCT          7777 7777
 0090   B,BANKMASK OCT          -3400

 0091   B,B42T48M  OCT          -177
 0092   B,C7T8M    OCT          -7777
 0093   B,B34M     OCT          -40000
 0094   B,B25T48M  DEC          -GGGGGG

# Page 434
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.   4        PAGE 170

P0095              FURTHER SHIFT MASKS FOR AGC PART OF PASS 2.

 0096   S,BIT2M    OCT          2
 0097   S,BIT28M   OCT          -400 0000
 0098   S,ONEM     OCT          -1
 0099   S,TWOM     OCT          -2

 0100   S,FOURM    OCT          -4
 0101   S,B2T5M    OCT          36
 0102   S,B6T16M   OCT          0177 74

 0103   S,B18T21M  OCT          0000 017
 0104   S,B22T32M  OCT          -7 7760 0000
 0105   S,B34T37M  OCT          -7 4000
 0106   S,B35T48M  OCT          -3 7777

 0107   S,B37T38M  OCT          -6000
 0108   S,B38T48M  OCT          -3777
 0109   S,ACO1     OCT          07
 0110   S,ACO2     OCT          0007

 0111   S,ACO3     OCT          0000 07
 0112   S,ACO4     OCT          0000 0007
 0113   S,ACO7     OCT          -700
 0114   S,THREEM   OCT          -3

 0115   S,CHAR2M   OCT          0077
 0116   S,CHAR3M   OCT          0000 77
 0117   S,CHAR6M   OCT          -77 0000
 0118   S,CHAR7M   OCT          -7700

 0119   S,C3T6M    OCT          0000 7777 7777
 0120   S,ONESMM   DEC          GGGG GGGG GGGG
 0121   S,B35T41M  OCT          -37600
 0122   S,B41T44M  OCT          -360

 0123   S,B45T47M  OCT          -16
 0124   S,CHAR5M   OCT          -7700 0000
 01241  S,B38 ACO8 OCT          -2007

# Page 435
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.   5        PAGE 171

P0125              CONSTANTS, ETC. FOR THE AGC PART OF PASS 2.

 0126              SETLOC,2

R0127   NUMERICAL CONSTANTS.  BIT 30 THROUGH OCT 57777 FORM AN ARRAY.

 0128   BIT 30     OCT          -100 0000
 0129   B28T29     OCT          -600 0000
 0130   C2 B28T34  OCT          0077 0000 0774
 0131   C2 C7T8    OCT          0077 0000 0000 7777

 0132   C3T6       OCT          0000 7777 7777
 0133   FIVE       OCT          -5
 0134   SIX        OCT          -6
 0135   SEVEN      OCT          -7
 0136   OCT 40     OCT          -40
 0137   OCT 70     OCT          -70

 0138   OCT 777    OCT          -777
 0139   OCT 1377   OCT          -1377
 0140   OCT 1400   OCT          -1400
 0141   OCT 4000   OCT          -4000

 0142   MIN 37777  OCT          -37777
 0143   PL PMAX    OCT          +777
 0144   PL EMAX    OCT          +3777

 0145   PL 11777   OCT          +11777
 0146   PL FMAX    OCT          +167777
 0147   PL FMAXP1  OCT          +170000
 0148   DEC 48 FLG DEC          48
 0149   BANK E2    OCT          -1000

 0150   OP CODE 3  OCT          -3 0000
 0151   DAS CODE   OCT          -20 000
 0152   DXCH CODE  OCT          -52 000

 0153   ADR CON 3  OCT          -3000000
 0154   ADR CON 4  OCT          -400 0000
 0155   EBANK REG  OCT          -4000 3417
 0156   OCT 17777  OCT          -17777
 0157   OCT 57777  OCT          -57777

 0158   B25T27     OCT          -7000 0000
 01581  HUNDRETH   DEC          G0 28G5D 28G5E
 01482  OCT 67777   OCT         -67777

 01483  MM PARAMS  FLDEC        99.0, 16384.0
 014831            FXBIN        -99
 01484  VN PARAMS  FLDEC        9999.0, 16384.0
 014841            FXBIN        -9999

# Page 436
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.   6        PAGE 172

P015899 ADDRESS CONSTANTS.

 0159   L POL OP   CAC          INT OP COD    INT OP GOS    INT AD PAT +1

 01591  L BNKSUM   CAC                        BNKSUM        BKSUM LOC



P0160   ALPHABETIC CONSTANTS.

 0161   ALF E1400  ALF           E  1400
 0163   COMMA C2   ALF          0,0000
 0164   COMMA C8   ALF               00,

 0165   END BL MC  ALF            EB  MC
 0166   BLOT C6    ALF               ▪
 0167   E COMMA    ALF               E0,
 0168   E CHAR 4   ALF             E
 0169   HI EQUALS  ALF          =00,0000



R0170   RESERVATIONS, EQUIVALENCES, AND ASSIGNMENT.



 01709  LAST BANX  ALF
 0171   USED FMAX  DEC          GGGG GGGG GGGG
 0172   MAX ADRES  RESERVE      1
 0173   M COMMON   RESERVE      1
 0174   SAV ADREF  RESERVE      2

 0175   B19T24M    EQUALS       CHAR4M
 01751  SBANK REG  EQUALS       EBANK REG
 01752  L BSUM LOC EQUALS       L BNKSUM
 0176   ACO5       EQUALS       B28T30M
 0177   ACO6       EQUALS       B34T36M
 0178   B46T48M    EQUALS       ACO 8
 0179   BANKMASK   EQUALS       B33T38M
 0180   SPECMAG M  EQUALS       B34T48M

 0182   ADRE CUSS  ASSIGN       4,0

# Page 437
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.   7        PAGE 173

P0183              SUBROUTINE IN PASS 2 FOR AGC TO FORM A WORD FROM AN OPERATION CODE AND AN ADDRESS (BASIC INSTRUC-
R0185   TIONS AND ADDRESS CONSTANTS), OR FROM TWO POLISH OPERATOR CODES (POLISH OPERATOR WORDS).  THE OPERATION CODE(S)
R0187   AND SOME ASSOCIATED INFORMATION BITS ARE TAKEN FROM THE HEALTH WORD OF THE CURRENT POPO ITEM.  THE ADDRESS IS
R0189   OBTAINED FROM THE CARD VIA A GENERAL SUBROUTINE IN PASS 2 CALLED PROC ADR.  IMPLIED ADDRESSES, BANK ERRORS, AND
R0191   INAPPROPRIATE ADDRESSES ARE CHECKED FOR, AND ADDRESS VALUE CUSSING IS DONE.

 0193   AGC INST   TX           AGC MXR       -             Z,MXR               USE MASKBASE FOR THIS MACHINE.
 0195              NA, BIT32M   HEALTH        ONES          C,+3
 0196              SWE,ONESMM   L POL OP      32            Z,SC
 0197   GO POL ADR SWE,ONESMM   L POL OP      16            Z,SC
 0198              SWE, B34T36M HEALTH        12            WORD                INSERT BASIC OP CODE INTO WORD.
 0200              SWS, BIT1M   HEALTH        10,L          CUSS LIST +30       MAYBE CUSS ILLEGAL OP CODE ASTERISK.
 0282              NA, BIT 31M  HEALTH        ONES          NO IMPLAD           BRANCH IF NO IMPLIED ADDRESS.

R0204   DETERMINE ADDRESSES IMPLIED BY SPECIAL OP CODES.

 0205   IMPLAD     TS           PLF MAX       MAX ADRES     MAX AD SET    C     KEEP ASSEMBLER'S EBANK REG. UP TO DATE.
 0207              NA           ADDRESS 1     BLANKS        QC IMPLAD -1
 0208              NA           ADDRESS 2     BLANKS        QC IMPLAD -1
 02082             SWS, BIT17M  SWITCH        10            CUSS LIST +2        MAYBE CUSS INDEXING OF IMPLADS.
 0209              NA, BIT27M   HEALTH        ZERO          QC IMPLAD           BRANCH IF IMPLAD IS NOT IN HEALTH WORD.

 0211              SWE, ACO8    HEALTH        18            ADDRESS             SUPPLY IMPLIED ADDRESS.
 0215              NA           WORD          BIT 36        SIGND ADR           BRANCH IF NOT CODE 1 (HERE, NOOP).
 0217              LA           OCT 4000      LOCATION      NOOP(F)             FORM OF NOOP DEPENDS ON WHICH MEMORY.
 0219   NOOP(E)    TS           OP CODE 3     WORD          SIGND ADR           IN E MEMORY, NOOP = CA A.

 0221              TS, BIT 1M   ONES          CUSS LIST +21 IMPLAD +3           MILDLY CUSS NONBLANK ADR FLD, PROCEED.
 0223   QC IMPLAD  SWS, B37T38M HEALTH        9             WORD                PLACE QUARTER-CODE BITS IN INSTR. WORD.
 0225              SSL, THREE M WORD          12            C,+1                THREE-WAY BRANCH ON BITS 14,13 OF WORD.
 0227   EDRUPT     TS, BIT39M   ONES          WORD          OVSK                ED SMALLY'S RUPT IS PERIPHERAL CODE 7.
 0209              SSL, THREE M WORD          10            RESUME              THREE-WAY BRANCH ON QUARTERS OF CODE 5.
 0231              SSL, ONEM    WORD          10            C,+1                TWO-WAY BRANCH ON QUARTERS OF CODE 2.
 0233   DDOUBL     TS           ONE           ADDRESS       SIGND ADR           DAS A = DDOUBL (D.P. DOUBLE).
 0235   ZL OR ZQ   TS           SEVEN         ADDRESS       SIGND ADR           LXCH 7 = ZL (ZERO L), QXCH 7 = ZQ.
 0237   RESUME     TS           D12           ADDRESS       SIGND ADR           RESUME = INDEX 17.
 0239              SSL, ONE M   HEALTH        18            TCAA DTCF           PICK 1 OF 2 IMPLIED ADDRESSES FOR DXCH.
 0241              SSL, ONE M   HEALTH        18            C,+1                PICK 1 OF 2 IMPLIED ADDRESSES FOR TS.
 0243   OVSK       TS           ZERO          ADDRESS       SIGND ADR           OVSK = TS A. OTHER ZERO CASES COME HERE.
 0245   TCAA DTCF  TS           FIVE          ADDRESS       SIGND ADR           TCAA = TS Z.  DTCF = DXCH FBANK.
 0247   DTCB       TS           SIX           ADDRESS       SIGND ADR           DTCB = DXCH Z.
 0249   NOOP(F)    WA           LOCATION      ONE           ADDRESS             IN F MEMORY, NOOP = TCF +1.

 0251   SIGND ADR  BS           ZERO          ADDRESS       ADR WD
 0252              SWE, BIT17M  HEALTH        8,L           M COMMON            ISOLATE EXTRACODE BIT OF IMPLAD CODE.
 0254              TS           ADR WD        ADR WD +1     SET MIN AD     C    PLANT EXTRACODE FLAG FOR SIMULATOR.
 0256              SWS, B29T30M HEALTH        2             HEALTH         C    BIT 29 PLACES OP-ADDRESS PRINT SPLIT.
 0258              NA, BIT17M   M COMMON      SWITCH        EXTEND +1           BRANCH IF EXTENDED BASIC OR UNEX. EXTRA.
 0260              NA, BIT26M   HEALTH        ZERO          C,+2                BRANCH IF THIS IS THE "EXTEND" CODE.
 0262              TS, BIT17M   ZERO          SWITCH        BASIC ADR           CLEAR EXTENSION SWITCH.
 0264   EXTEND     TS, BIT17M   ONES          SWITCH        ADD ADR WD          SET EXTENSION SWITCH.
 0266              NA           M COMMON      BIT 17        C,+2
 0267              TS, BIT1M    ONES          CUSS LIST +12 EXTEND -1           ERROR WAS UNEXTENDED EXTRACODE.
 0269              TS, BIT17M   ONES          CUSS LIST +12 EXTEND -1           ERROR WAS AN EXTENDED BASIC CODE.

# Page 438
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.   8        PAGE 174

P0271   PROCESS EXPLICIT ADDRESSES FOR INSTRUCTIONS OR CONSTANTS.

 0272   NO IMPLAD  TN           ADDRESS 1     2             SAV ADREF           SAVE ADDRESS FIELD IN CASE OF POLADRES.
 0274              NA, B25T27M  HEALTH        ONES          NON CONST           BRANCH IF INSTRUCTION, NOT ADR CONSTANT.
 0276   ADR CONST  SSL, THREEM  HEALTH        24            C,+1                BRANCH ON LEVEL OF ADDRESS CONSTANT.
 02772             TS, CHAR1M   DEC 6 FLAG    WORD          ADR CON E +1        LEVEL 0: BASIC ADDRESS CONSTANTS.
 0278              LA,B28T30M   ADR CON 3     HEALTH        GO POL ADR          BRANCH FOR POLISH ADDR OR STORE CODES.
 02792             TS           ONES          LOCATION      NWD BSUMS           REST OF LEVEL 1: EBANK=, SBANK=, BNKSUM.
 02794             TS, BIT1M    ZERO          CUSS LIST +30 MM VN               LEVEL 3: SPECIAL DECIMAL CONSTANTS.

 0280   NWD BSUMS  SWS, BIT17M  HEALTH        9             CUSS LIST +14       MAYBE CUSS NONBLANK LOC FIELD.
 0284              SSL, ACO8    HEALTH        17            ADR CON E           SELECT EBANK=, SBANK=, OR BNKSUM.
 0286   ADR CON E  TS           PL EMAX       MAX ADRES     MAX AD SET -1       E-ADDRESSES ONLY FOR ECADR, EBANK=.
 0290              LA, B28T30M  ADR CON 4     HEALTH        C,+2                BR IF ECADR, BBCON, 2FCADR, OR 2(B)CADR.
 0292   ADR CON F  TS           PL FMAX       MAX ADRES     MAX AD SET -1       ADRES,REMADR,GENADR,FCADR,SBANK=,BNKSUM.
 0294              LA, B28T30M  HEALTH        ADR CON 4     ADR CON E           BRANCH IF CODE IS ECADR.
 0296              LA, B29T30M  HEALTH        BIT 30        BBCONQ1 +1          BRANCH IF BBCON (SINGLE PRECISION).

 0298   DP ADR CON WA           L FINI 2P     ONE           MOD RETRN           MAKE RETURN GO TO D.P. CONSTANT PROC.
 0300              TX           W BAD WORD    -             2ND HALF
 0301              TN           BLOTS         2             2ND ALF             PREPARE FOR THE WORST.
 0303   BBCONQ1    LA, B29T30M  HEALTH        BIT 29        ADR CON F           BRANCH IF 2FCADR OR BNKSUM (NO ER PROB).
 0307              TS           Z,SC          Z,X6          LOC BNK CK
 0309              TS, BIT17M   ZERO          CUSS LIST +23 SET EBCON -1        MAY ERASE EBANK OR SBANK CONFLICT CUSS.

 0313   NON CONST  SWS, B37T38M HEALTH        12            WORD                PLACE QUARTER-CODE BITS IN INSTR. WORD.
 0315              LA, B29T30M  ONES          HEALTH        C,+2                BRANCH IF PERIPHERAL CODE.
 0317              SWS, BIT28M  HEALTH        1             SWITCH              SET SWITCH IF THIS IS AN INDEX ORDER.
 0319              SWE, BIT17M  HEALTH        11,L          M COMMON            ISOLATE EXTRACODE BIT OF EXPLAD CODE.
 0321              NA, BIT17M   M COMMON      SWITCH        C,+2                BRANCH IF EXT. BASIC OR UNEX. EXTRACODE.

 0323   UNEXTEND   TS, BIT17M   ZERO          SWITCH        SET MIN AD          CLEAR EXTENSION SWITCH.
 0325              NA           M COMMON      BIT 17        C,+2                BRANCH IF EXTENDED BASIC CODE ERROR.
 0327   UNEXTD XC  TS, BIT1M    ONES          CUSS LIST +12 SET MIN AD          CUSS AT UNEXTENDED EXTRACODE.
 0329              NA, BIT27M   HEALTH        ONES          BAD XTEND           BRANCH IF NOT AN INDEX ORDER.
 0331              TX, B29T30M  ZERO          -             HEALTH              EXTENDED INDEX EXTENDS, CAN REFER 2 ANY.
 0333              TS           BIT 17        M COMMON      SET MIN AD
 0334   BAD XTEND  TS, BIT17M   ONES          CUSS LIST +12 UNEXTEND            CUSS ANY EXTENDED BASIC CODE BUT INDEX.

 0336   SET MIN AD SWS, BIT27M  M COMMON      10            WORD
 0337              SWS, BIT28M  M COMMON      11            WORD                PLANT EXTRACODE FLAG FOR SIMULATOR.
 0339              TX           OCT 7777      -             MIN ADRES           IN GENERAL, ALLOW VALUES DOWN TO -7777.
 0341              SSL, THREEM  HEALTH        18            C,+1                4-WAY BRANCH ON MEMORY TYPE ALLOWANCE.
 0343              TS           PL FMAX       MAX ADRES     CHECK OP 4          NO RESTRICTION.

 0345   REFER TO F TS           PL FMAX       MAX ADRES     DP SSL              DITTO NOW, FIXED ONLY LATER.
 0347              TS           PL 11777      MAX ADRES     DP SSL              E-MEMORY OR INDEXED (QUARTER-CODE).
 0349              SWS, BIT39M  HEALTH        12            WORD                PERIPHERAL CODE. SUPPLY LAST P-CODE BIT.
 0351              TX           OCT 777       -             MIN ADRES           HERE ALLOW VALUES DOWN TO -777.
 0353              TS           PL PMAX       MAX ADRES     DP SSL
 0354   CHECK OP 4 NA, B34T36M  WORD          OP CODE 4     DP SSL              BRANCH IF NEGATIVE ADDRESS IS PERMITTED.
 0356              TS           ZERO          MIN ADRES     DP SSL              NEGATIVE ADDRESS HERE WOULD BE OVERFLOW.

# Page 439
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.   9        PAGE 175

P0358   IF OP CODE IS DOUBLE PRECISION, ADD 1 TO ADDRESS VALUE.

 0359              NA, B33T38M  WORD          DXCH CODE     MAX AD SET          BRANCH IF BASIC CODE AND NOT D.P.
 0361   DP CHECK   NA, B33T38M  WORD          DAS CODE      C,-1           C
 0362              TS, BIT6M    ONES          SWITCH        MAX AD SET          PLANT BIT, RETURN TO SEQUENCE MODE.
 0364   XCODE DP Q NA, B34T36M  WORD          OP CODE 3     C,+2           C    IF NOT DCA, CHECK FOR DCS.
 0366              TS, BIT6M    ONES          SWITCH        MAX AD SET          PLANT BIT, RETURN TO SEQUENCE MODE.
 0368              NA, B34T36M  WORD          OP CODE 4     MAX AD SET          BRANCH IF EXTRACODE AND NOT D.P.
 0320   DP SSL     SSL, TWO M   HEALTH        19            DP CHECK       C    ADD 00001 TO DOUBLE PRECISION ADDRESSES.
 0372              TS, BIT6M    ONES          SWITCH        MAX AD SET          SOME EQUALITIES FALL THRU INTO HERE.

R0374   TRANSLATION OF ADDRESS FIELD, WITH FIRST-ORDER SIZE CHECKING.

 03748             LA           ONES          LOCATION      C,+2                EXCEPT FOR EBANK=, SBANK=, BNKSUM:
 0375   MAX AD SET TS           Z,SC          Z,X6          EBK LOC Q           KEEP ASSEMBLER'S EBANK REG. UP TO DATE.
 0377              TX           GENL MXR      -             Z,MXR
 0378              TS           Z,SC          Z,X6          PROC ADR            TRANSLATE ADDRESS FIELD.

 0380              TN           SAV ADREF     2             ADDRESS 1           RESTORE ORIG. ADDRESS FIELD FOR PRINT.
 0382              TS           ZERO          MIN ADRES     AGC INST       C    RESTORE MIN ADR VALUE AND MXR.
 0384              SWS, BIT17M  HEALTH        8             CUSS LIST           CUSS LACK OF "D" IN DECIMAL SUBFIELD.
 0386              WD           L POL OP      ONE           Z,CSC          C    GO SEE IF CURRENT WORD IS POLISH
 0388              LA           ONES          ADDRESS       RNG ERROR +2        BR. IF MEANINGLESS OR ATROCIOUS ADDRESS.

 0390              SWE, ONEM    SWITCH        42            M COMMON
 0391              BS           ADR WD        M COMMON      ADR WD +1           INCREMENT ADDRESS OF D.P. CODE.
 0393              LN           ADR WD        MAX ADRES     CONST Q             BRANCH IF ADDRESS SIZE OK FOR THIS OP.
 0395              LN           PL FMAX P1    ADR WD        C,+2                BRANCH IF ADDRESS TOO BIG TO PRINT.

 0397   RNG ERROR  TS, BIT33M   ONES          CUSS LIST +11 PRB ADRES      C    IF NOT ATROCIOUS, TELL HIM WHAT IT IS.
 0399              SM           CUSS LIST +3  BIT 17        CUSS LIST +3        CUSS RANGE ERROR IN ADDRESS VALUE.
 0401              LA, CHAR1M   HEALTH        HI EQUALS     BAD BASIC           BRANCH IF INSTRUCTION OR ADDRESS CONST.
 0403              SSL, THREEM  HEALTH        18            NW BADDR            CUSS RANG ERR IN EBANK=, SBANK=, BNKSUM.

 0405   CONST Q    NA, B25T27M  HEALTH        ONES          INSTROP             GO PROCESS INSTRUCTION IF NO CONST FLAG.
 0407              NA,BIT24M    HEALTH        ZERO          ADR CON 1           BRANCH IF NOT TYPE 0 ADDRESS CONSTANT.

R0409   SELECT PROCEDURE FOR TYPE 0 ADDRESS CONSTANTS.

 04098  ADR CON 2  SWS, B34T37M HEALTH        16            WORD                MAY PUT PREFIX ON ECADR FOR DOWNLIST.
 0410              SSL, ACO8    HEALTH        18            C,+1                SELECT PROCEDURE FOR 1 OF 8 ADR CONSTS.
 0412   ADRES      TS           AG PROC 2P    Z,SC          BASIC ADR      C    ADRES IS JUST LIKE TC (EXCEPT FOR FLAG).
 0414              TS           -             -             REMADR              LIKE ADRES, BUT MUST BE DIFFERENT BANK.
 0416              TS           -             -             (F)CADR             COMPLETE ADDRESS FOR FIXED MEMORY.
 0418              TS           -             -             GENADR              LIKE ADRES, BUT NO BANK-ERROR CHECKS.
 0420   ECADR      TS           -             -             ADD ADR WD          COMPLETE ADDRESS FOR ERASABLE MEMORY.
 0422              TS           -             -             BBCON               BOTH-BANK CONSTANT, 5 BITS AND 3 BITS.
 0424              TS           ADDRESS       2ND HALF      2FCADR              FCADR (FOR FB) FOLLOWED BY GENADR.
 0426              TS           ADDRESS       2ND HALF      2(B)CADR            GENADR FOLLOWED BY BBCON (FOR BB).

# Page 440
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.  10        PAGE 176

P0428   SPECIFIC PROCESSING FOR 6 OF THE 8 TYPE 0 ADDRESS CONSTANTS.

 0429   REMADR     LA           ADDRESS       OCT 3777      E REM CHECK         BRANCH IF ADDRESS IS IN ERASABLE.
 0431              LA           ADDRESS       OCT 7777      ADD ADR WD          EXIT IF ADDRESS IS IN FIXED-FIXED.
 0433              LA           LOCATION      OCT 7777      F SUBADR            BRANCH HAPPILY IF LOC. NOT IN AN FBANK.
 0435              NA, BANKMASK LOCATION      ADDRESS       F SUBADR            OK IF LOC. AND ADR. IN DIFFERENT BANKS.
 0437              TS           -             -             CUS F BANK
 0438   E REM CHEK LA           ADDRESS       OCT 1377      ADD ADR WD          EXIT IF ADDRESS IS NOT IN AN EBANK.
 0440              LA, EBANKMSK EBANK REG     BANK E2       E SUBADR            OK IF WE HAVE A PSEUDO EBANK.
 0442              NA, EBANKMSK ADDRESS       EBANK REG     E SUBADR -1         OK IF LOC AND ADR IN DIFFERENT EBANKS.
 0444              TS           -             -             CUS E BANK

 0445   (F)CADR    LA           ADDRESS       OCT 7777      RNG ERROR           ADDRESS IN ERASABLE OR FIXFIX ILLEGAL.
 0447              WD           ADR WD        OCT 10000     ADR WD              PUT CADR IN THE RANGE 00000-77777.
 0449              LA, CAC3M    ADR WD        OCT 57777     ADD ADR WD          BRANCH IF ADDRESS ISN'T IN A SUPER-BANK.
 0451              LA, B33T35M  SBANK REG     ZERO          C,+2                BRANCH IF THERE IS NO SUPERBANK SETTING.
 04512             NA, B33T35M  ADR WD        SBANK REG     SBANK CUS           BRANCH TO CUSS SUPERBANK ERROR.
 0452              TS, B33T35M  SPEC MAG      ADR WD        ADD ADR WD

 0453   GENADR     LA           ADDRESS       OCT 3777      C,+3                BRANCH IF ADDRESS IS IN ERASABLE MEMORY.
 0455              LA           ADDRESS       OCT 7777      ADD ADR WD          ALL DONE IF IN FIXED-FIXED.
 0457              TS, BANKMASK OCT 2000      ADR WD        ADD ADR WD          PUT SUBADDRESS IN THE RANGE 2000-3777.
 0459              LA           ADDRESS       OCT 1377      ADD ADR WD          ALL DONE IF ADDRESS IN UNSWITCHED ERAS.
 0461              TS, EBANKMSK OCT 1400      ADR WD        ADD ADR WD          PUT SUBADDRESS IN THE RANGE 1400-1777.

 04622             LA, CHAR8M   EBANK REG     SEVEN         SET SBCON -1        BYPASS UPDATE IF 1-SHOT DECLARATION.
 04623  SET EBCON  SWS, ACO8    EBANK REG     8             EBANK REG      S    POSITION CURRENT SETTING FOR BBCON FMT.
 04624             SM           CUSS LIST +30 BIT 33        CUSS LIST +30       CUSS BBCON WORD WITHOUT 1-SHOT EBANK=.
 04625             NA, B25T27M  SBANK REG     BIT 25        C,+2                BYPASS UPDATE IF 1-SHOT DECLARATION.
 04626  SET SBCON  SWS, B28T30M SBANK REG     5,L           SBANK REG      S    COPY PERMANENT INTO TEMPORARY SUPERBITS.
 04627             SSL, ONEM    CUSS LIST +30 47            BBC STAR Q          SELECT ON * IN OP CODE (BBCON OR 2CADR).
 0463              TS, BIT1M    ONES          CUSS LIST +21 EDS BNKNO           MILDLY CUSS NONBLANK ADR FLD, PROCEED.
 0465   BBC STAR Q TS           PL FMAX       MAX ADRES     MAX AD SET +1
 0466              LA, B29T30M  BIT 29        HEALTH        C,-1                BRANCH IF 2CADR*, NOT BBCON*.
 0468              NA           ADDRESS 1     BLANKS        BBC STAR Q -1
 0469              NA           ADDRESS 2     BLANKS        BBC STAR Q -1
 0470   EDS BNKNO  TS, BIT1M    ZERO          CUSS LIST +30 HOW HIGH F     C    IGNORE ADDRESS FIELD OF BBCON* AND
 0472              TX           USED FMAX     -             ADDRESS             SUPPLY THE BANK NUMBER OF THE HIGHEST
 0474              LA           ONES          ADDRESS       RNG ERROR           BANK OCCUPIED IN THIS ASSEMBLY.

 0476   BBCON      LA           ADDRESS       OCT 3777      BANK NO             IF NOT IN FIXED, SHOULD BE BANK NUMBER.
 0478              LA           ADDRESS       OCT 7777      BBC ADRES -1        NO REDUCTION NEEDED IF IN FIXED-FIXED.
 0480              WD           ADDRESS       OCT 10000     ADDRESS
 0481   BB SUPER Q LA           ADDRESS       OCT 57777     BBC ADRES -1        BRANCH IF ADDRESS ISN'T IN A SUPER-BANK.
 0483              NA, B25T27M  SBANK REG     ZERO          C,+3                BRANCH IF NO 1-SHOT SBANK=.
 04832             SWE, B28T30M ADDRESS       5,L           2ND ALF             SHIFT ADDRESS SUPERBITS TO MATCH TEMPS.
 04834             NA, B28T30M  2ND ALF       SBANK REG     1SH CONFL           MAY CUSS ADDRESS CONFL W/ 1-SHOT DECL.
 0484              SWS, B41T44M ADDRESS       9             WORD                PLANT SUPER-BANK BITS IN BBCON WORD.
 0486              TS, B33T35M  SPEC MAG      ADDRESS       BBC ADRES           REDUCE BANK NUMBER TO 3X.
 04872             SWS, B41T44M SBANK REG     14            WORD                SUPPLY DECLARED SBANK OR 0 IF NONE.
 0488   BBC ADRES  TX, BANKMASK ADDRESS       -             WORD                SET FB PART OF BBCON FROM ADDRESS.
 0490              TS, ACO8     EBANK REG     WORD          GUD BASIC           INSERT 1-SHOT OR ESTABLISHED EBANK NO.
 0492   BANK NO    LA           OCT 70        ADDRESS       RNG ERROR           ADDRESS IN ERASABLE ILLEGAL HERE.
 0494              SWE, ONESMM  ADDRESS       10,L          ADDRESS             SET FB PART OF BBCON FROM BANK NUMBER.
 0496              TS           -             -             BB SUPER Q

# Page 441
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.  11        PAGE 177

P0497   SUBROUTINE TO COMPUTE AN ADDRESS IN THE HIGHEST OCCUPIED FIXED BANK.

 0498   HOW HIGH F NA           USED FMAX     ONES          N,SC,1         C    EXIT IF PROBLEM HAS BEEN SOLVED.
 0500              SWE, CAC3M   PL FMAXP1     5             M COMMON       C
 0501              WA           M COMMON      OCT 17777     Z,AU1          C    POINT TO AVAIL TABLE WD FOR HIGHEST FIX.

 0503   FIND USED  LA           CAC 12        N,AU1,1       C,+0           C
 0504              LA           Z,AU1         OCT 17777     N,SC,1         C    BRANCH IF NO FIXED IS OCCUPIED.
 0506              WD           Z,AU1         OCT 17777     M COMMON       C
 0507              SWE, ONESMM  M COMMON      5,L           M COMMON       C    FORM ADDRESS OF 2000 OF LAST USED BANK.
 0509              TX           L TYP TAB     -             Z,X6           C
 0510              LA, CAC3M    M COMMON      6,0           C,+2           C    FIND MEMORY TYPE OF PUTATIVE BANK.
 0512              TS           Z,X6,1        -             C,-1           C
 0513              NA, B25T27M  6,0           TYPE F        FIND USED      C    BRANCH TO TRY AGAIN IF NOT FIXED.
 0515              TX           M COMMON      -             USED FMAX      S

R0516   TYPE 0 ADDRESS CONSTANTS CONCLUDED: DOUBLE PRECISION TYPES.

 0517   2FCADR     LA           OCT 4000      ADDRESS       C,+2
 0518              TS           W BAD WORD    2ND HALF      RNG ERROR           ERROR EXIT IF REFERS TO ERASABLE.
 0520              LA           ADDRESS       OCT 7777      PRINT 2PA           ALL DONE IF IN FIXED-FIXED.
 0522              WD           ADR WD        OCT 10000     ADR WD              PUT CADR IN THE RANGE 00000-77777.
 0524              LA, CAC3M    ADR WD        OCT 57777     2(B)CADR -1         BRANCH IF ADDRESS ISN'T IN A SUPER-BANK.
 0526              LA, B33T35M  SBANK REG     ZERO          C,+2                BRANCH IF THERE IS NO SUPERBANK SETTING.
 05262             NA, B33T35M  ADR WD        SBANK REG     SBANK CUS           BRANCH TO CUSS SUPERBANK ERROR.
 0527              TX, B33T35M  SPEC MAG      -             ADR WD              REDUCE BANK 4X, 5X, OR 6X TO 3X.
 0529              TS, BANKMASK OCT 2000      2ND HALF      PRINT 2PA           PUT GENADR IN THE RANGE 2000-3777, EXIT.

 0531   2(B)CADR   SS           ZERO          OCT 1777      2ND HALF            ISOLATE BANK NUMBER IN BBCON WORD.
 05322             SWS, B41T44M SBANK REG     14            2ND HALF            SUPPLY DECLARED SBANK OR 0 IF NONE.
 0533              LA           ADDRESS       OCT 3777      2BCADR E            BRANCH IF REFERS TO ERASABLE.
 0535              LA           ADDRESS       OCT 7777      2BCADR E +1         BRANCH IF REFERS TO FIXED-FIXED.
 0537              WD           2ND HALF      OCT 10000     2ND HALF            REDUCE BANK NUMBER IN BBCON WORD.
 0539              LA           2ND HALF      OCT 57777     2BCADR E -1         BRANCH IF ADDRESS ISN'T IN A SUPER-BANK.
 0541              NA, B25T27M  SBANK REG     ZERO          C,+3                BRANCH IF NO 1-SHOT SBANK=.
 05412             SWE, B28T30M 2ND HALF      5,L           2ND ALF             SHIFT ADDRESS SUPERBITS TO MATCH TEMPS.
 05414             NA, B28T30M  2ND ALF       SBANK REG     1SH CONFL           MAY CUSS ADDRESS CONFL W/ 1-SHOT DECL.
 0542              SWS, B41T44M 2ND HALF      9             2ND HALF            PLANT SUPER-BANK BITS IN BBCON WORD.
 0544              TX, B33T35M  SPEC MAG      -             2ND HALF            REDUCE BANK 4X, 5X, OR 6X TO 3X.
 0546              TS, BANKMASK OCT 2000      ADR WD        2BCADR E +1         PUT GENADR IN THE RANGE 2000-3777.
 0548   2BCADR E   LA           OCT 1400      ADDRESS       C,+2                BRANCH IF REFERS TO AN EBANK.
 0550              TS, ACO8     EBANK REG     2ND HALF      PRINT 2PA           EXIT FOR ALL CASES BUT EBANK REFERENCE.
 0552              SWS, B38ACO8 ADDRESS       8             2ND HALF            HERE USE EBANK ACCORDING TO ADDRESS.
 0554              LA, CHAR8M   EIGHT         EBANK REG     C,+2                BRANCH IF THERE IS NO 1-SHOT DECLARATN.
 0556              NA, ACO8     2ND HALF      EBANK REG     1SH CONFL           OTHERWISE CHECK FOR CONFLICT.
 0558              TS, EBANKMSK OCT 1400      ADR WD        PRINT 2PA           PUT GENADR IN THE RANGE 1400-1777, EXIT.

 0562   PRINT 2PA  NA, CHAR1M   CARD +2       BIT 1         C,+2                BRANCH IF NO MINUS IN COLUMN 17.
 0564              HA           2ND HALF      SPEC MAG      2ND HALF       C
 0565              TS, BIT1M    ZERO          AG BINALF     PRINT 2P       C    TWEAK AND USE PART OF 2DEC, 2OCT.
 0567              TS, BIT1M    ONES          AG BINALF     ADD ADR WD          RESTORE IT AND EXIT.

# Page 442
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.  12        PAGE 178

P0569   LEVEL 3 ADDRESS CONSTANTS: SPECIAL DECIMAL CONSTANTS.

 05692             MASKGRP      S,0           F,0

 05694  MM VN      TS           GENL MXR      Z,MXR         DECIMAL +1     C    SET GENERAL MXR AND DELIMITING ASTERISK.
 05698             TX           BANK 5        -             Z,X4
 05702             TS           Z,SC          4,5           QU COL SSL +1       CUSS QUEER INFO IN COLUMNS A LA DECIMAL.
 05706             SSL, TWO     HEALTH        17            C,+1

 05708  MAJR MODE  TN           MM PARAMS     3             MAX DECML
 0571              TS           L FINI 1P     Z,X4          DEC CONST           MM = DEC WITH LIMIT OF 99.

 05714  VERB NOUN  TN           VN PARAMS     3             MAX DECML
 05716             TS           Z,SC          Z,X4          DEC CONST           FIRST DO DEC WITH LIMIT OF 9999.
 0572              NA           NUMBER        W BAD WORD    C,+2
 05722             TS           L PROC WD     Z,SC          AGC 1P +1      C    IF BAD WORD TREAT VN LIKE DEC.
 05726             BM           NUMBER        HUNDRETH      M COMMON            ISOLATE VERB IN M COMMON.
 0573              BT           M COMMON      10            M COMMON +1
 05732             BT           M COMMON +1   10            M COMMON +1
 05734             BS           NUMBER        M COMMON +1   M COMMON +1         ISOLATE NOUN IN M COMMON +1.
 05738             SPE, ONES    M COMMON      7,L           NUMBER
 0574              SWS, B42T48  M COMMON +1   0             NUMBER              STORE VERB AND NOUN AS 7-BIT GROUPS.
 05744             TS           L PROC WD     Z,SC          GOOD 1P        C    FINISH UP A LA DEC.

 05748             MASKGRP      S,1           F,1

# Page 443
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.  13        PAGE 179

P0576   SELECT PROCEDURE FOR LEVEL 1 ADDRESS CONSTANTS.  PROCEDURES FOR SBANK= AND EBANK=.

 0577   ADR CON 1  LA, B28T30M  HEALTH        ZERO          EBANK2              BRANCH TO PROCESS EBANK= CODE.

 0579              LA, B28T30M  HEALTH        BIT 30        SBANK2              BRANCH TO PROCESS SBANK= CODE.

 0581              SWE, CAC3M   L BNKSUM      16            Z,SC                GO TO OTHER BANK TO PROCESS BNKSUM CODE.

R0583   ACTION OF "SBANK=" CODE UPON ASSEMBLER'S S BANK REG.

 0585   SBANK2     LA           ADDRESS       OCT 67777     RNG ERROR           ADDRESS MUST BE IN A SUPER-BANK.
 05862             WD           ADDRESS       OCT 10000     ADDRESS
 0587              SWS, CHAR5M  ADDRESS       5,L           SBANK REG           SET UP TEMP. SUPERBITS, CALL IT 1-SHOT.
 0589              SWS, CHAR6M  SBANK REG     A,1           LINE +6
 0591              SWS, CHAR5M  W LAST ASS    A,2           LINE +6             PRINT DECLARED SUPERBANK NO. AS "SN".
 05922             SWS, C1T4M   LINE +6       A,2,L         LAST BANX           SET SUPER-BANK FLAG INTO BUFFER.
 0593   SBNK2 XIT  TS           GENL MXR      Z,MXR         ZEQUALOC            EXIT, BYPASSING WORD PROCESSING.
 0595              SWS, CHAR5M  BIT 30        0             SBANK REG           SET SUPER-BANK TO 1 (BAD).
 0597              TS, C1T4M    BLANKS        LAST BANX     SBNK2 XIT -2   C    SHOW NEW SBANK DECLARAION.
 0599              TS           GENL MXR      Z,MXR         ZEQUALOC

R0664   ACTION OF 'EBANK=' CODE UPON ASSEMBLER'S E BANK REG.

 0665   EBANK2     LA           EIGHT         ADDRESS       C,+3                BRANCH IF EBANK NUMBER IMPLIED BY ADR.
 06662             SM           CUSS LIST +11 BIT 17        CUSS LIST +11       FROWN ON USE OF PLAIN EBANK NUMBER.
 0667              TS, CHAR8M   ADDRESS       EBANK REG     C,+2                USE EBANK NUMBER DIRECTLY.
 0669              SWS, CHAR8M  ADDRESS       8             EBANK REG           PLANT EBANK NO. IN TENTATIVE POSITION.
 0671              SWS, CHAR6M  EBANK REG     12,L          LINE +6
 0673              SWS, CHAR5M  E CHAR 4      A,1           LINE +6        S    PRINT DECLARED EBANK NO. AS "EN".
 06732             SWS, C7T8M   LINE +6       A,2           LAST BANX           SET GOOD OR BAD EBANK FLAG IN BUFFER.
 0674   EBNK2 XIT  TS           GENL MXR      Z,MXR         ZEQUALOC            EXIT, BYPASSING WORD PROCESSING.
 06752             TS, CHAR8M   SEVEN         EBANK REG     EBNK2 XIT -2   C    SHOW NEW NON-TRIVIAL DECLARATION.
 06754             TS, C7T8M    BLANKS        LAST BANX     EBNK2 XIT           BUT SHOW THAT THE DECLARATION WAS BAD.

R06755  DISPOSITION OF EBANK=, SBANK=, AND BNKSUM IF ADDRESS IS BAD.

 06756  NW BADDR   TS           BLOT C6       LINE +6       EBNK2 XIT +1
 06757             TS           BLOT C6       LINE +6       SBNK2 XIT +1
 06758             SM           HEALTH        BIT 14        HEALTH              BAD LOCATION VALUE FLAG.
 06759             TS           L BSUM LOC    Z,SC          RSTOR MXR      C    JOIN END OF BNKSUM PROCEDURE.

# Page 444
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.  14        PAGE 180

P0676   SPECIFIC PROCESSING FOR BASIC INSTRUCTIONS.

 0677   INSTROP    SWS, ONEM    SWITCH        42            WORD                SUPPLY INCREMENTING BIT FOR D.P. CODES.
 0679              LN           ZERO          ADR WD        F ONLY CHK          BRANCH IF ADDRESS VALUE IS POSITIVE.
 0681              NA, BIT7M    SWITCH        ZERO          C,+2
 0682              SM           CUSS LIST +23 BIT 33        CUSS LIST +23       CUSS NO INDEX BEFORE MINUS ADDRESS.
 0684              NA, SPECMAGM WORD          ZERO          C,+2
 0685              HA           WORD          SPEC MAG      WORD                +0 MUST BECOME -0 FOR SUBTRACTION.
 0687              WD           WORD          ADR WD        WORD                ADD NEGATIVE ADDRESS.
 0689              SWS, CHAR8M  FIVE          1,L           LINE +5             SET UP PRIME FOR FULL CODE PRINT.
 0691              TS           BANK E2       ADR WD        GUD BASIC           CALL FOR A PRIME IN QUARTER-CODE PRINT.

 0693   F ONLY CHK NA, B29T30M  HEALTH        BIT 30        BASIC ADR           BRANCH UNLESS MEMORY ALLOWANCE = F ONLY.
 0695              LA           OCT 4000      ADDRESS       BASIC ADR           BRANCH IF INDEED REFERS TO FIXED.
 0697              LA           OCT 2000      ADDRESS       RNG ERROR           ADDRESS IN BANKS E4-E7 IS NONSENSE HERE.
 0699              NA, BIT7M    SWITCH        ZERO          ADD ADR WD
 0700              TS, BIT33M   ONES          CUSS LIST +11 PRB ADRES      C
 0701              TS, BIT17M   ONES          CUSS LIST +3  ADD ADR WD          IF NOT INDEXED, WE'VE HAD IT, MATE.

 0703   BASIC ADR  LA           ADDRESS       OCT 3777      CHK EBANK           BRANCH IF ADDRESS IS IN ERASABLE.
 0705              NA, BIT7M    SWITCH        ZERO          ADRES ADR
 0706              NA           MAX ADRES     PL 11777      ADRES ADR -1        CUSS UNINDEXED 1/4-CODE REFERENCE TO F.
 0708              TS, BIT33M   ONES          CUSS LIST +11 PRB ADRES      C
 0709              TS, BIT17M   ONES          CUSS LIST +3  ADRES ADR           PUT MISC. FLAG ON UNINDEXED BASIC IN-
 0711              TX, CHAR1M   DEC 48 FLG    -             WORD                STRUCTIONS THAT REFER TO FIXED MEMORY.
 0713   ADRES ADR  LA, CAC3M    ADR WD +1     OCT 7777      ADD ADR WD          EXIT IF IN FIXED-FIXED.
 0715              NA, B6T7M    SWITCH        B2B6          C,+3                EXCEPT WHERE INSTRUCTION IS INDEXED, ...
 0717              NA, B39T48M  ADR WD        ONES          C,+3                CUSS D.P. ADDRESS THAT STRADDLES FBANKS.
 0719              TS, BIT17M   ONES          CUSS LIST +3  RNG ERROR      C
 0720              LA           ADDRESS       OCT 7777      ADD ADR WD          (FOR D.P. ADDRESS = 7777).
 0722              LA           LOCATION      OCT 7777      F SUBADR            BRANCH IF LOCATION IS NOT IN AN FBANK.
 0724              LA           MAX ADRES     PL 11777      F SUBADR            NO BANK CUSS ON XQC REF TO 2000-3777.
 0726              NA, BANKMASK LOCATION      ADDRESS       CUS F BANK
 0727   F SUBADR   TS, BANKMASK OCT 2000      ADR WD        ADD ADR WD          PUT SUBADDRESS IN THE RANGE 2000-3777.

 0729   CHK EBANK  LA, CAC3M    ADR WD +1     OCT 1377      ADD ADR WD          BRANCH IF ADDRESS IS NOT IN AN EBANK.
 0731              NA, B6T7M    SWITCH        B2B6          C,+3                EXCEPT WHERE INSTRUCTION IS INDEXED, ...
 0733              NA, B41T48M  ADR WD        ONES          C,+3                CUSS D.P. ADDRESS THAT STRADDLES EBANKS.
 0735              TS, BIT17M   ONES          CUSS LIST +3  RNG ERROR      C
 0736              LA           ADDRESS       OCT 1377      ADD ADR WD          (FOR D.P. ADDRESS = 1377).
 0738              LA, EBANKMSK E BANK REG    BANK E2       CUS E BANK          FORBID ALL EBANKS IF PSEUDO-BK DECLARED.
 0740              NA, EBANKMSK ADDRESS       EBANK REG     CUS E BANK          BRANCH ON E-BANK ERROR.
 07412             LA, C7T8M    USERLOG +15   BLANKS        CUS E BANK          CUSS IF THERE'S NO DECLARED EBANK.
 0742   E SUBADR   TS, EBANKMSK OCT 1400      ADR WD        ADD ADR WD          PUT SUBADDRESS IN THE RANGE 1400-1777.

 0529   CUS E BANK TS, EBANKMSK OCT 1400      ADR WD        CUSS BANK      C
 0530              SWS, ACO5    ADDRESS       10,L          6,2
 0531              TS, CHAR4M   E CHAR 4      6,2           ADD ADR WD          PUT EBANK NUMBER IN BANK ERROR CUSS.
 0541   CUS F BANK TS, BANKMASK OCT 2000      ADR WD        CUSS BANK      C
 0542              WD           ADDRESS       OCT 10000     M COMMON
 0543              SWS, CHAR4M  M COMMON      11,L          6,2
 0544              SWS, ACO5    M COMMON      8,L           6,2                 PUT FBANK NUMBER INTO BANK ERROR CUSS.

 0546   ADD ADR WD WA, SPECMAGM WORD          ADR WD        WORD                PUT EXPLICIT ADDRESS INTO WORD.

# Page 445
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.  15        PAGE 181

P0755   PRINTING PROCEDURES FOR BASIC INSTRUCTIONS AND ADDRESS CONSTANTS.

 0756   GUD BASIC  SS           ZERO          C1T4          LINE +6             CLEAR ADDRESS FIELD OF PRINT IMAGE.
 0758              NA, CHAR1M   CARD +2       BIT 1         C,+2                BRANCH IF NO MINUS SIGN IN COLUMN 17.
 0760              HA           WORD          SPEC MAG      WORD                COMPLEMENT NEGATIVE INSTRUCTION.
 0762              SWS, ACO1    WORD          33,L          LINE +6
 0763              SWS, ACO2    WORD          30,L          LINE +6
 0764              SWS, ACO3    WORD          27,L          LINE +6
 0765              SWS, ACO4    WORD          24,L          LINE +6             PUT BASIC CODE ADDRESS INTO PRINT IMAGE.
 0767              LA           DEC 6 FLAG    WORD          ACON PRNT           BRANCH IF WORD IS AN ADDRESS CONSTANT.

 0769              LN           ADR WD        ZERO          OP DIGIT -1
 0770              LA           ADDRESS       OCT 3777      C,+4                BRANCH IF INSTRUCTION REFERS 2 ERASABLE.
 0772              LA           ADDRESS       OCT 7777      C,+2                BRANCH IF REFERS TO FIXED-FIXED.
 0774              TS, B29T30M  ONES          WORD          BBCON +2       C    REDUCE BANK NUMBER.  SET FBANK REF. BIT.
 0776              SWS, CAC3M   ADDRESS       2             ADDRESS             ALIGN FIXED BANK NOS. WITH ERASABLE.
 0778              SWS, CHAR3M  ADDRESS       22,L          WORD                SUPPLY BANK NUMBER TO PASS 3 FOR REF CK.
 0780              SWS, CHAR4M  WORD          6             WORD                STORE IT TWICE TO MAKE PARITY OK.
 0782              SSL, FOURM   HEALTH        17            PRINT OP       C    CHOOSE PRINTING OF STRAIGHT OP OR OTHER.

 0784   OP DIGIT   SWS, ACO8    WORD          9             LINE +5        C    PRINT SECOND OCTAL OP DIGIT.
 0786              LA, CAC3M    BANK E2       ADR WD        C,+2           C    BRANCH IF ADDRESS VALUE IS OVER 777.
 0788              TS, CHAR1M   BLANKS        LINE +6       PRINT OP       C
 0789              SWS, CHAR1M  FIVE          5             LINE +6        C    INSERT PRIME IF ADDRESS IS SPLIT.

 0791   PRINT OP   SWS,CHAR7M   WORD          6             LINE +5        C    SET MAIN OP DIGIT IN PRINT.
 0793              SWS, BIT7M   SWITCH        21,L          SWITCH         C    MOVE CURRENT INDEX BIT TO PREVIOUS.
 0795              SWS, BIT28M  ZERO          DAMN ZERO     SWITCH         C    CLEAR CURRENT INDEX BIT.
 0797              NA, CHAR4M   LINE +6       BLOTS         BC CHECK       S    CLEVERLY EXIT TO NAUGHTY OR BC CHECK.
 0799              TS, CHAR8M   ZERO          LINE +5       OP DIGIT       C    CLEAR A SPACE FOR THE MINOR OP DIGIT.

 0801              TS, CHAR8M   BLOTS         LINE +5       NAUGHTY             BLOT FIRST DIGIT OF BAD CONSTANT.
 0803   BAD BASIC  SS           BLOTS         C1T4          LINE +6             BLOT OUT BAD ADDRESS FIELD.
 0805              LA           DEC 5 FLAG    WORD          C,-2
 0806              NA, CHAR1M   CARD +2       BIT 1         C,+2                BRANCH IF NO MINUS SIGN IN COLUMN 17.
 0808              HA           WORD          SPEC MAG      WORD                COMPLEMENT GOOD OP OF BAD NEG. INSTR.
 0810              TS           ZERO          ADR WD        OP DIGIT -1    C    CHOOSE PRINTING OF STRAIGHT OP OR OTHER.
 0812   NAUGHTY    TS           W BAD WORD    WORD          BC CHECK

 0813   ACON PRNT  SWS, CHAR8M  WORD          12            LINE +5             PRINT FIRST DIGIT OF CONSTANT.

 0815   BC CHECK   NA, CHAR1M   CARD +2       BIT 1         C,+3
 0816              SS           ZERO          B1B17B33      CUSS LIST +12       CLEAR EXTENSION CUSSES IF MINUS.
 0818              TS, BIT33M   ZERO          CUSS LIST +23 C,+2                CLEAR "SHOULD-BE-INDEXED" CUSS IF MINUS.
 0820              NA, CHAR1M   CARD +2       BLANKS        QUEER C17           CUSS IF NEITHER BLANK OR MINUS IN CC 17.
 0822              NA, CHAR1M   CARD          J COLUMN 1    C,+3
 0823              SS           ZERO          B1B17B33      CUSS LIST +12       CLEAR EXTENSION CUSSES IF LEFTOVER.
 0825              TS, BIT33M   ZERO          CUSS LIST +23 C,+2                CLEAR "SHOULD-BE-INDEXED" CUSS IF LFTVR.
 0827              NA, CHAR1M   CARD          BLANKS        QUEER C1            CUSS IF NEITHER BLANK NOR J IN COLUMN 1.
 0829              NA, CHAR8M   CARD +2       BLANKS        QUEER C24           CUSS IF COLUMN 24 NON-BLANK.
 0831              TX, BIT6M    ZERO          -             SWITCH              TURN OFF D.P. OP CODE SWITCH.
 0833              TS, CHAR8M   EIGHT         EBANK REG     SET EBCON      C    TURN OFF "JUST-DID-EBANK=" SWITCH.
 08342             TS, B25T27M  BIT 25        SBANK REG     SET SBCON      C    TURN OFF "JUST-DID-SBANK=" SWITCH.
 0825   INSTR XIT  TS           MOD RETRN     Z,SC          RSTOR MXR      C    RETURN TO GENERAL PROCEDURE.

# Page 446
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.  16        PAGE 182

P0837   WHEN ADDRESS IS WRONG BUT NOT ATROCIOUS, TELL THE MAN WHAT IT IS.

 0838   PRB ADRES  TX           Z,R5          -             Z,X4           C    BANK INDICATOR 5 TO X4.
 0840              SS           CUSS LIST +11 B38T48        Z,X4           C    SET UP ADDRESS OF ADR CUSS.
 0842              TX           HI EQUALS     -             ADRECUSS +1    C    INITIALIZE TO ALF =00,0000.
 0844              SS           ADDRESS       SEVEN         ADRECUSS +1    C
 0845              SWS, ACO7    ADDRESS       3,L           ADRECUSS +1    C
 0846              SWS, ACO6    ADDRESS       6,L           ADRECUSS +1    C
 0847              SWS, ACO5    ADDRESS       9,L           ADRECUSS +1    C    PUT ADDRESS OR SUBADDRESS INTO CUSS.
 0849              LA           ADDRESS       OCT 3777      PRB EADDR      C    BRANCH IF ADDRESS IS IN ERASABLE.
 0851              LA           ADDRESS       OCT 7777      PRB NOBNK      C    BRANCH IF ADDRESS IS IN FIXED-FIXED.
 0853              SS           ALF 2000      B28T29        ADRECUSS +1    C    PUT SUBADDRESS IN THE RANGE 2000-3777.
 0855              WD           ADDRESS       OCT 10000     M COMMON       C
 0856              SWS, CHAR2M  M COMMON      23,L          ADRECUSS +1    C
 0857              SWS, ACO3    M COMMON      20,L          ADRECUSS +1    S    PUT REDUCED BANK NO. INTO CUSS, EXIT.
 0859   PRB EADDR  LA           ADDRESS       OCT 1377      PRB NOBNK      C    BRANCH IF ADDRESS IS IN UNSWITCHED F.
 0861              SS           ALF E1400     C2 B28T34     ADRECUSS +1    C    PUT SUBADDRESS IN THE RANGE 1400-1777.
 0863              SWS, ACO3    ADDRESS       22,L          ADRECUSS +1    S    PUT EBANK NO. INTO CUSS, EXIT.
 0865   PRB NOBNK  SWS, C3T6M   ADRECUSS +1   A,2,L         ADRECUSS +1    C
 0866              SS           BLANKS        C2 C7T8       ADRECUSS +1    S    MOVE UP NON-BANK ADDRESS, EXIT.

R0868   MINOR SUBROUTINE TO CUSS EITHER TYPE OF BANK ERROR.

 0869   CUSS BANK  TX           Z,R5          -             Z,X6           C    PUT BANK INDICATOR 5 IN X6.
 0871              SWS, BIT2M   SWITCH        5,L           CUSS LIST +11  C    SET POISON BIT OF BANK CUSS = -INDEXED.
 0873              HA           CUSS LIST +11 B1B2          CUSS LIST +11  C    CALL FOR BANK ERROR CUSS.
 0875              SWS, B38T48M CUSS LIST +11 32            Z,X6           S    SET UP X6 FOR BANK NO. INSERTION, EXIT.

# Page 447
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.  17        PAGE 183

P0877              SUBROUTINE TO UPDATE ASSEMBLER'S EBANK REGISTER.  CALLED EXCEPT WHEN BBCON OR 2(B)CADR FOLLOWS EBANK=
R0879   DIRECTLY.  CUSSES IF DECLARED EBANK (OTHER THAN 1-SHOTS) CONFLICTS WITH LOCATION VALUE.  ALSO FIXES SBANK REG.

 0881   EBK LOC Q  SWS,EBANKMSK EBANK REG     8,L           EBANK REG           TENTATIVELY ACCEPT EBANK DECLARATION.
 08821             SWS, B33T35M SBANK REG     5             SBANK REG           TENTATIVELY ACCEPT SBANK DECLARATION.
 08822             LA, CHAR8M   EIGHT         EBANK REG     C,+2                BRANCH ON OLD-EBANK-DECLARATION BIT.
 08824             TX,C7T8M     LAST BANX     -             USERLOG +15         ANNOUNCE NEW PERMANENT DECLARATION.
 08826             NA, B25T27M  SBANK REG     ZERO          C,+2                BRANCH ON OLD-SBANK DECLARATION BIT.
 08828             TX, C1T4M    LAST BANX     -             USERLOG +15         ANNOUNCE NEW PERMANENT DECLARATION.
 0883   LOC BNK CK LA           OCT 4000      LOCATION      SBK LOC Q           IF IN FIXED, GO SEE IF IN SUPERBANK.

 0884              LA           LOCATION      OCT 1377      N,X6                EXIT IF LOCATION IS NOT IN AN EBANK.
 0886              LA, CHAR8M   EIGHT         EBANK REG     C,+2                BRANCH ON OLD-EBANK-DECLARATION BIT.
 0888              NA, EBANKMSK EBANK REG     LOCATION      BAD CONFL           CHECK ON NEW PERMANENT DECLARATION.
 08892             SWS,CHAR7M   E CHAR 4      A,3           USERLOG +15
 08894             SWS,CHAR8M   LOCATION      8             USERLOG +15         SHOW E-BANK STATUS IN SUBHEAD.
 0890              TS, EBANKMSK LOCATION      EBANK REG     6,0                 FORCE AGREEMENT AND EXIT.

 0892   SBK LOC Q  LA           LOCATION      OCT 67777     N,X6                EXIT IF LOCATION NOT IN A SUPERBANK.
 089216            LA           ONES          LOCATION      N,X6                EXIT IF LOCATION HAS NO VALUE.
 089218            WD           LOCATION      OCT 10000     FIELD COD
 08922             NA, B25T27M  SBANK REG     ZERO          C,+2                BRANCH ON OLD-SBANK-DECLARATION BITS.
 08924             NA, B33T35M  SBANK REG     FIELD COD     BAD CONFL           CHECK UP ON NEW PERMANENT DECLARATION.
 089252            SWS, CHAR3M  W LAST ASS    0             USERLOG +15
 089254            SWS, CHAR4M  FIELD COD     11,L          USERLOG +15         SHOW S-BANK STATUS IN SUBHEAD.
 08926             TS, B33T35M  FIELD COD     SBANK REG     6,0                 FORCE AGREEMENT AND EXIT.

R08928  CUSSING OF SUPERBANK ERRORS: USED BY FCADR, 2FCADR, AND POLISH.

 0893   SBANK CUS  TS, BIT7M    ZERO          SWITCH        CUSS BANK      C    SET UP BANK ERROR CUSS FOR FILLING IN.
 08932             SWS, ACO5    ADR WD        5,L           6,2
 08933             SWS, CHAR4M  W LAST ASS    A,1           6,2                 FORM "ADDRESS IS IN BANK SN".
 08934             TX           Z,SH          -             Z,SC
 08936  1SH CONFL  TS, BIT1M    ONES          CUSS LIST +22 C,-1           C    E(S)BANK CONFLICT WITH 1-SHOT DECLARE.
 08938  BAD CONFL  TS, BIT17M   ONES          CUSS LIST +23 C,-2           C    E(S)BANK CONFLICT WITH LOCATION.

# Page 448
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.  18        PAGE 184

P0894              SUBROUTINE IN PASS 2 FOR AGC TO SET IN PRINT THE LOCATION OF AN INSTRUCTION OR CONSTANT, WITH BANK
R0896   NUMBER IF ANY AND WITH A NOTATION FOR END OF BLOCK OR BANK IF REQUIRED.  BLOTS OUT LOCATION FIELD IF BAD LOC.



 0898   AGC PLEB   NA           LOCATION      ONES          C,+2           C    BRANCH IF THERES A VALID LOCATION.
 0900              SS           BLOTS         C1T4          LINE +5             BLOT OUT LOCATION FIELD AND EXIT.

 0902              TX           AGC MXR       -             Z,MXR          C
 0903              SS           ZERO          C1T4          LINE +5        C
 0904              TX           LOCATION      -             COMMON         C
 0905              TX           COMMON        -             COMMON +1      C
 0906              LA           COMMON        OCT 3777      E PLEB         C    BRANCH IF LOCATION IS IN ERASABLE.
 0908              LA, B39T48M  LOCATION      ZERO          DP CROSS Q     C    BRANCH IF LOCATION BEGINS BANK OR FF/2.
 0910              LA           COMMON        OCT 7777      END BANK Q     C    BRANCH IF LOCATION IS NOT IN A BANK.
 0912              TX           COMMA C8      -             LINE +4        C
 0913              WD           COMMON        OCT 10000     COMMON         C    REDUCE TO STANDARD BANK NOTATION.
 0915              SWS, ACO6    COMMON        1             LINE +4        C
 0916              SWS, ACO7    COMMON        4             LINE +4        C    SET BANK NUMBER IN PRINT.
 0918              TS, BANKMASK OCT 2000      COMMON +1     END BANK Q     C    PUT SUBADDRESS IN THE RANGE 2000-3777.

 0920              TS, BIT33M   ONES          CUSS LIST +21 C,+4           C
 0921   E PLEB     NA, CHAR1M   HEALTH        BIT 2         C,+2           C    BRANCH IF NOT AN ERASE CARD.
 0923              NA, EBANKMSK LOCATION      HEALTH        C,-2           C    BRANCH IF ERASE CROSSES EBANK BOUNDARY.
 0925              LA, B41T48M  LOCATION      ZERO          DP CROSS Q     C    BRANCH IF LOCATION BEGINS EBANK.
 0927              LA           COMMON        OCT 1377      END BANK Q +2  C    BRANCH IF LOCATION IS NOT IN AN EBANK.
 0929              TX           E COMMA       -             LINE +4        C
 0930              SWS, ACO7    COMMON        2             LINE +4        C    SET EBANK NUMBER IN PRINT.
 0932              TX, EBANKMSK OCT 1400      -             COMMON +1      C    PUT SUBADDRESS IN THE RANGE 1400-1777.

 0934   END BANK Q NA, B39T48M  COMMON +1     ONES          C,+2           C    BRANCH IF NOT END OF BLOCK OR BANK.
 0936              TS, C1T4M    END BL MC     LINE +4       PRINT LOC      C    "EB" PRECEDES SUCH LOCATIONS.

 0938              TX           L TYP TAB     -             Z,X6           C
 0939              LA, CAC3M    LOCATION      6,0           C,+2           C    BRANCH WHEN MEMORY TYPE CATEGORY FOUND.
 0941              TS           Z,X6,1        -             C,-1           C
 0942              NA, CAC3M    LOCATION      6,0           PRINT LOC      C    BRANCH IF NOT END OF MINOR BLOCK.
 0944              SWS, C1T4M   END BL MC     A,4,L         LINE +4        C    "MC" MARKS END OF MEMORY TYPE.

 0946   PRINT LOC  SWS, ACO1    COMMON +1     33,L          LINE +5        C
 0947              SWS, ACO2    COMMON +1     30,L          LINE +5        C
 0948              SWS, ACO3    COMMON +1     27,L          LINE +5        C
 0949              SWS, ACO4    COMMON +1     24,L          LINE +5        C
 0950   RSTOR MXR  TX           GENL MXR      -             Z,MXR               SET UP LOCATION IN PRINT AND EXIT.



R0952              MINOR SUBROUTINE IN PASS 2 FOR AGC TO CUSS A DOUBLE PRECISION CONSTANT THAT CROSSES A BANK BOUNDARY.

 0954   DP CROSS Q TX           Z,CSH         -             Z,X6           C
 0955              NA           N,SC          2 BAD LOCS +1 N,X6           C    EXIT IF NOT A D. P. CONSTANT.
 0957              TS, BIT1M    ONES          CUSS LIST +28 6,0            C

# Page 449
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.  19        PAGE 185

P0958              SUBROUTINE IN PASS 2 FOR AGC TO SET UP A SINGLE-PRECISION CONSTANT IN WORD AND IN PRINT.  THIS
R0960   SUBROUTINE DOES NOT CARE WHETHER THE WORD IS SIGNED OR NOT, BUT DEMANDS THE OUTPUT OF DEC/OCT CONST IN NUMBER.

 0963   AGC 1P     NA           NUMBER        W BAD WORD    GOOD 1P        C    BRANCH IF WORD IS VALID.
 0965              SS           BLOTS         CHAR 8        LINE +5        C
 0966              SS           BLOTS         C1T4          LINE +6        C    BLOT OUT WORD IN PRINT.
 0968              TX           W BAD WORD    -             WORD                SEND ALONG BAD NEWS AND EXIT.

 0960   GOOD 1P    TX           AGC MXR       -             Z,MXR          C
 0971              EX           NUMBER        D2T12         WORD           C    ISOLATE MAGNITUDE.
 0973              LA           BIT 1         NUMBER        C,+2           C
 0974              HA           WORD          SPEC MAG      WORD           C    COMPLEMENT NEGATIVE WORD.

 0976   B2 BIN ALF SS           ZERO          C1T4          LINE +6        C
 0977              SWS, CHAR8M  WORD          12            LINE +5        C
 0978              SWS, ACO1    WORD          33,L          LINE +6        C
 0979              SWS, ACO2    WORD          30,L          LINE +6        C
 0970              SWS, ACO3    WORD          27,L          LINE +6        C
 0981              SWS, ACO4    WORD          24,L          LINE +6        C    SET WORD IN PRINT.
 0983              TS, CHAR1M   DEC6 FLAG     WORD          RSTOR MXR      C    APPLY INTERNAL CONSTANT FLAG AND EXIT.



R0984              SUBROUTINE IN PASS 2 FOR AGC TO PROCESS A DOUBLE-PRECISION CONSTANT.  USING THE OUTPUT OF DEC
R0986   CONST OR OCT CONST, AND DISTINGUISHING BETWEEN THE SIGNED AND UNSIGNED POSSIBILITIES (FOR OCTAL CONSTANTS ONLY),
R0988   SETS UP THE HIGH-ORDER PART IN WORD AND THE LOW-ORDER PART IN 2ND HALF, SETS THE HIGH-ORDER PART IN PRINT, AND
R0990   SETS UP THE LOW-ORDER PART IN PRINTABLE FORM IN 2ND ALF AND 2ND ALF +1.

 0991   AGC 2P     NA           NUMBER        W BAD WORD    GOOD 2P        C    BRANCH IF CONSTANT IS VALID.
 0993              TN           BLOTS         2             2ND ALF        C    PREPARE BLOTS FOR LOW-ORDER PART.
 0995              TS           W BAD WORD    2ND HALF      AGC 1P +1      C    GO TO JOIN SINGLE-PRECISION SADNESS.

 0997   GOOD 2P    TX           AGC MXR       -             Z,MXR          C
 0998              NA           E NUMBER      ZERO          C,+3           C    BRANCH IF NUMBER IS SIGNED.
 1000              SWE, B34T48M NUMBER        15            WORD           C
 1001              TS           SPEC MAG      COMMON        C,+3           C    SET UP UNSIGNED CONSTANT.

 1003              SWE, B35T48M NUMBER        14            WORD           C
 1004              TX           MIN 37777     -             COMMON         C    SET UP SIGNED CONSTANT.

 1006              EX           NUMBER        COMMON        2ND HALF       C    ISOLATE LOW-ORDER PART.
 1008              LA           BIT 1         NUMBER        C,+3           C    BRANCH IF NO MINUS SIGN.
 1010              HA           WORD          SPEC MAG      WORD           C
 1011              HA           2ND HALF      SPEC MAG      2ND HALF       C    COMPLEMENT HALVES OF NEGATIVE CONSTANT.

 1013   PRINT 2P   SWE, CHAR8M  2ND HALF      12            2ND ALF        C    THE INSTRUCTIONS FROM PRINT 2P THROUGH
 1015              SWE, ACO1    2ND HALF      33,L          2ND ALF +1     C     AG BIN ALF ARE BORROWED BY THE DOUBLE
 1017              SWE, ACO2    2ND HALF      30,L          2ND ALF +1     C     PRECISION ADDRESS CONSTANTS.
 1019              SWE, ACO3    2ND HALF      27,L          2ND ALF +1     C
 1020              SWE, ACO4    2ND HALF      24,L          2ND ALF +1     C    MAKE PRINTABLE VERSION OF LOW-ORDER PRT.
 1022              TS, CHAR 1M  DEC6 FLAG     2ND HALF      AG BIN ALF     C    GO TO JOIN SINGLE-PRECISION PROCEDURE.

# Page 450
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.  20        PAGE 186

P1024              SUBROUTINE IN PASS 2 FOR AGC TO SET IN PRINT A RIGHT-HAND LOCATION FOR SUCH AS SETLOC.  PUTS IN
R1026   THE BANK INDICATOR, IF ANY.  BLOTS OUT AN INVALID LOCATION.



 1027   AGC PREL   NA           LOCATION      ONES          C,+2           C
 1028              SS           BLOTS         C3T6          LINE +6             BLOT OUT BAD LOCATION AND EXIT.

 1030              TX           AGC MXR       -             Z,MXR          C
 1031              SS           ZERO          C3T6          LINE +6        C
 1032              TX           LOCATION      -             COMMON         C    ISOLATE LOCATION VALUE.
 1034              LA           COMMON        OCT 3777      E PREL         C    BRANCH IF LOCATION IS IN ERASABLE.
 1036              LA           COMMON        OCT 7777      PRINT VAL      C    BRANCH IF LOCATION IS NOT IN A BANK.
 1038              TX           COMMA C2      -             LINE +6        C
 1039              WD           COMMON        OCT 10000     COMMON         C    REDUCE TO STANDARD BANK NOTATION.
 1041              SWS, CHAR8M  COMMON        13            LINE +5        C
 1042              SWS, ACO1    COMMON        32,L          LINE +6        C    SET BANK NUMBER IN PRINT.
 1044              TS, BANKMASK OCT 2000      COMMON        PRINT VAL      C    PUT SUBADDRESS IN THE RANGE 2000-3777.

 1046   FPREL      LA           COMMON        OCT 1377      PRINT VAL      C    BRANCH IF LOCATION IS NOT IN AN EBANK.
 1048              TX           COMMA C2      -             LINE +6        C
 1049              SWS, CHAR8M  E CHAR 4      A,4           LINE +5        C
 1050              SWS, ACO1    COMMON        34,L          LINE +6        C    SET EBANK NUMBER IN PRINT.
 1052              TX, EBANKMSK OCT 1400      -             COMMON         C    PUT SUBADDRESS IN THE RANGE 1400-1777.

 1054   PRINT VAL  SWS, ACO3    COMMON        21,L          LINE +6        C
 1055              SWS, ACO4    COMMON        18,L          LINE +6        C
 1056              SWS, ACO5    COMMON        15,L          LINE +6        C
 1057              SWS, ACO6    COMMON        12,L          LINE +6        C
 1058              TX           GENL MXR      -             Z,MXR               SET LOCATION IN PRINT AND EXIT.

# Page 451
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.  21        PAGE 187

P1060              BANK 5 PORTION OF AGC PASS 2.  ENTER IN COSEQUENCE MODE WITH AGC MXR IN Z,MXR, ADDRESS CUSSALOG IN
R1062   AU2, AND ADDRESS CUSS LIST IN AU1. BANK INDICATOR 5 IS LEFT IN R5.  BANK 5 ALSO CONTAINS MASKS FOR AGC PASS 2.

 1064              SETLOC,3     0             B5

 1065   UNSCRAMB   SWE, B38T48M N,AU2         0             N,AU1          C    ZERO DEMAND BITS, MOVE SUBADDR OF CUSS3.
 1067              SWS, B34T37M N,AU2         25            N,AU1          C    MOVE POISON BIT AND LENGTH OF CUSS 3.
 1069              SWS, B22T32M N,AU2         4,L           N,AU1          C    MOVE SUBADDRESS OF CUSS 2.
 1071              SWS, B18T21M N,AU2         13            N,AU1          C    MOVE POISON BIT AND LENGTH OF CUSS 2.
 1073              SWS, B6T16M  N,AU2         8,L           N,AU1          C    MOVE SUBADDRESS OF CUSS 1.
 1075              SWS, B2T5M   N,AU2,1       1             N,AU1,1        C    MOVE POISON BIT AND LENGTH OF CUSS 1.
 1077              NA           N,AU2         SENTINEL      UNSCRAMB       C
 1078              TX           Z,AU2         -             Z,R5           S    SET BANK INDICATOR 5 IN R5, EXIT.

 1172   CUSSALOG   M,D,44E      CDNO CUSS     D ERR CUSS    ILOP CUSS
 1173              M,D,EDD      LEFL CUSS     CNFL CUSS     TYPL CUSS
 1174              M,D,DCD      BADL CUSS     IPOX CUSS     MGLA CUSS
 1175              M,D,CD4      UDEF CUSS     ASIZ CUSS     IRAD CUSS
 1176              M,D,DFE      LEFM CUSS     PRED CUSS     NFIT CUS1

 1177              M,D,EFF      NFIT CUS2     STYP CUS1     STYP CUS2
 1178              M,D,EEE      SCNF CUS1     SCNF CUS2     SOVS CUS1
 1179              M,D,EEE      SOVS CUS2     SMD CUS1      SMD CUS2
 1180              M,D,FFE      SME CUS1      SME CUS2      SMIT CUS1
 1181              M,D,EEE      SMIT CUS2     SNDE CUS1     ARBL CUSS

 1182              M,D,EGF      SIDL CUS1     SBDE CUS1     SMDE CUS1
 1183              M,D,C52      ADRE BANK     INAP CUSS     ADR CUSS
 1184              M,D,EE5      SBEX CUSS     SNEX CUSS     IDBC CUSS
 1185              M,D,5D5      MTD CUSS      RANG CUSS     FRAC CUSS
 1186              M,D,54E      MFD CUSS      LONB CUSS     UND1 CUSS

 1187              M,D,GEE      NDE1 CUSS     LNSY CUSS     SNDE CUS2
 1188              M,D,GEF      SBDE CUS2     SIDL CUS2     SMDE CUS2
 1189              M,D,FEE      SSNP CUSS     BNLF CUSS     NSCH CUSS
 1190              M,D,DDF      BFUL CUSS     ILOC CUSS     TOLA CUSS
 1191              M,D,GFE      MEMT CUSS     NMC1 CUSS     CAFS CUSS

 1192              M,D,444      QC1 CUSS      QC17 CUSS     QC24 CUSS
 1193              M,D,4F5      IMAD CUSS     POLE CUSS     ECEB CUSS
 1194              M,D,6EE      ECF1 CUSS     IPX1 CUSS     IPX2 CUSS
 1195              M,D,EG5      NMC2 CUSS     ECFB CUSS     SBIX CUSS
 11951             M,D,EFE      INXH CUSS     IMAS CUSS     STMF CUSS

 11952             M,D,FGG      PIWS CUSS     ROP2CUSS      MIMO CUSS
 11953             M,D,EEE      ANAD CUSS     ONCI CUSS     RIAH CUSS
 11954             M,D,7EF      CBBB CUSS     IAOS CUSS     NAWX CUSS
 11955             M,D,5EF      DPCB CUSS     MHBC CUSS     PWNL CUSS
 11956             M,D,FFD      CNRP CUSS     PUSH CUSS     POAD CUSS

 11687             M,D,DFF      IXOP CUSS     STOS CUSS     BREP CUSS
 11688             M,D,D5E      SNNR CUSS     MCPS CUSS     CEHS CUSS

 1169   SENTINEL   DEC          BB00 FFFF

# Page 452
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.  22        PAGE 188

P1113              CUSSES FOR AGC, SHOWN IN THE ORDER OF THEIR CALLS IN THE CUSS LIST.



 1115   CDNO CUSS  ALF,4        CARD NUMBER OUT OF SEQUENCE
 1116   D ERR CUSS ALF,4        NO "D" IN DECIMAL SUBFIELD
 1117   ILOP CUSS  ALF,5        ILLEGAL OR MIS-SPELLED OPERATION CODE

 1118   LEFL CUSS  ALF,5        IMPROPER LEFTOVER LOCATION FIELD FORMAT
 1119   CNFL CUSS  ALF,4        CONFLICT IN USE OF THIS LOCATION
 1120   TYPL CUSS  ALF,4        LOCATION IS IN WRONG MEMORY TYPE

 1121   BADL CUSS  ALF,4        OVERSIZE OR ILL-DEFINED LOCATION
 1122   IPOX CUSS  ALF,3        INDEXING IS ILLEGAL HERE
 1123   MGLA CUSS  ALF,4        ADDRESS FIELD IS MEANINGLESS

 1124   UDEF CUSS  ALF,3        "        " IS UNDEFINED
 1125   ASIZ CUSS  ALF,4        RANGE ERROR IN VALUE OF ADDRESS
 1126   IRAD CUSS  ALF,4        IRREGULAR BUT ACCEPTABLE ADDRESS

# Page 453
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.  23        PAGE 189

P1127   AGC CUSSES CONTINUED.

 1128   LEFM CUSS  ALF,4        LEFTOVER WON'T FIT IN MEMORY
 1129   PRED CUSS  ALF,5        ATTEMPT TO PREDEFINE LOCATION SYMBOL FAI
 1130              ALF          LED
 1131   NFIT CUS1  ALF,5        "        " WON'T FIT IN SYMBOL TABLE

 1132   NFIT CUS2  ALF,5        "        " WON'T FIT IN SYMBOL TABLE
 1133   STYP CUS1  ALF,5        "        " ASSOCIATED WITH WRONG MEMORY
 1134              ALF          TYPE
 1135   STYP CUS2  ALF,5        "        " ASSOCIATED WITH WRONG MEMORY
 1136              ALF          TYPE

 1137   SCNF CUS1  ALF,5        "        " ASSOCIATED WITH CONFLICT
 1138   SCNF CUS2  ALF,5        "        " ASSOCIATED WITH CONFLICT
 1139   SOVS CUS1  ALF,5        "        " GIVEN OVERSIZE DEFINITION

# Page 454
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.  24        PAGE 190

P1140   AGC CUSSES CONTINUED.

 1141   SOVS CUS2  ALF,5        "        " GIVEN OVERSIZE DEFINITION
 1142   SMD CUS1   ALF,5        "        " GIVEN MULTIPLE DEFINITIONS
 1143   SMD CUS2   ALF,5        "        " GIVEN MULTIPLE DEFINITIONS

 1144   SME CUS1   ALF,5        "        " ASSOCIATED WITH MULTIPLE ERRO
 1145              ALF          RS
 1146   SME CUS2   ALF,5        "        " ASSOCIATED WITH MULTIPLE ERRO
 1147              ALF          RS
 1148   SMIT CUS1  ALF,5        "        " IS IN MISCELLANEOUS TROUBLE

 1149   SMIT CUS2  ALF,5        "        " IS IN MISCELLANEOUS TROUBLE
 1150   SNDE CUS1  ALF,5        "        " WAS NEARLY DEFINED BY EQUALS
 1151   ARBL CUSS  ALF,5        ADDRESS DEPENDS ON UNKNOWN LOCATION

# Page 455
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.  25        PAGE 191

P1152   AGC CUSSES CONTINUED.

 1153   SIDL CUS1  ALF,5        "        " IS INDEFINABLY LEFTOVER
 1154   SBDE CUS1  ALF,5        "        " MULTIPLY DEFINED INCLUDING NE
 1155              ALF,2        ARLY BY EQUALS
 1156   SMDE CUS1  ALF,5        "        " MULTIPLY DEFINED INCLUDING BY
 1157              ALF           EQUALS

 1158   ADRE BANK  ALF,3        ADDRESS IS IN BANK 00
 1159   INAP CUSS  ALF,5        ADDRESS IS INAPPROPRIATE FOR OP CODE
 1160   ADR CUSS   ALF,2        ADDRESS

 1161   SBEX CUSS  ALF,5        THIS INSTRUCTION SHOULD BE EXTENDED
 1162   SNEX CUSS  ALF,5        THIS INSTRUCTION SHOULD NOT BE EXTENDED
 1163   IDBC CUSS  ALF,5        INEXACT DECIMAL-TO-BINARY CONVERSION

 1164   MTD CUSS   ALF,5        MORE THAN 10 DIGITS IN DECIMAL CONSTANT
 1165   RANG CUSS  ALF,4        RANGE ERROR IN CONSTANT FIELD

# Page 456
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.  26        PAGE 192

P1166   AGC CUSSES CONTINUED.

 1167   FRAC CUSS  ALF,5        FRACTIONAL PART LOST BY TRUNCATION

 1168   MFD CUSS   ALF,5        MORE THAN 14 DIGITS IN OCTAL CONSTANT
 1169   LONB CUSS  ALF,4        LOCATION FIELD SHOULD BE BLANK
 1170   UND1 CUSS  ALF,5        "        " WAS UNDEFINED IN PASS 1

 1171   NDE1 CUSS  ALF,5        "        " WAS NEARLY DEFINED BY EQUALS
 1172              ALF,2        IN PASS 1
 1173   LNSY CUSS  ALF,5        LOCATION FIELD SHOULD BE SYMBOLIC
 1174   SNDE CUS2  ALF,5        "        " WAS NEARLY DEFINED BY EQUALS

 1175   SBDE CUS2  ALF,5        "        " MULTIPLY DEFINED INCLUDING NE
 1176              ALF,2        ARLY BY EQUALS
 1177   SIDL CUS2  ALF,5        "        " IS INDEFINABLY LEFTOVER

# Page 457
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.  27        PAGE 193

P1178   AGC CUSSES CONTINUED.

 1179   SMDE CUS2  ALF,5        "        " MULTIPLY DEFINED INCLUDING BY
 1180              ALF           EQUALS

 1181   SSNP CUSS  ALF,5        "        " SHOULDN'T HAVE BEEN PREDEFINE
 1182              ALF          D
 1183   BNLF CUSS  ALF,5        NUMERIC LOCATION FIELD IS ILLEGAL HERE
 1184   NSCH CUSS  ALF,5        NO SUCH BANK OR BLOCK IN THIS MACHINE

 1185   BFUL CUSS  ALF,4        THIS BANK OR BLOCK IS FULL
 1186   ILOC CUSS  ALF,4        ILLEGAL LOCATION FIELD FORMAT
 1187   TOLA CUSS  ALF,5        CARD IGNORED BECAUSE IT'S TOO LATE IN TH
 1188              ALF          E DECK

 1189   MEMT CUSS  ALF,5        CARD IGNORED BECAUSE IT MAKES MEMORY TAB
 1190              ALF,2        LE TOO LONG
 1191   NMC1 CUSS  ALF,5        NO MATCH FOUND FOR CARD NUMBER OR ACCEPT
 1192              ALF          OR TEXT

# Page 458
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.  28        PAGE 194

P1193   AGC CUSSES CONTINUED.

 1194   CAFS CUSS  ALF,5        FIRST CARD NUMBER NOT LESS THAN SECOND

 1195   QC1 CUSS   ALF,4        QUEER INFORMATION IN COLUMN 1
 1196   QC17 CUSS  ALF,4        QUEER INFORMATION IN COLUMN 17
 1197   QC24 CUSS  ALF,4        QUEER INFORMATION IN COLUMN 24

 1198   IMAD CUSS  ALF,4        BLANK ADDRESS FIELD EXPECTED
 1199   POLE CUSS  ALF,5        ADDRESS FIELD SHOULD CONTAIN A POLISH OP
 1200              ALF          ERATOR
 1201   ECEB CUSS  ALF,5        ERASED REGION SHOULD NOT CROSS E-BANKS

 1202   ECF1 CUSS  ALF,5        EBANK OR SBANK CONFLICT WITH 1-SHOT DECL
 12021             ALF          ARATION
 1203   IPX1 CUSS  ALF,5        FIRST POLISH OPERATOR ILLEGALLY INDEXED
 1204   IPX2 CUSS  ALF,5        SECOND POLISH OPERATOR ILLEGALLY INDEXED

# Page 459
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.  29        PAGE 195

P12045  AGC CUSSES CONTINUED.

 1205   NMC2 CUSS  ALF,5        NO MATCH FOUND FOR SECOND CARD NUMBER
 1207   INXH CUSS  ALF,5        INTERPRETIVE INSTRUCTION NOT EXPECTED
 1208   MIMOCUSS   ALF,5        RIGHT OPCODE'S MODE IN DISAGREES WITH MO
 1209              ALF,2        DE OUT SETTING
 1210   ANAD CUSS  ALF,5        ADDRESS HAS NO ASSOCIATED POLISH OPCODE
 1211   IMAS CUSS  ALF,5        POLISH ADDRESS(ES) MISSING PRIOR TO THIS
 1212              ALF           OP PAIR
 1213   STMF CUSS  ALF,5        STORE OP MUST BE NEXT OP AFTER STADR
 1214   PIWS CUSS  ALF,5        PUSHUP ILLEGAL BEFORE STORE OP WITHOUT S
 1215              ALF          TADR
 1216   ROP2CUSS   ALF,5        LEFT OPCODE'S MODE IN DISAGREES WITH MOD
 1217              ALF,2        E OUT SETTING

# Page 460
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.  30        PAGE 196

P1218   AGC CUSSES CONTINUED.

 1219   ONCI CUSS  ALF,5        INT OPCODE DID NOT CALL FOR INDEXING
 1220   RIAH CUSS  ALF,5        INT OPCODE REQUIRES INDEXED ADDR HERE
 1221   CBBB CUSS  ALF,5        ADDRESS WORDS CROSS OVER BANK OR VAC ARE
 1222              ALF,2        A BOUNDARY
 1223   IAOS CUSS  ALF,5        INTERPRETIVE ADDR WORD OUT OF SEQUENCE
 1224   NAWX CUSS  ALF,5        CAN NOT HANDLE NEG ADDRESSES WITH INDEXI
 1225              ALF,1        NG HERE
 1226   ECFB CUSS  ALF,5        EBANK OR SBANK CONFLICT ILLEGAL EXCEPT F
 1227              ALF,2        OR BBCON, 2BCADR
 1228   SBIX CUSS  ALF,5        THIS INSTRUCTION SHOULD BE INDEXED
 1229   DPCB CUSS  ALF,5        D.P. CONSTANT SHOULD NOT CROSS BANKS
 1230   MHBCCUSS   ALF,5        ADDR MUST BE BASIC S.P. COSTANT FOR INST

# Page 461
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.  31        PAGE 197

P1231   AGC CUSSES CONCLUDED.

 1232   PWNL CUSS  ALF,5        POLISH WORDS REQUIRE BLANKS IN COLS 1, 1
 1233              ALF          7 AND 24

 1234   CNRP CUSS  ALF,5        PREVIOUS POLISH EQUATION NOT CONCLUDED P
 1235              ALF          ROPERLY
 1236   PUSHCUSS   ALF,5        POLISH PUSHUP REQUIRES NEGATIVE WORD HER
 1237              ALF          E
 1238   POAD CUSS  ALF ,4       POLISH ADDRESS EXPECTED HERE

 1239   IXOP CUSS  ALF,4        ASTERISK ILLEGAL ON THIS OPCODE
 12391  STOS CUSS  ALF,5        LOCATION SYMBOL IMPROPER ON STADR'ED STO
 12392             ALF          RE WORD
 12393  BREP CUSS  ALF,5        BBANK TYPE CONSTANTS REQUIRE PRECEDING E
 12394             ALF          BANK=

 1240   SNNR CUSS  ALF,4        SUBROUTINE NAME NOT RECOGNIZED
 1241   MCPS CUSS  ALF,5        MULTIPLE CALLS IN ONE PROGRAM OR SUBRO
 1242   CEHS CUSS  ALF,5        CONFLICT WITH EARLIER HEAD SPECIFICATION

# Page 462
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.  32        PAGE 198

P1245   AGC INTERPRETIVE OPCODES AND ADDRESS -- BANK 2.



 1246              SETLOC,5     512           B2

R1247   ASSIGNMENTS TO USE MAIN PASS TWO SCRATCH LOCATIONS

 1249   L GE BASE  CAC          GENL MXR      INT DATAB     GE BASE
 1250   HEALTHM    ASSIGN       3,2
 1251   CARDM      ASSIGN       3,3
 12512  MOD RTRN M ASSIGN       3,14
 1252   LOC M      ASSIGN       3,19
 12529  2ND HALFM  ASSIGN       3,22
 1253   WORDM      ASSIGN       3,23
 1254   ICOMMON    ASSIGN       3,24
 1255   ADDR WDM   ASSIGN       3,37
 1256   ADDRESSM   ASSIGN       3,43
 1257   MIN ADR    ASSIGN       3,73
 1258   LINEM      ASSIGN       0,0

R1259   ASSIGNMENTS TO USE AGC PASS 2 BANK 1 ERASABLES AND DATA.

 1260   AGP2 BASE  EQUALS       BIT30
 1261   LAGP2 BASE CAC          SEND WORD     SBANK CUS     AGP2BASE
 12614  OCT 40M    ASSIGN       2,8
 12615  OCT 70M    ASSIGN       2,9
 12617  K 37777    ASSIGN       2,14
 1262   E BNK REGM ASSIGN       2,27
 12621  SBNK REGM  EQUALS       EBNK REGM
 1263   M 57777    ASSIGN       2,29

R1264   VARIABLE STORAGE

 1265   STADR      RESERVE      1
 1266   ADD REV    RESERVE      1
 1267   MODE OUT   RESERVE      1
 1268   INT ADDR   RESERVE      5
 1269   LOC HOLD   RESERVE      1

 1270   INTERP WD  RESERVE      1
 1271   STORE COM  RESERVE      1
 1272   CHECK UP   RESERVE      1
 1273   PASS2 MXR  RESERVE      1

# Page 463
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.  33        PAGE 199

P1274   CONSTANTS AND MISCELLANEOUS

 1275   L INT ADDR CAC          PROC WORD     MAX AD SET    INT ADDR
 12751  L PROC WD  EQUALS       L INT ADDR
 1276   L INT OPPP CAC          P2 D2A LZS    ADD ADR WD    INT OP POP
 12761  L AD ADRWD EQUALS       L INT OPPP
 12761  L P2 D2AZS EQUALS       L INT OPPP
 1277   L BCCHECK  CAC          BAD BASIC     NAUGHTY       BC CHECK
 12771  I BAD BASC EQUALS       L BC CHECK
 12772  I SUSTAB   CAC                                      SUBSTRAB
 1278   L PRBADR   CAC          EBNK2 XIT     HOW HIGH F    RNG ERROR
 12781  L HOW HI F EQUALS       L PRBADR
 12782  L EBK2 XIT EQUALS       L PRBADR
 12783  L USD FMAX CAC          PRINT 2PA     INSTRONT      USED FMAX
 12784  L INSTRNT  EQUALS       L USD FMAX
 12785  L PRIN 2PA EQUALS       L USD FMAX
 12786  M AV TABLE CAC          11032         11140         8192
 12787  I TYP TAB  EQUALS       M AV TABLE
 12788  I AGC MXR  EQUALS       M AV TABLE
 12789  I GENL MXR MASKBASE     S,0           F,0
 1279   ZERO M     OCT          -0
 1280   ONESM      OCT          GGGG GGGG GGGG
 1281   B48M       OCT          -1
 1282   B47M       OCT          -2
 1283   B46M       OCT          -4
 1284   B46B48M    OCT          -5
 1285   B42T48MM   OCT          -177
 1286   B34T48MM   OCT          -77777
 1287   B47T48MM   OCT          -3
 1288   B26MM      OCT          -20000000
 1289   B39T41M    OCT          -1600
 1290   B43T48M    OCT          -77
 1291   K 1777 M   OCT          -1777
 1292   B44B48M    OCT          -21
 1293   B 40 M     OCT          -400
 1294   B37M       OCT          -4000
 1295   B36T37M    OCT          -14000
 1296   B38M       OCT          -2000
 1297   B35T37M    OCT          -34000
 1298   B37T38MM   OCT          -6000
 1299   B39T40M    OCT          -1400
 1300   BXSPEC     OCT          -100000002
 1301   B28M       OCT          -4000000
 1302   B29M       OCT          -2000000
 1303   B30M       OCT          -1000000
 13032  B32MM      OCT          -20 0000
 1304   B29T30MM   OCT          -3000000
 1305   B28T29M    OCT          -6000000
 1306   B28B30M    OCT          -5000000
 1307   B34T35M    OCT          -60000
 1308   MB36T48M   OCT          +17777
 1309   I LOW HALF OCT          -47777
 1310   AGMAXP1    OCT          -170000
 1311   BLANKSM    ALF
 1312   K 17 M     OCT          -17

# Page 464
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.  34        PAGE 200

 1313   K 16 M     OCT          -16
 1314   K 20 M     OCT          -20
 1315   K34 M      OCT          -34
 1316   K 35 M     OCT          -35
 1317   K 36 M     OCT          -36
 1318   K 45 M     OCT          -45
 1319   K 52 M     OCT          -52
 13195  MIDCAC 64  DEC          -64 0000
 1320   K 127M     OCT          -127
 1321   K 136 M    OCT          -136
 1322   K 137 M    OCT          -137
 1323   K 140 M    OCT          -140
 1324   K 157 M    OCT          -157
 1325   K 163 M    OCT          -163
 1327   SETPD COD  OCT          -176
 1328   K 200 M    OCT          -200
 13289  K 360 M    OCT          -360
 1329   K 361 M    OCT          -361
 1330   K 1377 M   OCT          -1377
 1331   K 53777 M  OCT          -53777
 1332   K 17777 M  OCT          -17777
 1333   K 47777 M  OCT          -47777
 1334   K 10000 M  OCT          -10000
 1335   K 20000 M  OCT          -20000
 1336   K 2000 M   OCT          -2000
 1337   CMA 1 C7T8 OCT          -7301
 1338   CMA 2 C7T8 OCT          -7302
 1339   ASTER C8   OCT          -54
 1340   STOCALL    OCT          -30420000
 1341   STODL      OCT          -12030000
 1342   STOVL      OCT          -14050000
 1343   BONSET     OCT          -72
 1344   BLOTM      ALF          ▪▪▪▪▪▪▪▪
 1345   F CHAR 4M  ALF             E
 1346   W NEGATIV  ALF          NEGATIVE
 13461  W NO NEED  ALF          NO NEED
 13462  W WDS LEFT ALF,2          NO WORDS LEFT

# Page 465
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.  35        PAGE 201

P1347   DOUBLED UP INTERPRETIVE OPCODE DATA

 1348   INT DATAB  OCT          1304 4006     1405 6002                         TAD        VLOAD    000
 1350              OCT          1505 6016     2206 6012                         VXSC       SIGN     002
 1352              OCT          1304 6026     2652 7022                         TLOAD      C GO TO  004
 1354              OCT          1505 6036     1203 6032                         V/SC       DLOAD    006
 1356              OCT          2646 7646     1143 6042                         SSP        SLOAD    010
 1320              OCT          1746 0056     1203 6052                         MXV        PDDL     012
 1358              OCT          2651 7066     1405 6062                         CCALL      PDVL     014
 1360              OCT          2146 4076     1746 0072                         NORM       VXM      016
 1362              OCT          1206 4106     1203 4102                         DDV        DMPR     020
 1364              OCT          1406 0122     1206 4112                         VAD        BDDV     022
 1366              OCT          1406 0132     1406 0126                         BVSU       VSU     024
 1368              OCT          1406 0142     1403 0136                         VXV        DOT     026
 1370              OCT          1206 4152     1406 0146                         DSU        VPROJ     030
 1372              OCT          1206 4162     1206 4156                         DAD        BDSU     032
 1374              OCT          1206 4172     0000 0000                         DMP        BLANK OP 034
 1376              OCT          1066 4316     2146 6176                         SL         SET PD   036
 1378              OCT          2063 5316     1066 4716                         SLR        SR       040
 1380              OCT          4065 0316     3063 5716                         VSL        SRR      042
 1382              OCT          7146 6003     5065 0716                         AXT        VSR      044
 1384              OCT          5146 6023     7146 6013                         LXA        AXC      046
 1386              OCT          5146 6043     5146 6033                         SXA        LXC      050
 1388              OCT          7146 6063     5146 6053                         INCR       XCHX     052
 1390              OCT          5146 6103     3146 6073                         XAD        TIX      054
 1392              OCT          3146 6123     5146 6113                         BZE        XSU      056
 1394              OCT          3146 6133     3152 6127                         BPL        GO TO    060
 1396              OCT          4142 6143     3146 6137                         RTB        BMN      062
 1400              OCT          3151 6153     3146 6147                         CALL       BHIZ     064
 1402              OCT          0000 0000     5146 6157                         BLANK OP   STQ      066
 1404              OCT          3146 6177     4146 6173                         BOV        BOVB     070
 1406              OCT          6652 6763     6646 6763                         SETGO      BONSET   072
 1408              OCT          6046 6163     6646 6763                         SET        BOFSET   074
 1410              OCT          6652 6763     6646 6763                         INVGO      BONINV   076
 1412              OCT          6046 6163     6646 6763                         INVERT     BOFINV   100
 1414              OCT          6652 6763     6646 6763                         CLRGO      BONCLR   102
 1416              OCT          6046 6163     6646 6763                         CLEAR      BOFCLR   104
 1418              OCT          3150 6153     6646 6763                         CALRB      BON      106
 1420              OCT          2650 7066     6646 6763                         CCLRB      BOFF     110
 1422              OCT          0046 4011     0050 6001                         SQRT       EXIT     112
 1424              OCT          0046 4031     0046 4021                         COS        SIN      114
 1426              OCT          0046 4051     0046 4041                         ACOS       ASIN     116
 1428              OCT          0043 4071     0046 4061                         ROUND      DSQ      120
 1430              OCT          0045 4111     0046 4101                         VDEF       DCOMP    122
 1432              OCT          0046 4131     0046 0121                         ABS        UNIT     124
 1434              OCT          0056 6151     0043 0141                         STADR      VSQ      126
 1436              OCT          0046 6171     0052 6161                         PUSH       RVQ      130
 1438              OCT          0043 0131     0046 0101                         ABVAL      VCOMP    132
 1440              OCT          0                                               BLANK OP   BLANK OP 134
 1442              OCT          0                                               BAD        BLANK    136
 1444   SHIFTDAT   OCT          0043 4005      0045 0005                        SCALER SHORT SHIFTS AND ALSO VECTORS

# Page 466
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.  36        PAGE 202

P1446   OTHER EQUALITIES.

 1447   B1M        EQUALS       BIT1M
 1448   B7M        EQUALS       BIT7M
 1449   B17M       EQUALS       BIT17M
 1450   B24M       EQUALS       BIT24M
 1451   B31M       EQUALS       BIT31M
 1452   B32M       EQUALS       BIT32M
 1453   B33M       EQUALS       BIT33M
 1454   B47T48M    EQUALS       THREEM

# Page 467
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.  37        PAGE 203

P1455   INDEX REGISTER USAGE

R1456   X0 = LINE BASE
R1457   X1 = CUSS LIST ADDRESS  (THROUGHOUT PASS 2)
R1458   X2 = BASE OF VARIABLE/CONSTANT FOR AGC PASS 2 BANK 1
R1459   X3 = BASE OF VARIABLE STORAGE FOR GENERAL PASS 2
R1460   X5 = INT ADDR RELATIVE LOC
R1461   X6 = MISCELLANEOUS
R1462   X7 = MONITOR
R1463   OTHER REGISTERS USED ARE AU1, AU2, R1, R2

R1464   BIT ASSIGNMENTS FOR COMMON WHEN OP CODE'S DATA EXTRACTED FROM DATA TABLE
R1465              BITS 42 TO 48     AGC-INT OPCODE +1, NOT NECESSARILY COMPLETE
R1466              BITS 39 TO 41     OP'S 2ND ADDR TYPE, IF ANY
R1467              BITS 37 TO 38     MODE IN REQUIREMENT. 0 = V. 1 = D. 2 = DT.  3 = DON'T CARE.
R1469              BITS 34 TO 36     MODE OUT SETTING. 0 = UNKNOWN, REQUIRE BASIC INST NEXT. 1 = UNKNOWN, REQUIRE INT
R1471                                INST NEXT. 2 = UNKNOWN. 3 = D. 4 = T. 5 = V. 6 = NO CHANGE.
R1473              BIT  33           THIS INST SHOULD BE RH OP OR , IF LH OP, RH OP MUST BE BLANK
R1475              BIT  32           THIS INST IS GENERAL SHIFT
R1476              BIT  31           0 = PUSH UP ALLOWED. 1 = NOT ALLOWED
R1477              BITS 28 TO 30     OPCODE MODE.  0 = UNARY. 1 = S. 2 = D. 3 = T. 4 = V. 5 = VXSC OR V/SC. 6= TWO ADDR
R1479                                SINGLE PRECISION OP. 7 = MATRIX.
R1480              BITS 25 TO 27     OP'S 1ST ADDR TYPE, IF ANY. 0 = NONE. 1 = 14 BIT ADDR. 2 = E ADDR, ARG-CCS. 3 = FUL
R1482                                L 15 BIT ADDR. 4 = FCADR. 5 = E ADDR. 6 = SW ADDRESS. 7 = 15 BIT C TYPE ADDRESS
R1484   BIT ASSIGNMENT FOR INT ADDR USED IN INTERPRETIVE ADDRESS DETERMINATION
R1485              BITS 42 TO 48     AGC-INT OPCODE +1, NOT NECESSARILY COMPLETE
R1486              BITS 28 TO 30     OPCODE MODE. SEE ABOVE
R1487              BIT  31           0 = PUSH UP ALLOWED. 1 = PUSH UP NOT ALLOWED
R1489              BITS 25 TO 27     ADDRESS TYPE
R1490              BIT 24            THIS ADDRESS MUST BE INDEXED
R1491              BIT  7            UPON INSPECTION BY INT AD CHK ROUTINE, X2 USED BY THIS ADDRESS
R1493   FOR GENERAL SHIFTS BITS 25 TO 27 OF INT ADDR HOLD LIMITS DESIGNATION ANDBITS 39 TO 41 HOLD ADDRESS ADDITIVE



 1495   INT OP COD TS           B46B48M       Z,R2          INT OP SET     C    GO SET VARIOUS ESSENTIAL REGISTERS
 1497              SWE,ONESMM   L INT ADDR    16            Z,CSC          C    GO DO E-BANK SETTING CHECK
 1499              TS           CARDM +2      ICOMMON +1    INT AD CHK     C    GO CHECK PREVIOUS ADDRESSES
 1501              NA           STADR         K 127 M       C,+2                JUMP IF STORE CODE NOT EXPECTED
 1503              TX,B33M      ONESM         -             1,24                STORE CODE SHOULD PRECEDE THIS OP PAIR.
 1505              SWE,CHAR1M   B46B48M       4             WORDM               SET UP INT OPCODE FLAG FOR MEMORY MAP
 1507              SWE,B42T48M  HEALTHM       24            STADR               EXTRACT 1ST INT OPCODE STORED BY PASS 1
 1509              TS           L INT ADDR    Z,X5          INT OP COM          MAKE SOME CHECKS ON THIS OPCODE
 1511              EX           ICOMMON       B42T48MM      ADDRESSM            PUT IN AGC WORD BITS 7-1
 1513              SWE,B42T48M  HEALTHM       17            ICOMMON +5          EXTRACT 2ND INT OPCODE
 1515              NA           ICOMMON +5    K137M         C,+2
 1516              TS,B17M      ONESM         1,21          INT WD BOT          BAD OPCODE. BLOT OUT WORD
 1518              NA           ICOMMON +5    K 136 M       INT OP POP
 1519              TS           K 136 M       I COMMON +5   INT OP SUP          2ND OPCODE IS BLANK
 1521   INT OP POP NA, B33M     ICOMMON       ONESM         C,+2
 1522              TS, B1M      ONESM         1,21          C,-2                ERROR IF RH OP IS NOT BLANK, IF REQUIRED
 1524              TX           ICOMMON +5    -             STADR
 1525              TN           CARDM +3      2             ICOMMON             ADDRESS FIELD HOLDS 2ND OPCODE
 1526              TS           K17M          Z,R2          INT OP COM          SET SEARCH FOR 15 CHARS
 1527              SWS,B35T41M  ICOMMON       7,L           ADDRESSM            PUT 2ND OPCODE INTO AGC WORD,BITS 14-8

# Page 468
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.  38        PAGE 204

 1531   INT OP SUP HA           ADDRESSM      B34T48MM      ADDRESSM            DO ONE'S COMPLEMENT
 1533              TS           -             -             INT WD RUN          GO INCREMENT LOC HOLD

 1535   INT OP COM TS           Z,SH          Z,R1          INT OP PAT
 1536   INT OP APE LA           STADR         K 137M        INT OP SMO          JUMP IF NOT SHORT SHIFT CODE
 1538              LA           STADR         K 157 M       C,+3                JUMP IF SCALER SHIFT
 1540              WD           STADR         K 20 M        STADR
 1541              TS,B25T48M   SHIFTDAT      ICOMMON       C,+2                BRING FORTH VECTOR 24 BIT DATA
 1543              SWE,B25T48M  SHIFTDAT      24            ICOMMON             BRING FORTH SCALER 24 BIT DATA
 1545              WD           STADR         K 140 M       ICOMMON +1
 1546              SWS,ONESMM   ICOMMON +1    3,L           ICOMMON +1
 1547              WA,B42T48M   ICOMMON +1    ICOMMON       ICOMMON             FORM COMPLETE OPCODE
 1549              TS           -             -             INT OP NOT
 1550   INT OP PAT SWE,ONESMM   L GE BASE     16            Z,X6
 1551              SWS,B19T24M  STADR         23,L          C,+1
 1552              TX           6,0           -             ICOMMON +5          GET FULL WORD CONTAINING THIS OP'S DATA
 1554              SSL, ONEM    STADR         0             C,+1
 1555              SWE,ONESMM   ICOMMON +5    24            ICOMMON +5
 1556              SWE,B25T48M  ICOMMON +5    24            ICOMMON +5          SELECT PROPER HALF WORD
 1558              TS           -             -             INT OP TOM          GO SEARCH FOR * OR ,1 ON OPCODE
 1560              TS           ICOMMON       ICOMMON +2    INT AD PEK     C    GO CYCLE 16 CHARS RIGHT ONE CHAR
 1562   INT OP TOM NA,CHAR8M    ICOMMON +1    BLANKSM       C,+2                JUMP ON RIGHT MOST NONBLANK CHAR
 1564              NA           Z,R2,1        ZEROM         C,-2                JUMP IF SEARCH NOT DONE
 1566              TX           ICOMMON +5    -             ICOMMON
 1567              NA,C7T8M     ICOMMON +1    CMA 1 C7T8    C,+2                JUMP IF RIGHT MOST NOT ,1
 1569              WA           B46M          ICOMMON +5    ICOMMON             OPCODE TO BE UPPED FOUR
 1571              NA,CHAR8M    ICOMMON +1    ASTER C8      INT OP APE          JUMP IF RIGHT MOST NOT *
 15722 *           SSL, THREEM  ICOMMON +5    0             C,+1                ONLY CODES ENDING IN 10 CAN TAKE *.
 15724             TS           -             -             INT ERR 8
 1573              TS           -             -             INT ERR 8           JUMP WHEN OPCODE NOT ALLOWED TO INDEX
 1575              NA           K 36 M        STADR         C,+2
 1576              TS           -             -             INT ERR 8           SETPD CAN NOT BE INDEXED
 1578              WA           BXSPEC        ICOMMON +5    ICOMMON             OPCODE INCR BY TWO. B24 SHOWS INDEXING
 1580              TX,B31M      ONESM         -             ICOMMON             DO NOT ALLOW PUSHUP NOW
 1582   INT OP SMO NA,B28T30M   ICOMMON       B28B30M       INT OP NOT          JUMP IF OPMODE NOT VXSC OR V/SC
 1584              LA           MODE OUT      B47M          C,+2                JUMP IF LAST MODEOUT = UNKNOWNS
 1586              LA           MODE OUT      B46M          C,+2                JUMP IF LAST MODE OUT = D OR T
 1588              TS,B28T30M   B29M          ICOMMON       INT OP SAP          SET OPMODE = D
 1590              TS,B28T30M   B28M          ICOMMON       INT OP SAP          SET OPMODE = V
 1592   INT OP NOT LA           MODE OUT      B47M          INT OP MUT          JUMP IF LAST MODE OUT = UNKNOWNS
 1594              SSL,B47T48M  ICOMMON       10            INT OP DUD     C    CHECK PROPER MODE IN
 1596   INT OP SAP LN,B34T36M   ICOMMON       B34T35M       C,+2                JUMP IF NEW MODE OUT = NO CHANGE
 1598              SWE,B46T48M  ICOMMON       12            MODE OUT            UPDATE MODE OUT
 1600              LA,B25T27M   ICOMMON       ZEROM         INT OP NOB          JUMP IF OPCODE EXPECTS NO ADDRESS
 1602              NA,B42T48M   ICOMMON       K 163 M       C,+4                JUMP IF NOT SWITCH TYPE OPCODE
 1604              TX           ICOMMON       -             ICOMMON +5
 1605              WD,B42T48M   STADR         BONSET        ICOMMON +5          DETERMINE OPCODE ADDITIVE
 1607              TS           ICOMMON +5    N,X5,1        C,+2                SAVE DATA FOR ADDR WORD USE
 1609              TX           ICOMMON       -             N,X5,1              SAVE DATA FOR ADDR WORD USE
 1611              NA,B28T30M   ICOMMON       B28T29M       INT OP NOB          JUMP IF ONLY ONE ADDRESS WORD EXPECTED
 1613              TX,B25T48M   ICOMMON       -             5,0                 GIVE DATA TO SECOND ADDRESS
 1615              SWS,B25T27M  5,0           14,L          N,X5,1              SHIFT ADDR TYPE TO CORRECT POSITION
 1617   INT OP NOB TS           -             -             N,R1
 1618   INT OP DUD NA           MODE OUT      B46B48M       INT ERR 4           ERROR IS LAST MODE NOT V
 1620              NA           MODE OUT      B47T48MM      INT ERR 4           ERROR IF LAST MODE NOT D

# Page 469
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.  39        PAGE 205

 1622              NA           MODE OUT      B46M          C,-1           C    ERROR IF LAST MODE OUT NOT DT
 1624              TX           ICOMMON       -             ICOMMON
 1625   INT OP MUT SSL,B47T48M  ICOMMON       10            C,+1                BRANCH BY MODE IN REQUIREMENT
 1627              TS           B46B48M       MODE OUT      INT OP SAP          MODE NOW VECTOR
 1629              TS           B47T48MM      MODE OUT      INT OP SAP          MODE NOW D/T
 1631              TS           B47T48MM      MODE OUT      INT OP SAP
 1632              TS           B48M          MODE OUT      INT OP SAP
 1633   INT OP DOG LA           INT ADDR      ZEROM         INT OP BAR          NO SWEAT IF ALL ADDRESSES IN
 1635              NA,B33M      INT ADDR      ZEROM         INT OP BAR          SAME IF PUSH UP NOT ALLOWED
 1637              TS,B1M       ONESM         1,25          INT OP BAR          ERROR. NEED STADR CODE PREVIOUSLY
 1639   INT OP GOS TS           ZEROM         STORE COM     INT OP SET     C    STORE CODES/ALL ADDR WORDS ENTER HERE
 1641              SWE,ONESMM   L INT ADDR    16            Z,CSC          C    GO DO E-BANK SETTING CHECK
 1643              SWE,CHAR1M   B47T48MM      3             WORDM               SET CONSTANT TYPE FLAG FOR MEMORY MAP
 1645              LA,B28T30M   HEALTHM       B29T30MM      INT AD GO           JUMP TO INTERPRETIVE ADDRESS ROUTINE
 1647              NA           STADR         K 127 M       INT AD DOG          JUMP IF STADR DOES NOT PRECEDE STORE
 1649   INT OP BAR TS           -             -             INT AD CHK     C    CHECK IF ALL REQUIRED ADDR RECEIVED
 1651              TX           B26MM         -             INT ADDR            STORE CODES REQUIRE ARC-CCS E TYPE ADDR
 1653              SWS,B28T30M  MODE OUT      18,L          INT ADDR            LAST MODE OUT IS THIS OP MODE
 1655              WD           INT ADDR      B30M          INT ADDR
 1656              TS           Z,SC          STORE COM     INT AD TUM          GO PROCESS LIKE REG E ADDRESS
 1658              NA           ONESM         ADDRESSM      C,+4                JUMP UNLESS ADDRESS IS VERY BAD.
 1660              TX           LOC M         -             LOC HOLD            CANCEL LOCATION SEQUENCE CHECKS
 1662              TX           ZEROM         -             STORE COM           FLAG FOR BELOW
 1664              TX           ZEROM         -             ADDRESSM            AVOID OVERFLOW TROUBLE
 1666              NA, B29T30M  HEALTH M      ZERO M        FANCY STO           BRANCH IF STORE AND (LOAD OR CALL).
 1668   PLAIN STO  NA,B24M      INT ADDR      ONESM         C,+4                JUMP IF NO INDEXING
 1670              WA           ADDRESSM      B37M          ADDRESSM            ASSUME X1 USED
 1672              NA,B7M       INT ADDR      ONESM         C,+2                JUMP IF SO
 1674              WA           ADDRESSM      B37M          ADDRESSM            NOW X2 USED
 1676              TS           ZERO M        INT ADDR      INT OP BAT

 1677   FANCY STO  TX,B1M       ZERO M        -             1,30                REOPEN JUDGEMENT OF OPCODE ASTERISK.
 1679              SWS,B17M     INT ADDR      7,L           1,2                 INDEXED ADDRESS ILLEGAL
 1681              SSL,B47T48M  HEALTHM       18            C,+0                BRANCH BY STORE CODE TYPE
 1683              TS           B47T48MM      MODE OUT      INT OP SDL          SET MODE OUT TO DOUBLE
 1685              TS           B46B48M       MODE OUT      INT OP SVL          SET MODE OUT TO VECTOR
 1687              WA           ADDRESSM      B35T37M       ADDRESSM            CALL ADDITIVE = OCT34000
 1689              TX           B47M          -             MODE OUT            MODE OUT = UNKNOWN.
 1691              TS           STOCALL       INT ADDR      INT OP BAT           UNKNOWN MODE. A ADDRESS, NO PUSHUP

 1693   INT OP SVL WA           ADDRESSM      K 10000 M     ADDRESSM            VLOAD ADDITIVE = OCT24000
 1695              TS           STOVL         INT ADDR      INT OP STL -1       VMODE. A14 ADDRESS WITH PUSHUP

 1697   INT OP SDL TX           STODL         -             INT ADDR            DP MODE. A14 ADDR WITH PUSHUP
 1699              WA           ADDRESSM      B36T37M       ADDRESSM            DLOAD ADDITIVE = OCT 14000

 1701   INT OP STL SWS,B24M     HEALTHM       13            INT ADDR            SET INDEX REQ FLAG FOR 2ND ADDR,IF REQ
 1703              SWS,B31M     HEALTHM       20            INT ADDR            IF INDEXING REQ,PUSHUP NOT ALLOWED
 1705              NA,B24M      ONESM         INT ADDR      C,+2                JUMP IF OPCODE NOT INDEXED
 1707              WA           ADDRESSM      B37M          ADDRESSM            LOAD* ADDITIVE = OCT4000
 1709   INT OP BAT NA           STADR         K 127 M       C,+3
 1710              HA           ADDRESSM      B34T48MM      ADDRESSM            COMPLEMENT STORE WORD FOLLOWING STADR
 1712              SWS,B17M     HEALTHM       9             1,30                LOCATION SYMBOL NOT ALLOWED
 1714              LA           STORE COM     ZEROM         INT OP SOU          JUMP ON VERY BAD ADDRESS
 1716              NA,B17M      1,3           ZEROM         C,+2

# Page 470
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.  40        PAGE 206

 1717              TS           ZEROM         STADR         INT WD POT          ERASE STADR MARKER
 1719   INT OP SOU TS           ZEROM         STADR         INT WD NUT          EXIT IF ERASE ADDR BAD

R1721   MINOR SUBROUTINE IN AGC PASS 2 TO SET UP VARIOUS REGISTERS.

 1722   INT OP SET SWE,ONESMM   L AGP2BAS     0             Z,X2           C    AGC PASS 2 BANK 1 VARIABLE STORE BASE.
 1724              TX           B48M          -             INTERP WD      C
 1725              NA           CHECK UP      ZEROM         C,+5           C
 1726              SWE,ONESMM   L AGP2 BAS    32            Z,X3           C
 1727              TX           N,CSC,1       -             N,X3           C
 1728              TX           L POL OP      -             Z,CSC          C    IGNORE A ADDRESS BANK ERROR
 1730              TX           Z,MXR         -             CHECK UP       C
 1731              TX           L GE BASE     -             Z,X3                GENERAL PASS 2 VARIABLE STORAGE ADDRESS

# Page 471
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.  41        PAGE 207

P1733   ROUTINE TO HANDLE INTERPRETIVE ADDRESS WORDS

 1734   INT AD GO  NA           CARDM +3      BLANKS M      C,+3
 1735              NA           CARDM +4      BLANKS M      C,+2
 1736              TX, B17M     ONESM         -             1,11                CUSS POLISH ADDRESS WITH BLANK ADR FLD.
 1738              LA           INT ADDR      ZEROM         INT ERR 20          ERROR IF NO ASSOCIATED OPCODE.
 1740   INT AD TUM TN           CARDM +3      2             ICOMMON             SEARCH ADDR FIELD FOR ,1 OR ,2
 1742              TS           K 20 M        Z,X6          C,+2                16 CHAR SEARCH
 1744              TS           ICOMMON       ICOMMON +2    INT AD PEK     C    CYCLE RIGHT 16 CHARS
 1746              NA,CHAR8M    ICOMMON +1    BLANKSM       INT AD CAT          JUMP ON RIGHT MOST CHAR NON BLANK
 1748              NA           Z,X6,1        B48M          C,-2                JUMP IF SEARCH NOT DONE
 1750   INT AD NOX LA,B25T27M   INT ADDR      B26MM         C,+2
 1751              NA,B32M      INT ADDR      ONESM         INT AD GOT          JUMP IF NOT SUPPOSED TO BE ANY INDEXING
 1753              NA,B24M      INT ADDR      ONESM         INT AD GOT          JUMP IF OPCODE DID NOT REQUEST ANY
 1755              TS,B33M      ONESM         1,26          INT AD GOT          FLAG RIAH CUSS
 1757   INT AD CAT NA,C7T8M     ICOMMON +1    CMA 2 C7T8    C,+2                JUMP IF ADDRESS NOT ENDED BY ,2
 1759              TS,B7M       ONESM         INT ADDR      C,+2                POINTER TO SHOW X2 USED
 1761              NA,C7T8M     ICOMMON +1    CMA 1 C7T8    INT AD NOX          JUMP IF NON INDEXED ADDR
 1763              LA,B25T27M   INT ADDR      B26MM         C,+3                JUMP IF INDEXING ALLOWED.
 1765              NA,B32M      INT ADDR      ZEROM         C,+2                SAME
 1767              TS,B17M      ONESM         1,2           INT AD FOX          ERROR IF NOT ALLOWED
 1769              NA           STORE COM     ZEROM         C,+3                JUMP ON STORE WORD
 1771              NA,B24M      INT ADDR      ZEROM         C,+2                ERROR IF OPCODE DID NOT REQ INDEXING
 1773              TS,B17M      ONESM         1,26          C,+1                FLAG ONIC CUSS
 1775              TX,B24M      ONESM         -             INT ADDR            SET INDEXED ADDR FLAG
 1777   INT AD FOX TS,C7T8M     BLANKSM       ICOMMON +1    C,+2                BLANK OUT INDEXING CHARS OF ADDR
 1779              TS           ICOMMON       ICOMMON +2    INT AD PEK     C    CONTINUE THE RIGHT CYCLE
 1781              NA           Z,X6,1        ZEROM         C,-1                UNTIL FIELD BACK TO ORIGINAL POSITION
 1783              TN           ICOMMON       2             CARDM +3            STORE FIELD WITHOUT INDEX MARKS
 1785   INT AD GOT WD           K 47777 M     K 10000 M     MIN ADR             MOST NEGATIVE ALLOWABLE VALUE (C TYPE).
 1787              TX,B24M      ONESM         -             STADR               SET BRANCH TO INTERPRETIVE
 1789              SWE,ONESMM   L INT ADDR    16            Z,SC                GO TO MAX AD SET
 1791   INT AD PAT NA,B24M      STADR         ZEROM         C,+2                JUMP IF PROCESSING POLISH, NOT BASIC
 1793              TS           -             -             INT WD DOG     C    SPECIAL TRANSFER FROM BANK 1
 1795              TS,B24M      ZEROM         STADR         INT OP SET     C    CANCEL FLAG. RESTORE NECESSARY REGISTERS
 1797              LA           ONESM         ADDRESSM      INT WD SUM          JUMP ON BAD ADDRESS
 1799              SSL,B46T48M  INT ADDR      18            C,+1                BRANCH BY OP MODE TO CHOOSE NUMBER OF
 1801              TS           ZEROM         ADD REV       INT AD PON          WORDS THAT THIS ADDRESS WILL TAKE
 1803              TS           ZEROM         ADD REV       INT AD PON
 1804              TS           B48M          ADD REV       INT AD PON
 1805              TS           B47M          ADD REV       INT AD PON
 1806              TS           B46B48M       ADD REV       INT AD PON
 1807              TS           ZEROM         ADD REV       INT AD PON
 1808              TS           ZEROM         ADD REV       INT AD PON
 1809              TS           B44B48M       ADD REV       INT AD PON
 1810   INT AD PON NA,B32M      INT ADDR      ZEROM         INT AD SIR          JUMP IF ADDR FOR GENERAL SHIFT INST
 1812              SSL,B46T48M  INT ADDR      21            C,+1                BRANCH BY NON-ZERO ADDRESS TYPE
 1814              TS           -             -             INT ERR 20
 1815              TS           B46M          ICOMMON       INT AD A14          14 BIT ADDRESS,ARC-CCS FASHION
 1817              TS           B47M          ICOMMON       INT AD A14          E ADDRESS, ARC-CCS FASHION
 1819              TS           B48M          ICOMMON       INT AD A14          15 BIT ADDRESS
 1821              TS           -             -             INT AD F            FIXED 15 BIT ADDR
 1823              TS           ZEROM         ICOMMON       INT AD A14          E ADDRESS
 1825              TS           -             -             INT AD SW           SWITCH BIT NUMBER.
 1827              LN           ZERO M        ADDR WDM      C,+2                JUMP IF ADDRESS IS POSITIVE.

# Page 472
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.  42        PAGE 208

 1829              TS, B7M      ONES M        INT ADDR      PLAIN C             FAKE UP AN X2 FLAG FOR NEGATIVE OPERAND.
 1831              LA           K 20000 M     ADDRESS M     INT AD F +1         JUMP IF WOULD BE AN ADDR IN FIXED BANKS.
 1833   PLAIN C    TS           ZERO M        I COMMON      INT AD OAF          OTHERWISE USE NUMBER AS IS.

 1835   INT AD SW  LN           ADDR WDM      B48M          INT ERR 41          ERROR IF ADDR LESS THAN ZERO
 1837              LA           K360M         ADDRESSM      INT ERR 41          ERROR IF ADDR OVER 239.
 1839              TS           -             -             C,+2
 1840              WA           ADDRESSM      K 361 M       ADDRESSM            ADD OCT400. SUBTRACT OCT17
 1842              LA,B41T48M   K 17 M        ADDRESSM      C,-1                JUMP IF SWITCH ADDR NOT FORMULATED
 1844              SWS,B41T44M  INT ADDR      4,L           ADDRESSM            INSERT OPCODE ADDITIVE
 1846              TS           -             -             INT AD A10          FINISH UP ELSEWHERE
 1848   INT AD F   LN           ADDR WDM      MB36T48M      INT ERR 41          F TYPE ADDR CANNOT BE LESS THAN 20000
 1850              LA           B2MAXP1       ADDRESSM      INT ERR 41          NOR GREATER THAN AGC ADDRESS MAX
 1852              TS           ZEROM         ICOMMON       INT AD MAR -1
 1853   INT AD PEK TX,CHAR8M    ICOMMON +1    -             ICOMMON        C    FOUR INSTRUCTIONS TO FINISH CYCLING
 1855              TX,CHAR8M    ICOMMON +2    -             ICOMMON +1     C    RIGHT  16 CHAR 1 CHAR
 1857              SWE,ONESMM   ICOMMON       6             ICOMMON        C
 1858              SWE,ONESMM   ICOMMON +1    6             ICOMMON +1
R1859   NEXT ROUTINE CHECKS TO SEE IF ALL ADDRESSES FOR THE PREVIOUS OPCODE PAIR HAVE BEEN RECEIVED.
R1861   IF BIT 31 OF INT ADDR(X) = 1, AN EXPECTED ADDRESS HAS NOT BEEN PROCESSED.
 1862   INT AD MOD NA           B48M          MODE OUT      C,+2           C
 1863              TS,B1M       ONESM         1,29          C,+2           C
 1864              LA           B47T48MM      MODE OUT      C,-1           C
 1865              TX           B47M          -             MODE OUT       C    MODE OUT = UNKNOWN.
 1867              TS           LOC M         LOC HOLD      C,+4           C    RESET POLISH LOC COUNTER
 1869   INT AD CHK NA           LOC HOLD      LOC M         INT AD MOD     C    JUMP IF POLISH STRING BROKEN
 1871              NA           MODE OUT      ZEROM         C,+2           C    JUMP IF POLISH INST EXPECTED
 1873              TS,B1M       ONESM         1,24          C,-4           C    FLAG INXH CUSS
 1875              NA,B31M      INT ADDR      ZEROM         INT AD SOB     C    JUMP IF ANY OF FOUR ADDRESSES ACTIVE
 1877              NA,B31M      INT ADDR +1   ZEROM         INT AD SOB     C    AND PUSHUP NOT ALLOWED
 1879              NA,B31M      INT ADDR +2   ZEROM         INT AD SOB     C
 1880              NA,B31M      INT ADDR +3   ZEROM         INT AD SOB     C
 1881              TX           ZEROM         -             INT ADDR       C
 1882              TN           INT ADDR      4             INT ADDR +1         ZERO ALL ADDRESS DATA HOLDERS
 1884   INT AD SOB TS,B17M      ONESM         1,24          C,-2           C    POLISH ADDRESS(ES) MISSING ERROR. IMAS
 1886   INT AD SIR NA,B24M      INT ADDR      ONESM         C,+2                JUMP IF ADDRESS NOT INDEXED
 1888              TX,B25T27M   ZEROM         -             INT ADDR
 1889              EX           INT ADDR      B39T41M       ICOMMON             EXTRACT GENERAL SHIFT OPCODE ADDITIVE
 1891              SSL,B45T47M  INT ADDR      20            C,+3           C    BRANCH BY ADDRESS LIMITS TYPE
 1893              BS           ADDR WDM      ICOMMON       ADDRESSM            INSERT ADDITIVE PORTION
 1895              TS, B33T35M  B35T37M       ADDRESS M     INT AD A12          GEN. SHIFTS ADDITIVE = 20000 (NON-VAC).
 1897              LA           K 200 M       ADDRESSM      INT ERR 41          LIMITS =-177 TO +177 OCTAL FOR INDEXED
 1899   K16MPLUS   OCT          +16
 1900              LA           K52M          ADDRESSM      INT ERR 41          LIMITS = -51 TO +51 OCTQL FOR SL AND SR
 1902   K34MPLUS   OCT          +34
 1903              LN           ADDR WDM      K 35 M        INT ERR 40     C    LIMITS = -34 TO +15 OCTAL FOR SLR
 1905              LN           K16MPLUS      ADDR WDM      INT ERR 41
 1906              LN           ADDR WDM      K 16 M        INT ERR 40     C    LIMITS = -15 TO +34 OCTAL FOR SRR
 1908              LA           K 35 M        ADDRESSM      INT ERR 41
 1909              LN           ADDR WDM      K 35 M        INT ERR 40     C    LIMITS = -34 TO +33 FOR VSL
 1911              LN           K34MPLUS      ADDR WDM      INT ERR 41
 1912              LN           ADDR WDM      K 34 M        INT ERR 40     C    LIMITS = -33 TO +34 VSR
 1914              LA           K 35 M        ADDRESSM      INT ERR 41
 1915   INT AD STO TX           STORE COM     -             Z,SC
 1916   INT AD A14 LN           ADDR WDM      B48M          INT ERR 21          BOTTOM LIMIT IS ZERO

# Page 473
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.  43        PAGE 209

 1918              LA           ADDRESSM      K 52 M        INT AD ACE          JUMP IF ADDRESS IN BUFFER
 1920              NA, B42T48M  INT ADDR      SETPD COD     C,+2
 1921              TS,B17M      ONES M        1,3           INT ERR 41 +1       SETPD ADDRESS MUST BE IN VAC AREA.
 1923              LA           ADDRESSM      B43T48M       INT ERR 21          ERROR IF IN 53 TO 77 OCTAL RANGE
 1925              LA           B37M          ADDRESSM      INT AD A6           JUMP IF 4000 OCTAL OR OVER. MAYBE FIXED
 19262             TX           ZERO M        -             ICOMMON +2
 1927              WD, B39T48M  K 1777 M      ADDRESS M     ICOMMON +2          FAKE UP AN ADDITIVE TO TEST FOR ARRAY
 1929              TS, EBANKMSK ICOMMON +2    ADD REV       INT AD OAF          REFERENCE ACROSS E-BANKS.

 1931   INT AD A6  LA           ICOMMON       ZEROM         INT ERR 41          ERROR IF ADDR E TYPE
 1933              LA           ICOMMON       B48M          INT AD F            JUMP IF 15 BIT A TYPE ADDR
 1935              LA           ICOMMON       B47M          INT ERR 41          ERROR IF ADDR ARC-CCS E TYPE
 1937              LA           LOCM          I LOW HALF    C,+4                JUMP IF INT INST LOC IN MEMORY LOW HALF
 1939              LA           ADDRESSM      K53777M       INT ERR 41          ERROR IF ADDRESS OUTSIDE 54000-167777.
 1941              LA           AGMAXP1       ADDRESSM      INT ERR 41
 1942              TS           K 37777       I COMMON +2   INT AD MAR          CHOP TO 14 BITS
 1944              LA           ADDRESSM      K17777M       INT ERR 41          ERROR IF ADDRESS OUTSIDE 20000-47776
 1946              LA           K47777M       ADDRESSM      INT ERR 41
 19468             TX           B34T48MM      -             ICOMMON +2
 1947   INT AD MAR WD           ADDRESSM      K 10000 M     ADDRESSM            CHANGE TO FCADR TYPE FORMAT
 1949              LA           ADDRESSM      M 57777       INT AD OAF -1       BRANCH IF ADDRESS ISN'T IN A SUPER-BANK.
 1951              LA, B33T35M  SBNK REGM     ZEROM         C,+2                BRANCH IF THERE IS NO SUPERBANK SETTING.
 19512             NA, B33T35M  ADDRESSM      SBNK REGM     SBNK CUSM           BRANCH TO CUSS SUPERBANK ERROR.
 1954              TS, B33T35M  I COMMON +2   ADDRESSM      INT AD OAF          REDUCE SUPER-BANKS.
 1956              EX           ADDRESS M     I COMMON +2   ADDRESSM
 1958   INT AD OAF NA,B24M      INT ADDR      ZEROM         INT AD A15          HOPE INDEXING WILL RIGHT A WRONG IF ANY
 1960              EX           ADDRESSM      K 1777 M      ICOMMON +2          CHECKING CROSSING BANK BOUNDARIES NOW
 1962              WA           I COMMON +2   ADD REV       ADD REV
 1963              LA           K 2000 M      ADD REV       INT ERR 25          JUMP IF BOUNDARY CROSSED BY ADDR'S WORDS
 1965   INT AD A15 LA           ICOMMON       B48M          INT AD DUN          JUMP IF NOT USING ARC-CCS FORM
 1967   INT AD A12 WA           ADDRESSM      B48M          ADDRESSM            CHANGE TO ARC-CCS TYPE FORM
 1969   INT AD DUN NA           STORE COM     ZEROM         INT AD STO          RETURN TO STORE ROUTINE
 1971              NA,B7M       INT ADDR      ONESM         C,+2                JUMP IF X2 NOT USED
 1973              HA           ADDRESSM      B34T48MM      ADDRESSM            COMPLEMENT IF X2 USED
 1975   INT AD A10 TN           INT ADDR +1   4             INT ADDR            ADVANCE ADDR DATA WORDS OR ZEROES
 1977   INT WD POT NA           LOC M         LOC HOLD      INT ERR 33          ERROR IF NON POLISH WORD APPEARED
 1979   INT WD RUN LA           ONES M        LOC HOLD      INT ERR 33 -1
 1980              WA           LOC HOLD      B48M          LOC HOLD            INCREMENT POLISH COUNT
 1982   INT WD HAT SWS,CHAR8M   ADDRESSM      12            LINEM +5            PROCEED TO PLACE AGC WORD ON PRINT LINE
 1984   INT WD TOS TS,C1T4M     ZEROM         LINEM +6      INT WD 117     C
 1985              SWS,ACO1     ADDRESSM      33,L          LINEM +6
 1986   INT WD BAD SWS,ACO2     ADDRESSM      30,L          LINEM +6
 1987              SWS,ACO3     ADDRESSM      27,L          LINEM +6
 1988              SWS,ACO4     ADDRESSM      24,L          LINEM +6
 1989              SS           ADDRESSM      B34T48MM      WORDM               15 BIT AGC WORD IN WITH MEMORY MAP CHAR
 1991   INT WD RET TX           LBCCHECK      -             Z,SC                RETURN AT BC CHECK

 19922  SBNK CUSM  TX           ADDRESSM      -             ADDR WDM
 19924             SWE, CAC3M   LAGP2 BAS     16            Z,SC                USE GENERAL SUPERBANK CUSSING ROUTINE.

 1993   INT WD SUM NA           STORE COM     ZEROM         INT AD STO
 1994              TN           INT ADDR +1   4             INT ADDR            ADVANCE ADDRESSES
 1996   INT WD NUT NA           LOC HOLD      LOC M         INT ERR 33          ERROR IF NON POLISH WORD APPEARED
 1998   INT WD BOT LA           ONES M        LOC HOLD      INT ERR 33 -1       BRANCH IF LOC CTR HAS BAD VALUE.
 2000              WA           LOC HOLD      B48M          LOC HOLD            INCREMENT POLISH LOCATION COUNTER

# Page 474
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.  44        PAGE 210

 2002              TX,C1T4M     BLOTM         -             LINEM +6            BLOT 5 CHARACTERS
 2004              TS,CHAR8M    BLOTM         LINEM +5      INT WD 117     C
 2005              SWE,ONESMM   L BCCHECK     16            Z,SC                RETURN AT NAUGHTY
 2007   INT AD ACE NA,B24M      INT ADDR      ZEROM         INT AD A15          HOPE INDEXING WILL RIGHT WRONG IF ANY
 2009              WA           ADDRESSM      ADD REV       ADD REV
 2010              LA           ADD REV       K 52 M        INT AD A15          JUMP IF BUFFER BOUNDARY NOT EXCEEDED
 2012   INT ERR 25 TS,B1M       ONESM         1,27          INT AD A15          FLAG CBBB FLAG
 2014   INT ERR 4  TX           Z,R1          -             ICOMMON +4
 2015              LA, CAC3M    ICOMMON +4    L INT OPPP    C,+2
 2016              TS,B33M      ONESM         1,25          INT OP MUT          FLAG RIGHT OP MODE OUT/IN MISMATCH. MIMO
 2018              TS,B17M      ONESM         1,25          INT OP MUT          FLAG LEFT OP MODE OUT/IN MISMATCH. ROP2
 2020   INT ERR 8  TX           Z,R1          -             ICOMMON +4
 2021              LA, CAC3M    ICOMMON +4    L INT OPPP    C,+2
 2022              TS,B33M      ONESM         1,22          INT OP APE          RIGHT OPCODE ILLEGALLY INDEXED. IXP2
 2024              TS,B17M      ONESM         1,22          INT OP APE          LEFT OPCODE ILLEGALLY INDEXED. IXP2
 2026   INT ERR 20 TS,B1M       ONESM         1,26          INT WD SUM          NO OPCODE FOR THIS ADDRESS. ANAO
 2028   INT ERR 21 TX           Z,SH          -             Z,R1
 2029              NA,B24M      INT ADDR      ONESM         INT ERR 41          JUMP IF NOT INDEXED
 2031              LN           ZEROM         ADDR WDM      N,R1                JUMP IF ADDRESS POSITIVE
 2033              TS,B33M      ONESM         1,27          C,+2                CANNOT HANDLE NEG ADDR WITH INDEXING.
 2035   INT ERR 41 TS,B17M      ONESM         1,3           C,+1                BAD RANGE FOR ADDR. ASIZ
 2037              LA           AG MAXP1      ADDRESS M     INT WD SUM          BRANCH IF ADDRESS IS UNPRINTABLE.
 2039              SWE,ONESMM   L PRB ADR     0             Z,CSC          C    GO TELL MAN WHAT ADDR VALUE IS
 2041              LN           ZEROM         ADDR WDM      INT WD SUM
 2042              TS           W NEGATIV     4,1           INT WD SUM          IF NEGATIVE ADDR, JUST SAY SO INSTEAD
 2044              TX           Z,SH,1        -             -
 2045   INT ERR 33 TX           LOC M         -             LOC HOLD            RESET INT LOCATION COUNTER
 2047              TX,B17M      ONESM         -             1,27                FLAG IAOS CUSS
 2049              TX           Z,SH          -             Z,SC
 2050   INT ERR 40 TS           -             -             INT ERR 41
 2051   INT WD 117 NA,CHAR1M    CARDM         BLANKSM       C,+3           C    COLUMN 1 MUST BE BLANK
 2053              NA,CHAR1M    CARDM +2      BLANKSM       C,+2           C
 2054              TX           -             -             -                   COLUMN 17 MUST BE BLANK
 2056              TX,B33M      ONESM         -             1,28

# Page 475
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.  45        PAGE 211

P2057   PROCEDURE TO  LET BASIC CHECK UP ON POLISH EXPECTATIONS

 2058   INT WD DOG TX           L GE BASE     -             Z,X3           C    GENERAL PASS 2 VARIABLE STORAGE ADDR
 2060              TX           Z,MXR         -             PASS2 MXR      C    SWITCH MXRS
 2062              TX           CHECK UP      -             Z,MXR          C
 2063              LA           ONES M        LOC M         INT WD MUS     C    BRANCH IF LOCATION IS BAD.
 2065              NA           INTERP WD     ZEROM         INT WD NOT     C    JUMP IF LAST WORD WAS POLISH
 2067              NA,B25T27M   ONESM         INT ADDR      INT WD NAT     C    JUMP IF C TYPE ADDRESS NOT EXPECTED
 2069   INT WD SHO TN           INT ADDR +1   4             INT ADDR       C
 2070              NA           LOC HOLD      LOC M         INT WD FOS     C    JUMP IF POLISH SEQUENCE BROKEN
 2072   INT WD SOT LA           ONES M        LOC HOLD      C,+2           C
 2073              WA           LOC HOLD      B48 M         LOC HOLD       C    INCREMENT POLISH LOCATION COUNTER
 2075   INT WD NOT SWE,ONESMM   L AGP2 BAS    32            Z,X4           C    ADDR OF *SENDWORD*
 2077              TX           PASS2 MXR     -             Z,MXR          C    RESTORE MASKS
 2079              TS           ZEROM         INTERP WD     4,1            C    ZERO POLISH WORD FLAG AND EXIT
 2081   INT WD NAT LA           INT ADDR      ZEROM         INT WD ZAP     C    JUMP IF NO POLISH ADDR EXPECTED
 2083              NA,B31M      INT ADDR      ZEROM         INT WD TOM     C    JUMP IF PUSHUP NOT ALLOWED
 2085              NA           B48M          MODE OUT      C,+2           C
 2086   INT WD TOM TS,B33M      ONESM         1,29          INT WD SHO     C    CALL POLISH ADDR EXPECTED ERROR
 2088              LA           B47T48MM      MODE OUT      C,-1           C    JUMP IF POLISH WORD REQUIRED HERE
 2090              NA,B34M      WORD M        ZERO M        INT WD SHO     C    JUMP IF WORD IS NEGATIVE
 2092              TS,B17M      ONESM         1,29          INT WD SHO     C    ERROR. PUSHUP REQUIRES NEG WORD HERE
 2094   INT WD ZAP NA           B48M          MODE OUT      C,+2           C
 2095   INT WD FOS TS,B1M       ONESM         1,29          C,+2           C    ERROR. PREVIOUS EQUATION UNFINISHED
 2097              LA           B47T48MM      MODE OUT      C,-1           C    JUMP IF POLISH WORD EXPECTED HERE.
 2099              TS           B47M          MODE OUT      INT WD SOT     C    SET INTERPRETER TO UNKNOWN OUT MODE
 2101   INT WD MUS LA           ONES M        LOC HOLD      C,+2           C
 2102              WA           LOC HOLD      B48M          LOC HOLD       C    CAN'T TELL ANYTHING IF LOCATION IS BAD.
 2104              TX           PASS2 MXR     -             Z,MXR          C    RESTORE MXR. ZERO POLISH WORD FLAG.
 2106              TS           ZEROM         INTERP WD     N,SC,1         C    EXIT USING SENDWORD BRACH
 2108   INT PATCH  RESERVE      9
 2109              OCT          0

# Page 476
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.  46        PAGE 212

P2200   PROCEDURE TO EVALUATE BNKSUM CONSTANTS.  THE ADDRESS FIELD SHOULD GIVE A BANK NUMBER OR AN ADDRESS WITHIN A
R2202   FIXED BANK.  NORMALLY, THIS PROCEDURE PLACES TWO ADRES-SELF WORDS INTO THE NAMED OR IMPLIED BANK, STARTING AT
R2204   THE FIRST UNUSED WORD IN THE BANK (THE BANK SHOULD BE EMPTY FROM THAT POINT ONWARD).  HOWEVER, IF THE FIRST HOLE
R2206   OCCURS LATER THAN RELATIVE 3775, THE NUMBER OF ADRES-SELF WORDS IS REDUCED TO ONE OR ZERO.  IF THE BANK IS FULL,
R2207   AN ADRES-SELF WORD GOES INTO 3775 WITH A CONFLICT CUSS.  IF THE BANK IS EMPTY, IT WILL RECEIVE ADRES-SELF WORDS
R2208   ONLY IF SOME HIGHER BANK IS OCCUPIED.

 2209   BNKSUM     TS           L USD FMAX    Z,S3          INT OP SET     C    INITIALIZE VARIOUS REGISTERS.
 2211              LA           OCT 70 M      ADDRESS M     BNKSUM AD           BRANCH IF ADDRESS IS NOT A BANK NUMBER.
 2213              LA           B46M          ADDRESS M     C,+2
 2214              LA           B47M          ADDRESS M     C,+2
 2215              WA           ADDRESS M     B46M          ADDRESS M           ADD 4 TO ANY BANK NUMBER BUT 2 OR 3.
 2217              SWE, ONESMM  ADDRESS M     10,L          ADDRESS M           FORM ADDRESS 2000 WITHIN NAMED BANK.

 2219   BNK SUM AD LA           B37M          ADDRESS M     C,+2                ADDRESS MUST BE IN FIXED.
 2221              TX           L PR BADR     -             Z,SC
 2222              TX,B39T48M   ZERO M        -             ADDRESS M
 2223              SWE, CAC3M   L HOW HI F    16            Z,CSC          C    POINT TO BEGINNING OF BANK, FIND MAX BK.
 2225              LA           ONES M        N,S3          C,+2                BRANCH IF NO FIXED WAS OCCUPIED (ODD).
 2227              LA           ADDRESS M     N,S3          DO BNK SUM          BRANCH UNLESS BANKSUM IS UNNECESSARY.
 2229              SWE, CAC3M   L EBK2 XIT    32            Z,S3
 2230              TS           W NO NEED     LINE +6       N,S3                PLANT GOOD NEWS AND JOIN EBANK= PROC.

 2232   DO BNK SUM SWE, ONESMM  ADDRESS M     5             I COMMON
 22322             TN           W WDS LEFT    2             LINE +2
 2233              WA           M AV TABLE    I COMMON      Z,AU1               POINT TO FIRST AVAIL WORD FOR HIGH BANK.
 2235              TS           Z,AU1,31      Z,X6          C,+3                ALSO POINT TO LAST POSSIBLE AVAIL WORD.
 2237              WA           ADDRESS M     OCT 40 M      ADDRESS M
 2238              LA           Z,AU1         Z,X6          FOUND HOL +2        BRANCH IF ABOUT TO DO LAST POSS. AV WD.
 2240              LA           N,X6,1        CAC3          C,-2                FIND AN AVAIL WORD WITH A HOLE.
 2242   FOUND HOL  WD           Z,X6          ONE           Z,X6
 2243              TS           BIT 1         AV MSK        FIND AVWD           GOT ONE. NOW GO FIND THE HOLE.

 2245              LA           B30M          N,X6          FOUND HOL +1        IF HOLE IS BEFORE 3776 OF BANK, 2 TC'S.
 22454             TX           ONES          -             2ND HALFM
 22456             SWE, CAC3M   I PROC WD     32            MOD RTRN M          SHOW THAT BANKSUM WILL BE AT MOST 1P.
 22458             NA, B31M     6,0           ZEROM         FOUND HOL +1        BRANCH IF IT IS INDEED ONE WORD.

 2246              NA, B32M     6,0           ONES          C,+2
 22462             TS, B32M     ZERO M        6,0           DO BNK SUM -2       NO NEED FOR TC SELFS IF ONE-WORD HOLE.

 2247              SM           HEALTH M      BIT 16        HEALTH M
 2249              TS, B32M     ONES          6,0           FOUND HOL +1        CUSS CONFLICT AND FORCE HOLE AT END.

# Page 477
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.  47        PAGE 213

P2250   FIND FIRST HOLE IN BANK FOR BNKSUM, OR FORCE ONE AT 3777.

 2251              MASKGRP      S,0           F,0

 2252   FIND AV WD TS           I GENL MXR    Z,MXR         C,+3
 2253              WA           ADDRESS M     ONE           ADDRESS M           KEEP ADDRESS GUESS UP TO DATE.
 2255              SWE, ONES    AV MSK        1             AV MSK
 2256              NA, AV MSK   6,0           ONES          C,-2                SEEK A ONE-WORD HOLE IN BANK.

 2258              TS, AV MSK   ZERO M        6,0           FIND AV WD +2  C    GET SET TO LOOK AT WORD FOR 2ND TC SELF.
 2260              LA           CAC3          AV MSK        C,+2
 2261              SWE, BIT 1   Z,X6,1        32,L          AV MSK              ADVANCE TO NEXT AVAIL WD IF NECESSARY.
 22622             NA           2ND HALFM     ONES          C,+2                BRANCH IF THERE ARE 2 TC SELFS.
 22624             LA           BIT 1         AV MSK        SUM CONFQ +3        BRANCH IF JUST CUSSED FULL BANK.
 2263              NA, AV MSK   6,0           ZERO M        C,+2
 2264              TX, BIT16    ONES          -             HEALTH M            CUSS CONFLICT OF 2ND TC SELF OR CHKSUM.
 22642             TS, AV MSK   ZERO M        6,0           FIND AV WD +2  C    GET SET TO LOOK AT THE CHECKSUM WORD.
 22643             LA           ONES          2ND HALF M    SUM CONFQ +3        BRANCH IF THERE IS ONE TC SELF WORD.
 22646             LA           CAC3          AV MSK        SUM CONF Q

 2265              SWE, BIT 1   Z,X6,1        32,L          AV MSK              2ND TC SELF WAS AT END OF AVAIL WORD...
 22653             SWS, B26T30  Z,X6          15,L          C,+1                ...WAS IT ALSO AT END OF PARAGRAPH?
 22656             SWE, ONES    BIT 1         0             I COMMON
 2266              SWE, D12     Z,X6          8             Z,AU1
 22663             WA           I SUSTAB      Z,AU1         Z,AU1
 22666             SM           N,AU1         I COMMON      N,AU1               MAY CREATE A PARAGRAPH JUST FOR CHKSUM.

 2267   SUM CONFQ  NA, AV MSK   6,0           ZERO M        C,+2
 22673             TS, BIT16    ONES          HEALTH M      C,+2                CUSS CONFLICT IN CHECKSUM WORD ITSELF.
 22676             TX, AV MSK   ZERO M        -             6,0                 RESERVE CHECKSUM WORD.
 2268              SWE, CAC3    I TYP TAB     16            Z,X6
 2269              LA, CAC3     ADDRESS M     6,0           C,+2                BRANCH WHEN MEMORY TYPE IS FOUND.
 2271              TS           Z,X6,1        -             C,-1
 2272              SWE, ONES    B28T30        3,L           AV MSK
 2273              NA, AV MSK   6,0           B26MM         BKSUM LOC -2        BRANCH IF 1ST ADDRESS IS NOT IN FIXED.
 22742             LA           ONES          2ND HALF M    BKSUM LOC -1        BRANCH IF THERE IS ONE TC SELF.
 2275              NA, CAC3     ADDRESS M     6,0           C,+2                BRANCH IF SECOND WORD IS IN FIXED TOO.
 2277              SM           HEALTH M      BIT 15        HEALTH M            SET WRONG-MEMORY-TYPE FLAG.
 2279              SS           ADDRESS M     CAC3          HEALTH M            IMITATE THE ACTION OF PASS 1 FOR A CON.
 2281   BKSUM LOC  SS           ZERO M        BIT 8         HEALTH M            CLEAR SYMBOLIC-LOCATION FLAG.
 2283              SWE, ONES    B47T48MM      3             WORD M
 2284              SWE, CAC3    L INSTRNT     16            Z,X6
 2285              TS           Z,SC          Z,X4          6,2                 NOW DO LOCATION VALUE PROCESSING.
 2287              TX           ADDRESS M     -             ADDR WDM            DISTRIBUTE ADDRESS.
 2289   I AGCMXR C SWE, CAC3    I AGC MXR     32            Z,MXR          S

# Page 478
#      @YUL SYSTEM ASSEMBLER  AGC PASS 2                                         USER'S OWN PAGE NO.  48        PAGE 214

P22895  FINISH UP BNKSUM LOCATION(S), DISPLAY COUNT OF REMAINING WORDS IN BANK.

 2290              MASKGRP      S,1           F,1

 2291              NA           LOC M         ONES          C,+2
 2292              SWE, CAC3M   I BAD BASC    32            Z,SC                EXIT NOW IF LOCATION IS BAD.
 2294              LA           ADDRESS M     OCT 7777      FF BNKSUM           BRANCH IF IN FIXED FIXED.
 2296              TX, BANKMASK OCT 2000      -             ADDR WD M           CONVERT BANK NOTATION.
 22972             TS           OCT 3777      I COMMON      FF BNKSUM +1

 22974             WA           OCT 3777      B 38 M        I COMMON       S
 22976             WA           OCT 3777      B 37 M        I COMMON       S    MODIFY SUBTRACTION FOR FIXED-FIXED.
 22978  FF BNKSUM  SSL, ONEM    ADDR WD M     10            C,-2           C

 2302              WD           I COMMON      ADDR WD M     I COMMON            NUMBER OF WORDS LEFT IN BANK, IN BINARY.
 2303              SWS, CHAR5M  I COMMON      A,2,L         C,+1
 2304              DT           MID CAC 64                  I COMMON +1
 2305              SWS, CHAR5M  I COMMON      A,3,L         C,+1
 2306              DT           B32MM                       I COMMON
 2307              SWE, CAC3M   L P2 D2AZS    32            Z,X4
 2308              DA           I COMMON      I COMMON +1   4,5                 NUMBER OF WDS LEFT IN BANK, IN DECIMAL.
 2310              TS           I GENL MXR    Z,MXR         N,X4           C    CONVERT TO ALPHABETIC, SUPPRESS ZEROS.
 2312              TS           -             -             I AGCMXR C     C    DONE THUS TO SAVE MASKGRP CARDS--LAZY.
 2313              SWS, C1T4M   4,5           A,4,L         LINE +2             SET REMAINING-WORD COUNT IN PRINT.
 23142             NA           2ND HALF M    ONES          C,+2
 23144             SWE, CAC3M   L AD ADRWD    16            Z,SC                EXIT HERE WHEN THERE IS ONE TC SELF.

 22146             WA           ADDR WDM      ONE           2ND HALF M          FORM SECOND TC SELF WORD.
 2215              SM           ADDR WDM      BIT 1         ADDR WDM
 2216              SWE, CAC3M   L PRIN 2PA    32            Z,SC                MAKE ADR WD POSITIVE AND GO PRINT WORDS.
back to top