Raw File
YUL_SYSTEM_ASSEMBLER_BLK2_PASS_2.argus
# Copyright:    Public domain.
# Filename:     YUL_SYSTEM_ASSEMBLER_BLK2_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:        385-430
# Mod history:  2016-10-06 JL   Created.
#               2016-12-24 JL   Transcribed pages 385-400.
#               2016-12-25 JL   Transcribed pages 401-414.
#               2016-12-26 JL   Transcribed pages 415-421.
#               2016-12-27 JL   Transcribed pages 422-430.

# 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 BLK2 PASS 2

# Page 385
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.   1        PAGE 121

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



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

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

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

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

R0021              THE PROCESSING CODING IN THE BANK 1 PORTION OF BLK2 PASS 2 HAS THE FOLLOWING FUNCTIONS:

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

R0025           2) FOR INSTRUCTIONS, TO TRANSLATE THE ADDRESS FIELD AND REDUCE IT IF ITS VALUE IS IN ONE OF THE BANKS
R0027   00-67 OR ONE OF THE E-BANKS E3-E7, NOTING BANK ERROR IF APPROPRIATE.  SUPPLY IMPLIED ADDRESS IF REQUIRED.  CUSS
R0029   POLISH INDEXING IF IT IS SPECIFIED.
R0030              FOR BASIC INSTRUCTIONS, CHECK THAT LIMITED-ACCESS CODES REFER ONLY TO THEIR SPECIFIED MEMORIES, EX-
R0032   CEPT THAT CODES REFERRING ONLY TO FIXED MEMORY MAY HAVE ADDRESSES IN THE RANGE 0-1777 IF PRECEDED BY "INDEX",
R00332  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 386
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.   2        PAGE 122

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



 00432             SETLOC,2     SIZ PASS 2    B1



 00434             MASKGRP,4    S,1           F,1



 0044   B2 PROC OP CAC          BLK2 INST     BLK2 1P       BLK2 PREL
 0045   B2 D1 PARS FLDEC        16383.0, 16384.0
 0046              FXBIN        -16383

 0047   B2 K1 MAX  OCT          -77777
 0048   B2 D2 PARS FLDEC        268 435 455.0, 268 435 456.0
 0049              FXBIN        -268 435 455

 0050   B2 PROC 2P CAC          BLK2 2P       BLK2 PLEB     ADRES ADR
 0051   B2 K2 MAX  OCT          -77 7777 7777
 0052   B2 MAX LOC OCT          -167777

 0053   B2 CON MSX OCT          -77, 7777 7777
 0054   B2 PRET FL OCT          0000 0010
 0055   B2 FLG MSK OCT          7400 0077

 0056   B2 CONS FL OCT          0000 0020
 0057   BLK2 MXR   MASKBASE     S,1           F,1
 0058   B2 MISC FL OCT          0000 0030

# Page 387
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.   3        PAGE 123

P0059              FIELD AND SHIFT MASKS FOR BLK2 PART OF PASS 2.



 0060              SETLOC,4     768           B5



 0061   B,BIT1M    OCT          4
 00619  B,BIT6M    OCT          01
 0062   B,BIT7M    OCT          004
 0063   B,BIT17M   DEC          00008
 0064   B,BIT24M   OCT          0000 0001

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

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

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

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

 0085   B,CAC3M    OCT          -177777
 0086   B,CHAR8M   OCT          -77
 0087   B,C1T4M    OCT          7777 7777
 0088   B,EBANKMSK OCT          -3400

 00881  B,B42T48M  OCT          -177
 00882  B,C7T8M    OCT          -7777
 00883  B,B34M     OCT          -40000
 00884  B,B25T48M  DEC          -GGGGGG

# Page 388
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.   4        PAGE 124

P0089              FURTHER SHIFT MASKS FOR BLK2 PART OF PASS 2.

 0090   S,BIT2M    OCT          2
 00901  S,BIT28M   OCT          -400 0000
 00902  S,ONEM     OCT          -1
 0091   S,TWOM     OCT          -2

 00911  S,FOURM    OCT          -4
 0092   S,B2T5M    OCT          36
 0093   S,B6T16M   OCT          0177 74

 0094   S,B18T21M  OCT          0000 017
 0095   S,B22T32M  OCT          -7 7760 0000
 0096   S,B34T37M  OCT          -7 4000
 0097   S,B35T48M  OCT          -3 7777

 0098   S,B37T38M  OCT          -6000
 0099   S,B38T48M  OCT          -3777
 0100   S,ACO1     OCT          07
 0101   S,ACO2     OCT          0007

 0102   S,ACO3     OCT          0000 07
 0103   S,ACO4     OCT          0000 0007
 0104   S,ACO7     OCT          -700
 0105   S,THREEM   OCT          -3

 0106   S,CHAR2M   OCT          0077
 0107   S,CHAR3M   OCT          0000 77
 0108   S,CHAR6M   OCT          -77 0000
 0109   S,CHAR7M   OCT          -7700

 0110   S,C3T6M    OCT          0000 7777 7777
 01101  S,ONESMM   DEC          GGGG GGGG GGGG
 01102  S,B35T41M  OCT          -37600
 01103  S,B41T44M  OCT          -360

 01106  S,B45T47M  OCT          -16
 01107  S,CHAR5M   OCT          -7700 0000
 01108  S,B38 ACO8 OCT          -2007

# Page 389
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.   5        PAGE 125

P0111              CONSTANTS, ETC. FOR THE BLK2 PART OF PASS 2.

 0112              SETLOC,2

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

 0114   BIT 30     OCT          -100 0000
 0115   B28T29     OCT          -600 0000
 0116   C2 B28T34  OCT          0077 0000 0774
 0117   C2 C7T8    OCT          0077 0000 0000 7777

 01173  C3T6       OCT          0000 7777 7777
 0118   FIVE       OCT          -5
 0119   SIX        OCT          -6
 0120   SEVEN      OCT          -7
 01206  OCT 40     OCT          -40
 0121   OCT 70     OCT          -70

 0122   OCT 777    OCT          -777
 0123   OCT 1377   OCT          -1377
 0124   OCT 1400   OCT          -1400
 0125   OCT 4000   OCT          -4000

 0127   MIN 37777  OCT          -37777
 0128   PL PMAX    OCT          +777
 0129   PL EMAX    OCT          +3777

 01292  PL 11777   OCT          +11777
 0130   PL FMAX    OCT          +167777
 0131   PL FMAXP1  OCT          +170000
 0132   DEC 48 FLG DEC          48
 0133   BANK E2    OCT          -1000

 0134   OP CODE 3  OCT          -3 0000
 0136   DAS CODE   OCT          -20 000
 0137   DXCH CODE  OCT          -52 000

 01375  ADR CON 3  OCT          -3000000
 0138   ADR CON 4  OCT          -400 0000
 0139   EBANK REG  OCT          -4000 3417
 01391  OCT 17777  OCT          -17777
 01392  OCT 57777  OCT          -57777

 01393  B25T27     OCT          -7000 0000
 01394  HUNDRETH   DEC          G0 28G5D 28G5E
 01395  OCT 67777   OCT         -67777

 01396  MM PARAMS  FLDEC        99.0, 16384.0
 013961            FXBIN        -99
 01397  VN PARAMS  FLDEC        9999.0, 16384.0
 013971            FXBIN        -9999

# Page 390
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.   6        PAGE 126

P01398  ADDRESS CONSTANTS.

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

 013991 L BNKSUM   CAC                        BNKSUM        BKSUM LOC



P0140   ALPHABETIC CONSTANTS.

 0141   ALF E1400  ALF           E  1400
 0143   COMMA C2   ALF          0,0000
 0144   COMMA C8   ALF               00,

 01448  END BL MC  ALF            EB  MC
 01449  BLOT C6    ALF               ▪
 0145   E COMMA    ALF               E0,
 0146   E CHAR 4   ALF             E
 0147   HI EQUALS  ALF          =00,0000



R0148   RESERVATIONS, EQUIVALENCES, AND ASSIGNMENT.



 01489  USED FMAX  DEC          GGGG GGGG GGGG
 0149   MAX ADRES  RESERVE      1
 0150   M COMMON   RESERVE      1
 0151   SAV ADREF  RESERVE      2

 0152   B19T24M    EQUALS       CHAR4M
 0153   SBANK REG  EQUALS       EBANK REG
 0154   L BSUM LOC EQUALS       L BNKSUM
 0155   ACO5       EQUALS       B28T30M
 0156   ACO6       EQUALS       B34T36M
 01561  B46T48M    EQUALS       ACO 8
 0157   BANKMASK   EQUALS       B33T38M
 0158   SPECMAG M  EQUALS       B34T48M

 0162   ADRE CUSS  ASSIGN       4,0

# Page 391
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.   7        PAGE 127

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

 0173   BLK2 INST  TX           BLK2 MXR      -             Z,MXR               USE MASKBASE FOR THIS MACHINE.
 0175              NA, BIT32M   HEALTH        ONES          C,+3
 01752             SWE,ONESMM   L POL OP      32            Z,SC
 0176   GO POL ADR SWE,ONESMM   L POL OP      16            Z,SC
 0177              SWE, B34T36M HEALTH        12            WORD                INSERT BASIC OP CODE INTO WORD.
 0179              SWS, BIT1M   HEALTH        10,L          CUSS LIST +30       MAYBE CUSS ILLEGAL OP CODE ASTERISK.
 0181              NA, BIT 31M  HEALTH        ONES          NO IMPLAD           BRANCH IF NO IMPLIED ADDRESS.

R0183   DETERMINE ADDRESSES IMPLIED BY SPECIAL OP CODES.

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

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

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

 0225   SIGND ADR  BS           ZERO          ADDRESS       ADR WD
 0226              SWE, BIT17M  HEALTH        8,L           M COMMON            ISOLATE EXTRACODE BIT OF IMPLAD CODE.
 02272             TS           ADR WD        ADR WD +1     SET MIN AD     C    PLANT EXTRACODE FLAG FOR SIMULATOR.
 02274             SWS, B29T30M HEALTH        2             HEALTH         C    BIT 29 PLACES OP-ADDRESS PRINT SPLIT.
 0228              NA, BIT17M   M COMMON      SWITCH        EXTEND +1           BRANCH IF EXTENDED BASIC OR UNEX. EXTRA.
 0230              NA, BIT26M   HEALTH        ZERO          C,+2                BRANCH IF THIS IS THE "EXTEND" CODE.
 0232              TS, BIT17M   ZERO          SWITCH        BASIC ADR           CLEAR EXTENSION SWITCH.
 0234   EXTEND     TS, BIT17M   ONES          SWITCH        ADD ADR WD          SET EXTENSION SWITCH.
 0236              NA           M COMMON      BIT 17        C,+2
 0237              TS, BIT1M    ONES          CUSS LIST +12 EXTEND -1           ERROR WAS UNEXTENDED EXTRACODE.
 0239              TS, BIT17M   ONES          CUSS LIST +12 EXTEND -1           ERROR WAS AN EXTENDED BASIC CODE.

# Page 392
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.   8        PAGE 128

P0241   PROCESS EXPLICIT ADDRESSES FOR INSTRUCTIONS OR CONSTANTS.

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

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

 0258   DP ADR CON WA           L FINI 2P     ONE           MOD RETRN           MAKE RETURN GO TO D.P. CONSTANT PROC.
 0260              TX           W BAD WORD    -             2ND HALF
 0261              TN           BLOTS         2             2ND ALF             PREPARE FOR THE WORST.
 0263   BBCONQ1    LA, B29T30M  HEALTH        BIT 29        ADR CON F           BRANCH IF 2FCADR OR BNKSUM (NO ER PROB).
 0266              TS           Z,SC          Z,X6          EBK LOC Q +2        KEEP ASSEMBLER'S EBANK REG. UP TO DATE.
 0268              TS, BIT17M   ZERO          CUSS LIST +23 SET EBCON -1        MAY ERASE EBANK OR SBANK CONFLICT CUSS.

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

 0280   UNEXTEND   TS, BIT17M   ZERO          SWITCH        SET MIN AD          CLEAR EXTENSION SWITCH.
 0282              NA           M COMMON      BIT 17        C,+2                BRANCH IF EXTENDED BASIC CODE ERROR.
 0284   UNEXTD XC  TS, BIT1M    ONES          CUSS LIST +12 SET MIN AD          CUSS AT UNEXTENDED EXTRACODE.
 0286              NA, BIT27M   HEALTH        ONES          BAD XTEND           BRANCH IF NOT AN INDEX ORDER.
 0287              TX, B29T30M  ZERO          -             HEALTH              EXTENDED INDEX EXTENDS, CAN REFER 2 ANY.
 02874             TS           BIT 17        M COMMON      SET MIN AD
 0288   BAD XTEND  TS, BIT17M   ONES          CUSS LIST +12 UNEXTEND            CUSS ANY EXTENDED BASIC CODE BUT INDEX.

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

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

# Page 393
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.   9        PAGE 129

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

 0309              NA, B33T38M  WORD          DXCH CODE     MAX AD SET          BRANCH IF BASIC CODE AND NOT D.P.
 0311   DP CHECK   NA, B33T38M  WORD          DAS CODE      C,-1           C
 0312              TS, BIT6M    ONES          SWITCH        MAX AD SET          PLANT BIT, RETURN TO SEQUENCE MODE.
 0314   XCODE DP Q NA, B34T36M  WORD          OP CODE 3     C,+2           C    IF NOT DCA, CHECK FOR DCS.
 0316              TS, BIT6M    ONES          SWITCH        MAX AD SET          PLANT BIT, RETURN TO SEQUENCE MODE.
 0318              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.
 0322              TS, BIT6M    ONES          SWITCH        MAX AD SET          SOME EQUALITIES FALL THRU INTO HERE.

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

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

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

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

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

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

R0382   SELECT PROCEDURE FOR TYPE 0 ADDRESS CONSTANTS.

 03828  ADR CON 2  SWS, B34T37M HEALTH        16            WORD                MAY PUT PREFIX ON ECADR FOR DOWNLIST.
 0383              SSL, ACO8    HEALTH        18            C,+1                SELECT PROCEDURE FOR 1 OF 8 ADR CONSTS.
 0385   ADRES      TS           B2 PROC 2P    Z,SC          BASIC ADR      C    ADRES IS JUST LIKE TC (EXCEPT FOR FLAG).
 0387              TS           -             -             REMADR              LIKE ADRES, BUT MUST BE DIFFERENT BANK.
 0389              TS           -             -             (F)CADR             COMPLETE ADDRESS FOR FIXED MEMORY.
 0391              TS           -             -             GENADR              LIKE ADRES, BUT NO BANK-ERROR CHECKS.
 0393   ECADR      TS           -             -             ADD ADR WD          COMPLETE ADDRESS FOR ERASABLE MEMORY.
 0395              TS           -             -             BBCON               BOTH-BANK CONSTANT, 5 BITS AND 3 BITS.
 0397              TS           ADDRESS       2ND HALF      2FCADR              FCADR (FOR FB) FOLLOWED BY GENADR.
 0399              TS           ADDRESS       2ND HALF      2(B)CADR            GENADR FOLLOWED BY BBCON (FOR BB).

# Page 394
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.  10        PAGE 130

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

 0402   REMADR     LA           ADDRESS       OCT 3777      E REM CHECK         BRANCH IF ADDRESS IS IN ERASABLE.
 0404              LA           ADDRESS       OCT 7777      ADD ADR WD          EXIT IF ADDRESS IS IN FIXED-FIXED.
 0406              LA           LOCATION      OCT 7777      F SUBADR            BRANCH HAPPILY IF LOC. NOT IN AN FBANK.
 0408              NA, BANKMASK LOCATION      ADDRESS       F SUBADR            OK IF LOC. AND ADR. IN DIFFERENT BANKS.
 0410              TS           -             -             CUS F BANK
 0411   E REM CHEK LA           ADDRESS       OCT 1377      ADD ADR WD          EXIT IF ADDRESS IS NOT IN AN EBANK.
 0413              LA, EBANKMSK EBANK REG     BANK E2       E SUBADR            OK IF WE HAVE A PSEUDO EBANK.
 0415              NA, EBANKMSK ADDRESS       EBANK REG     E SUBADR            OK IF LOC AND ADR IN DIFFERENT EBANKS.
 0417              TS           -             -             CUS E BANK

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

 0425   GENADR     LA           ADDRESS       OCT 3777      C,+3                BRANCH IF ADDRESS IS IN ERASABLE MEMORY.
 0427              LA           ADDRESS       OCT 7777      ADD ADR WD          ALL DONE IF IN FIXED-FIXED.
 0429              TS, BANKMASK OCT 2000      ADR WD        ADD ADR WD          PUT SUBADDRESS IN THE RANGE 2000-3777.
 0431              LA           ADDRESS       OCT 1377      ADD ADR WD          ALL DONE IF ADDRESS IN UNSWITCHED ERAS.
 0433              TS, EBANKMSK OCT 1400      ADR WD        ADD ADR WD          PUT SUBADDRESS IN THE RANGE 1400-1777.

 04332             LA, CHAR8M   EBANK REG     SEVEN         SET SBCON -1        BYPASS UPDATE IF 1-SHOT DECLARATION.
 04334  SET EBCON  SWS, ACO8    EBANK REG     8             EBANK REG      S    POSITION CURRENT SETTING FOR BBCON FMT.
 04336             NA, B25T27M  SBANK REG     BIT 25        C,+2                BYPASS UPDATE IF 1-SHOT DECLARATION.
 04338  SET SBCON  SWS, B28T30M SBANK REG     5,L           SBANK REG      S    COPY PERMANENT INTO TEMPORARY SUPERBITS.
 0434              SSL, ONEM    CUSS LIST +30 47            BBC STAR Q          SELECT ON * IN OP CODE (BBCON OR 2CADR).
 043405            TS, BIT1M    ONES          CUSS LIST +21 EDS BNKNO           MILDLY CUSS NONBLANK ADR FLD, PROCEED.
 04341  BBC STAR Q TS           PL FMAX       MAX ADRES     MAX AD SET +1
 043415            LA, B29T30M  BIT 29        HEALTH        C,-1                BRANCH IF 2CADR*, NOT BBCON*.
 043417            NA           ADDRESS 1     BLANKS        BBC STAR Q -1
 043418            NA           ADDRESS 2     BLANKS        BBC STAR Q -1
 04343  EDS BNKNO  TS, BIT1M    ZERO          CUSS LIST +30 HOW HIGH F     C    IGNORE ADDRESS FIELD OF BBCON* AND
 04345             TX           USED FMAX     -             ADDRESS             SUPPLY THE BANK NUMBER OF THE HIGHEST
 04347             LA           ONES          ADDRESS       RNG ERROR           BANK OCCUPIED IN THIS ASSEMBLY.

 0435   BBCON      LA           ADDRESS       OCT 3777      BANK NO             IF NOT IN FIXED, SHOULD BE BANK NUMBER.
 0437              LA           ADDRESS       OCT 7777      BBC ADRES -1        NO REDUCTION NEEDED IF IN FIXED-FIXED.
 0439              WD           ADDRESS       OCT 10000     ADDRESS
 04391  BB SUPER Q LA           ADDRESS       OCT 57777     BBC ADRES -1        BRANCH IF ADDRESS ISN'T IN A SUPER-BANK.
 04392             NA, B25T27M  SBANK REG     ZERO          C,+3                BRANCH IF NO 1-SHOT SBANK=.
 04393             SWE, B28T30M ADDRESS       5,L           2ND ALF             SHIFT ADDRESS SUPERBITS TO MATCH TEMPS.
 043935            NA, B28T30M  2ND ALF       SBANK REG     1SH CONFL           MAY CUSS ADDRESS CONFL W/ 1-SHOT DECL.
 04394             SWS, B41T44M ADDRESS       9             WORD                PLANT SUPER-BANK BITS IN BBCON WORD.
 04396             TS, B33T35M  SPEC MAG      ADDRESS       BBC ADRES           REDUCE BANK NUMBER TO 3X.
 04398             SWS, B41T44M SBANK REG     14            WORD                SUPPLY DECLARED SBANK OR 0 IF NONE.
 0440   BBC ADRES  TX, BANKMASK ADDRESS       -             WORD                SET FB PART OF BBCON FROM ADDRESS.
 04412             TS, ACO8     EBANK REG     WORD          GUD BASIC           INSERT 1-SHOT OR ESTABLISHED EBANK NO.
 0442   BANK NO    LA           OCT 70        ADDRESS       RNG ERROR           ADDRESS IN ERASABLE ILLEGAL HERE.
 0444              SWE, ONESMM  ADDRESS       10,L          ADDRESS             SET FB PART OF BBCON FROM BANK NUMBER.
 0446              TS           -             -             BB SUPER Q

# Page 395
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.  11        PAGE 131

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

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

 04474  FIND USED  LA           CAC 12        N,AU1,1       C,+0           C
 044745            LA           Z,AU1         OCT 17777     N,SC,1         C    BRANCH IF NO FIXED IS OCCUPIED.
 04475             WD           Z,AU1         OCT 17777     M COMMON       C
 044755            SWE, ONESMM  M COMMON      5,L           M COMMON       C    FORM ADDRESS OF 2000 OF LAST USED BANK.
 04476             TX           L TYP TAB     -             Z,X6           C
 044765            LA, CAC3M    M COMMON      6,0           C,+2           C    FIND MEMORY TYPE OF PUTATIVE BANK.
 04477             TS           Z,X6,1        -             C,-1           C
 044775            NA, B25T27M  6,0           TYPE F        FIND USED      C    BRANCH TO TRY AGAIN IF NOT FIXED.
 04478             TX           M COMMON      -             USED FMAX      S

R04479  TYPE 0 ADDRESS CONSTANTS CONCLUDED: DOUBLE PRECISION TYPES.

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

 0457   2(B)CADR   SS           ZERO          OCT 1777      2ND HALF            ISOLATE BANK NUMBER IN BBCON WORD.
 04582             SWS, B41T44M SBANK REG     14            2ND HALF            SUPPLY DECLARED SBANK OR 0 IF NONE.
 0459              LA           ADDRESS       OCT 3777      2BCADR E            BRANCH IF REFERS TO ERASABLE.
 0461              LA           ADDRESS       OCT 7777      2BCADR E +1         BRANCH IF REFERS TO FIXED-FIXED.
 0463              WD           2ND HALF      OCT 10000     2ND HALF            REDUCE BANK NUMBER IN BBCON WORD.
 04641             LA           2ND HALF      OCT 57777     2BCADR E -1         BRANCH IF ADDRESS ISN'T IN A SUPER-BANK.
 04642             NA, B25T27M  SBANK REG     ZERO          C,+3                BRANCH IF NO 1-SHOT SBANK=.
 04643             SWE, B28T30M 2ND HALF      5,L           2ND ALF             SHIFT ADDRESS SUPERBITS TO MATCH TEMPS.
 046435            NA, B28T30M  2ND ALF       SBANK REG     1SH CONFL           MAY CUSS ADDRESS CONFL W/ 1-SHOT DECL.
 04644             SWS, B41T44M 2ND HALF      9             2ND HALF            PLANT SUPER-BANK BITS IN BBCON WORD.
 04646             TX, B33T35M  SPEC MAG      -             2ND HALF            REDUCE BANK 4X, 5X, OR 6X TO 3X.
 0465              TS, BANKMASK OCT 2000      ADR WD        2BCADR E +1         PUT GENADR IN THE RANGE 2000-3777.
 0467   2BCADR E   LA           OCT 1400      ADDRESS       C,+2                BRANCH IF REFERS TO AN EBANK.
 0469              TS, ACO8     EBANK REG     2ND HALF      PRINT 2PA           EXIT FOR ALL CASES BUT EBANK REFERENCE.
 0471              SWS, B38ACO8 ADDRESS       8             2ND HALF            HERE USE EBANK ACCORDING TO ADDRESS.
 0473              LA, CHAR8M   EIGHT         EBANK REG     C,+2                BRANCH IF THERE IS NO 1-SHOT DECLARATN.
 0475              NA, ACO8     2ND HALF      EBANK REG     1SH CONFL           OTHERWISE CHECK FOR CONFLICT.
 0477              TS, EBANKMSK OCT 1400      ADR WD        PRINT 2PA           PUT GENADR IN THE RANGE 1400-1777, EXIT.

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

# Page 396
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.  12        PAGE 132

P0486   LEVEL 3 ADDRESS CONSTANTS: SPECIAL DECIMAL CONSTANTS.

 048605            MASKGRP      S,0           F,0

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

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

 04864  VERB NOUN  TN           VN PARAMS     3             MAX DECML
 04865             TS           Z,SC          Z,X4          DEC CONST           FIRST DO DEC WITH LIMIT OF 9999.
 048655            NA           NUMBER        W BAD WORD    C,+2
 04866             TS           L PROC WD     Z,SC          BLK2 1P +1     C    IF BAD WORD TREAT VN LIKE DEC.
 048665            BM           NUMBER        HUNDRETH      M COMMON            ISOLATE VERB IN M COMMON.
 04867             BT           M COMMON      10            M COMMON +1
 048675            BT           M COMMON +1   10            M COMMON +1
 04868             BS           NUMBER        M COMMON +1   M COMMON +1         ISOLATE NOUN IN M COMMON +1.
 04869             SPE, ONES    M COMMON      7,L           NUMBER
 04895             SWS, B42T48  M COMMON +1   0             NUMBER              STORE VERB AND NOUN AS 7-BIT GROUPS.
 0487              TS           L PROC WD     Z,SC          GOOD 1P        C    FINISH UP A LA DEC.

 048705            MASKGRP      S,1           F,1

# Page 397
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.  13        PAGE 133

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

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

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

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

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

 04876  SBANK2     LA           ADDRESS       OCT 67777     RNG ERROR           ADDRESS MUST BE IN A SUPER-BANK.
 048762            WD           ADDRESS       OCT 10000     ADDRESS
 04877             SWS, CHAR5M  ADDRESS       5,L           SBANK REG           SET UP TEMP. SUPERBITS, CALL IT 1-SHOT.
 04878             SWS, CHAR6M  SBANK REG     A,1           LINE +6
 04879             SWS, CHAR5M  W LAST ASS    A,2           LINE +6             PRINT DECLARED SUPERBANK NO. AS "SN".
 0488   SBNK2 XIT  TS           GENL MXR      Z,MXR         ZEQUALOC            EXIT, BYPASSING WORD PROCESSING.

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

 048886 EBANK2     LA           EIGHT         ADDRESS       C,+2                BRANCH IF EBANK NUMBER IMPLIED BY ADR.
 04889             TS, CHAR8M   ADDRESS       EBANK REG     C,+2                USE EBANK NUMBER DIRECTLY.
 048894            SWS, CHAR8M  ADDRESS       8             EBANK REG           PLANT EBANK NO. IN TENTATIVE POSITION.
 048898            SWS, CHAR6M  EBANK REG     12,L          LINE +6
 048902            SWS, CHAR5M  E CHAR 4      A,1           LINE +6        S    PRINT DECLARED EBANK NO. AS "EN".
 048904 EBNK2 XIT  TS           GENL MXR      Z,MXR         ZEQUALOC            EXIT, BYPASSING WORD PROCESSING.


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

 04891  NW BADDR   TS           BLOT C6       LINE +6       EBNK2 XIT -1
 048912            TS           BLOT C6       LINE +6       SBNK2 XIT -1
 048914            SM           HEALTH        BIT 14        HEALTH              BAD LOCATION VALUE FLAG.
 048916            TS           L BSUM LOC    Z,SC          RSTOR MXR      C    JOIN END OF BNKSUM PROCEDURE.

# Page 398
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.  14        PAGE 134

P048919 SPECIFIC PROCESSING FOR BASIC INSTRUCTIONS.

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

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

 0508   BASIC ADR  LA           ADDRESS       OCT 3777      CHK EBANK           BRANCH IF ADDRESS IS IN ERASABLE.
 0510              NA, BIT7M    SWITCH        ZERO          ADRES ADR
 05112             NA           MAX ADRES     PL 11777      ADRES ADR -1        CUSS UNINDEXED 1/4-CODE REFERENCE TO F.
 05113             TS, BIT33M   ONES          CUSS LIST +11 PRB ADRES      C
 05114             TS, BIT17M   ONES          CUSS LIST +3  ADRES ADR           PUT MISC. FLAG ON UNINDEXED BASIC IN-
 0512              TX, CHAR1M   DEC 48 FLG    -             WORD                STRUCTIONS THAT REFER TO FIXED MEMORY.
 0514   ADRES ADR  LA, CAC3M    ADR WD +1     OCT 7777      ADD ADR WD          EXIT IF IN FIXED-FIXED.
 05152             NA, B6T7M    SWITCH        B2B6          C,+3                EXCEPT WHERE INSTRUCTION IS INDEXED, ...
 05154             NA, B39T48M  ADR WD        ONES          C,+3                CUSS D.P. ADDRESS THAT STRADDLES FBANKS.
 05156             TS, BIT17M   ONES          CUSS LIST +3  RNG ERROR      C
 05158             LA           ADDRESS       OCT 7777      ADD ADR WD          (FOR D.P. ADDRESS = 7777).
 0516              LA           LOCATION      OCT 7777      F SUBADR            BRANCH IF LOCATION IS NOT IN AN FBANK.
 05172             LA           MAX ADRES     PL 11777      F SUBADR            NO BANK CUSS ON XQC REF TO 2000-3777.
 0518              NA, BANKMASK LOCATION      ADDRESS       CUS F BANK
 0519   F SUBADR   TS, BANKMASK OCT 2000      ADR WD        ADD ADR WD          PUT SUBADDRESS IN THE RANGE 2000-3777.

 0521   CHK EBANK  LA, CAC3M    ADR WD +1     OCT 1377      ADD ADR WD          BRANCH IF ADDRESS IS NOT IN AN EBANK.
 05222             NA, B6T7M    SWITCH        B2B6          C,+3                EXCEPT WHERE INSTRUCTION IS INDEXED, ...
 05224             NA, B41T48M  ADR WD        ONES          C,+3                CUSS D.P. ADDRESS THAT STRADDLES EBANKS.
 05226             TS, BIT17M   ONES          CUSS LIST +3  RNG ERROR      C
 05228             LA           ADDRESS       OCT 1377      ADD ADR WD          (FOR D.P. ADDRESS = 1377).
 0423              LA, EBANKMSK E BANK REG    BANK E2       C,+2                FORGIVE ALL IF WE HAVE PSEUDO EBANK.
 0525              NA, EBANKMSK ADDRESS       EBANK REG     C,+2                BRANCH ON E-BANK ERROR.
 0527   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 399
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.  15        PAGE 135

P0548   PRINTING PROCEDURES FOR BASIC INSTRUCTIONS AND ADDRESS CONSTANTS.

 0549   GUD BASIC  SS           ZERO          C1T4          LINE +6             CLEAR ADDRESS FIELD OF PRINT IMAGE.
 0551              NA, CHAR1M   CARD +2       BIT 1         C,+2                BRANCH IF NO MINUS SIGN IN COLUMN 17.
 0553              HA           WORD          SPEC MAG      WORD                COMPLEMENT NEGATIVE INSTRUCTION.
 0555              SWS, ACO1    WORD          33,L          LINE +6
 0556              SWS, ACO2    WORD          30,L          LINE +6
 0557              SWS, ACO3    WORD          27,L          LINE +6
 0558              SWS, ACO4    WORD          24,L          LINE +6             PUT BASIC CODE ADDRESS INTO PRINT IMAGE.
 0560              LA           DEC 6 FLAG    WORD          ACON PRNT           BRANCH IF WORD IS AN ADDRESS CONSTANT.

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

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

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

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

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

 0601   BC CHECK   NA, CHAR1M   CARD +2       BIT 1         C,+3
 0602              SS           ZERO          B1B17B33      CUSS LIST +12       CLEAR EXTENSION CUSSES IF MINUS.
 0604              TS, BIT33M   ZERO          CUSS LIST +23 C,+2                CLEAR "SHOULD-BE-INDEXED" CUSS IF MINUS.
 0606              NA, CHAR1M   CARD +2       BLANKS        QUEER C17           CUSS IF NEITHER BLANK OR MINUS IN CC 17.
 0608              NA, CHAR1M   CARD          J COLUMN 1    C,+3
 0609              SS           ZERO          B1B17B33      CUSS LIST +12       CLEAR EXTENSION CUSSES IF LEFTOVER.
 0611              TS, BIT33M   ZERO          CUSS LIST +23 C,+2                CLEAR "SHOULD-BE-INDEXED" CUSS IF LFTVR.
 0613              NA, CHAR1M   CARD          BLANKS        QUEER C1            CUSS IF NEITHER BLANK NOR J IN COLUMN 1.
 0615              NA, CHAR8M   CARD +2       BLANKS        QUEER C24           CUSS IF COLUMN 24 NON-BLANK.
 06162             TX, BIT6M    ZERO          -             SWITCH              TURN OFF D.P. OP CODE SWITCH.
 0617              TS, CHAR8M   EIGHT         EBANK REG     SET EBCON      C    TURN OFF "JUST-DID-EBANK=" SWITCH.
 06182             TS, B25T27M  BIT 25        SBANK REG     SET SBCON      C    TURN OFF "JUST-DID-SBANK=" SWITCH.
 0619   INSTR XIT  TS           MOD RETRN     Z,SC          RSTOR MXR      C    RETURN TO GENERAL PROCEDURE.

# Page 400
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.  16        PAGE 136

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

 0622   PRB ADRES  TX           Z,R5          -             Z,X4           C    BANK INDICATOR 5 TO X4.
 0624              SS           CUSS LIST +11 B38T48        Z,X4           C    SET UP ADDRESS OF ADR CUSS.
 0626              TX           HI EQUALS     -             ADRECUSS +1    C    INITIALIZE TO ALF =00,0000.
 0628              SS           ADDRESS       SEVEN         ADRECUSS +1    C
 0629              SWS, ACO7    ADDRESS       3,L           ADRECUSS +1    C
 0630              SWS, ACO6    ADDRESS       6,L           ADRECUSS +1    C
 0631              SWS, ACO5    ADDRESS       9,L           ADRECUSS +1    C    PUT ADDRESS OR SUBADDRESS INTO CUSS.
 0633              LA           ADDRESS       OCT 3777      PRB EADDR      C    BRANCH IF ADDRESS IS IN ERASABLE.
 0635              LA           ADDRESS       OCT 7777      PRB NOBNK      C    BRANCH IF ADDRESS IS IN FIXED-FIXED.
 0637              SS           ALF 2000      B28T29        ADRECUSS +1    C    PUT SUBADDRESS IN THE RANGE 2000-3777.
 0639              WD           ADDRESS       OCT 10000     M COMMON       C
 0640              SWS, CHAR2M  M COMMON      23,L          ADRECUSS +1    C
 0641              SWS, ACO3    M COMMON      20,L          ADRECUSS +1    S    PUT REDUCED BANK NO. INTO CUSS, EXIT.

 0643   PRB EADDR  LA           ADDRESS       OCT 1377      PRB NOBNK      C    BRANCH IF ADDRESS IS IN UNSWITCHED F.
 0645              SS           ALF E1400     C2 B28T34     ADRECUSS +1    C    PUT SUBADDRESS IN THE RANGE 1400-1777.
 0647              SWS, ACO3    ADDRESS       22,L          ADRECUSS +1    S    PUT EBANK NO. INTO CUSS, EXIT.
 0649   PRB NOBNK  SWS, C3T6M   ADRECUSS +1   A,2,L         ADRECUSS +1    C
 0650              SS           BLANKS        C2 C7T8       ADRECUSS +1    S    MOVE UP NON-BANK ADDRESS, EXIT.

R0652   MINOR SUBROUTINE TO CUSS EITHER TYPE OF BANK ERROR.

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

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

 0665   EBK LOC Q  SWS,EBANKMSK EBANK REG     8,L           EBANK REG           TENTATIVELY ACCEPT EBANK DECLARATION.
 06666             SWS, B33T35M SBANK REG     5             SBANK REG           TENTATIVELY ACCEPT SBANK DECLARATION.
 0667              LA           OCT 4000      LOCATION      SBK LOC Q           IF IN FIXED, GO SEE IF IN SUPERBANK.
 0668              LA           LOCATION      OCT 1377      N,X6                EXIT IF LOCATION IS NOT IN AN EBANK.
 0670              LA, CHAR8M   EIGHT         EBANK REG     C,+2                BRANCH ON OLD-EBANK-DECLARATION BIT.
 0672              NA, EBANKMSK EBANK REG     LOCATION      BAD CONFL           CHECK ON NEW PERMANENT DECLARATION.
 0674              TS, EBANKMSK LOCATION      EBANK REG     6,0                 FORCE AGREEMENT AND EXIT.
 0676   SBK LOC Q  LA           LOCATION      OCT 67777     N,X6                EXIT IF LOCATION NOT IN A SUPERBANK.
 06771             LA           ONES          LOCATION      N,X6                EXIT IF LOCATION HAS NO VALUE.
 06772             WD           LOCATION      OCT 10000     FIELD COD
 0678              NA, B25T27M  SBANK REG     ZERO          C,+2                BRANCH ON OLD-SBANK-DECLARATION BITS.
 0680              NA, B33T35M  SBANK REG     FIELD COD     BAD CONFL           CHECK UP ON NEW PERMANENT DECLARATION.
 0682              TS, B33T35M  FIELD COD     SBANK REG     6,0                 FORCE AGREEMENT AND EXIT.

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

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

# Page 401
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.  17        PAGE 137

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



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

 1008              TX           BLK2 MXR      -             Z,MXR          C
 1009              SS           ZERO          C1T4          LINE +5        C
 1010              TX           LOCATION      -             COMMON         C
 1011              TX           COMMON        -             COMMON +1      C
 1012              LA           COMMON        OCT 3777      E PLEB         C    BRANCH IF LOCATION IS IN ERASABLE.
 10132             LA, B39T48M  LOCATION      ZERO          DP CROSS Q     C    BRANCH IF LOCATION BEGINS BANK OR FF/2.
 1014              LA           COMMON        OCT 7777      END BANK Q     C    BRANCH IF LOCATION IS NOT IN A BANK.
 1016              TX           COMMA C8      -             LINE +4        C
 1017              WD           COMMON        OCT 10000     COMMON         C    REDUCE TO STANDARD BANK NOTATION.
 1019              SWS, ACO6    COMMON        1             LINE +4        C
 1020              SWS, ACO7    COMMON        4             LINE +4        C    SET BANK NUMBER IN PRINT.
 1022              TS, BANKMASK OCT 2000      COMMON +1     END BANK Q     C    PUT SUBADDRESS IN THE RANGE 2000 - 3777.

 10232             TS, BIT33M   ONES          CUSS LIST +21 C,+4           C
 10234  E PLEB     NA, CHAR1M   HEALTH        BIT 2         C,+2           C    BRANCH IF NOT AN ERASE CARD.
 10236             NA, EBANKMSK LOCATION      HEALTH        C,-2           C    BRANCH IF ERASE CROSSES EBANK BOUNDARY.
 10238             LA, B41T48M  LOCATION      ZERO          DP CROSS Q     C    BRANCH IF LOCATION BEGINS EBANK.
 1024              LA           COMMON        OCT 1377      END BANK Q +2  C    BRANCH IF LOCATION IS NOT IN AN EBANK.
 1026              TX           E COMMA       -             LINE +4        C
 1027              SWS, ACO7    COMMON        2             LINE +4        C    SET EBANK NUMBER IN PRINT.
 1029              TX, EBANKMSK OCT 1400      -             COMMON +1      C    PUT SUBADDRESS IN THE RANGE 1400 - 1777.

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

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

 1043   PRINT LOC  SWS, ACO1    COMMON +1     33,L          LINE +5        C
 1044              SWS, ACO2    COMMON +1     30,L          LINE +5        C
 1045              SWS, ACO3    COMMON +1     27,L          LINE +5        C
 1046              SWS, ACO4    COMMON +1     24,L          LINE +5        C
 1047   RSTOR MXR  TX           GENL MXR      -             Z,MXR               SET UP LOCATION IN PRINT AND EXIT.



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

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

# Page 402
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.  18        PAGE 138

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

 1053   BLK2 1P    NA           NUMBER        W BAD WORD    GOOD 1P        C    BRANCH IF WORD IS VALID.
 1055              SS           BLOTS         CHAR 8        LINE +5        C
 1056              SS           BLOTS         C1T4          LINE +6        C    BLOT OUT WORD IN PRINT.
 1058              TX           W BAD WORD    -             WORD                SEND ALONG BAD NEWS AND EXIT.

 1060   GOOD 1P    TX           BLK2 MXR      -             Z,MXR          C
 1061              EX           NUMBER        D2T12         WORD           C    ISOLATE MAGNITUDE.
 1063              LA           BIT 1         NUMBER        C,+2           C
 1064              HA           WORD          SPEC MAG      WORD           C    COMPLEMENT NEGATIVE WORD.

 1066   B2 BIN ALF SS           ZERO          C1T4          LINE +6        C
 1067              SWS, CHAR8M  WORD          12            LINE +5        C
 1068              SWS, ACO1    WORD          33,L          LINE +6        C
 1069              SWS, ACO2    WORD          30,L          LINE +6        C
 1070              SWS, ACO3    WORD          27,L          LINE +6        C
 1071              SWS, ACO4    WORD          24,L          LINE +6        C    SET WORD IN PRINT.
 1073              TS, CHAR1M   DEC6 FLAG     WORD          RSTOR MXR      C    APPLY INTERNAL CONSTANT FLAG AND EXIT.



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

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

 1089   GOOD 2P    TX           BLK2 MXR      -             Z,MXR          C
 1090              NA           E NUMBER      ZERO          C,+3           C    BRANCH IF NUMBER IS SIGNED.
 1092              SWE, B34T48M NUMBER        15            WORD           C
 1093              TS           SPEC MAG      COMMON        C,+3           C    SET UP UNSIGNED CONSTANT.

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

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

 1105   PRINT 2P   SWE, CHAR8M  2ND HALF      12            2ND ALF        C    THE INSTRUCTIONS FROM PRINT 2P THROUGH
 1107              SWE, ACO1    2ND HALF      33,L          2ND ALF +1     C     B2 BIN ALF ARE BORROWED BY THE DOUBLE
 1109              SWE, ACO2    2ND HALF      30,L          2ND ALF +1     C     PRECISION ADDRESS CONSTANTS.
 1111              SWE, ACO3    2ND HALF      27,L          2ND ALF +1     C
 1112              SWE, ACO4    2ND HALF      24,L          2ND ALF +1     C    MAKE PRINTABLE VERSION OF LOW-ORDER PRT.
 1114              TS, CHAR 1M  DEC6 FLAG     2ND HALF      B2 BIN ALF     C    GO TO JOIN SINGLE-PRECISION PROCEDURE.

# Page 403
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.  19        PAGE 139

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



 1119   BLK2 PREL  NA           LOCATION      ONES          C,+2           C
 1120              SS           BLOTS         C3T6          LINE +6             BLOT OUT BAD LOCATION AND EXIT.

 1122              TX           BLK2 MXR      -             Z,MXR          C
 1123              SS           ZERO          C3T6          LINE +6        C
 1124              TX           LOCATION      -             COMMON         C    ISOLATE LOCATION VALUE.
 1126              LA           COMMON        OCT 3777      E PREL         C    BRANCH IF LOCATION IS IN ERASABLE.
 1128              LA           COMMON        OCT 7777      PRINT VAL      C    BRANCH IF LOCATION IS NOT IN A BANK.
 1130              TX           COMMA C2      -             LINE +6        C
 1131              WD           COMMON        OCT 10000     COMMON         C    REDUCE TO STANDARD BANK NOTATION.
 1133              SWS, CHAR8M  COMMON        13            LINE +5        C
 1134              SWS, ACO1    COMMON        32,L          LINE +6        C    SET BANK NUMBER IN PRINT.
 1136              TS, BANKMASK OCT 2000      COMMON        PRINT VAL      C    PUT SUBADDRESS IN THE RANGE 2000-3777.

 1138   EPREL      LA           COMMON        OCT 1377      PRINT VAL      C    BRANCH IF LOCATION IS NOT IN AN EBANK.
 1140              TX           COMMA C2      -             LINE +6        C
 1141              SWS, CHAR8M  E CHAR 4      A,4           LINE +5        C
 1142              SWS, ACO1    COMMON        34,L          LINE +6        C    SET EBANK NUMBER IN PRINT.
 1144              TX, EBANKMSK OCT 1400      -             COMMON         C    PUT SUBADDRESS IN THE RANGE 1400-1777.

 1122   PRINT VAL  SWS, ACO3    COMMON        21,L          LINE +6        C
 1123              SWS, ACO4    COMMON        18,L          LINE +6        C
 1124              SWS, ACO5    COMMON        15,L          LINE +6        C
 1125              SWS, ACO6    COMMON        12,L          LINE +6        C
 1126              TX           GENL MXR      -             Z,MXR               SET LOCATION IN PRINT AND EXIT.

# Page 404
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.  20        PAGE 140

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

 1156              SETLOC,3     0             B5

 1157   UNSCRAMB   SWE, B38T48M N,AU2         0             N,AU1          C    ZERO DEMAND BITS, MOVE SUBADDR OF CUSS3.
 1159              SWS, B34T37M N,AU2         25            N,AU1          C    MOVE POISON BIT AND LENGTH OF CUSS 3.
 1161              SWS, B22T32M N,AU2         4,L           N,AU1          C    MOVE SUBADDRESS OF CUSS 2.
 1163              SWS, B18T21M N,AU2         13            N,AU1          C    MOVE POISON BIT AND LENGTH OF CUSS 2.
 1165              SWS, B6T16M  N,AU2         8,L           N,AU1          C    MOVE SUBADDRESS OF CUSS 1.
 1167              SWS, B2T5M   N,AU2,1       1             N,AU1,1        C    MOVE POISON BIT AND LENGTH OF CUSS 1.
 1169              NA           N,AU2         SENTINEL      UNSCRAMB       C
 1170              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,DF0      IXOP CUSS     STOS CUSS
 11688             M,D,D5E      SNNR CUSS     MCPS CUSS     CEHS CUSS

 1169   SENTINEL   DEC          BB00 FFFF

# Page 405
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.  21        PAGE 141

P1197              CUSSES FOR BLK2, SHOWN IN THE ORDER OF THEIR CALLS IN THE CUSS LIST.



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

 1202   LEFL CUSS  ALF,5        IMPROPER LEFTOVER LOCATION FIELD FORMAT
 1203   CNFL CUSS  ALF,4        CONFLICT IN USE OF THIS LOCATION
 1204   TYPL CUSS  ALF,4        LOCATION IS IN WRONG MEMORY TYPE

 1205   BADL CUSS  ALF,4        OVERSIZE OR ILL-DEFINED LOCATION
 1206   IPOX CUSS  ALF,3        INDEXING IS ILLEGAL HERE
 1207   MGLA CUSS  ALF,4        ADDRESS FIELD IS MEANINGLESS

 1208   UDEF CUSS  ALF,3        "        " IS UNDEFINED
 1209   ASIZ CUSS  ALF,4        RANGE ERROR IN VALUE OF ADDRESS
 1210   IRAD CUSS  ALF,4        IRREGULAR BUT ACCEPTABLE ADDRESS

# Page 406
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.  22        PAGE 142

P1211   BLK2 CUSSES CONTINUED.

 1212   LEFM CUSS  ALF,4        LEFTOVER WON'T FIT IN MEMORY
 1213   PRED CUSS  ALF,5        ATTEMPT TO PREDEFINE LOCATION SYMBOL FAI
 1214              ALF          LED
 1215   NFIT CUS1  ALF,5        "        " WON'T FIT IN SYMBOL TABLE

 1216   NFIT CUS2  ALF,5        "        " WON'T FIT IN SYMBOL TABLE
 1217   STYP CUS1  ALF,5        "        " ASSOCIATED WITH WRONG MEMORY
 1218              ALF          TYPE
 1219   STYP CUS2  ALF,5        "        " ASSOCIATED WITH WRONG MEMORY
 1220              ALF          TYPE

 1221   SCNF CUS1  ALF,5        "        " ASSOCIATED WITH CONFLICT
 1222   SCNF CUS2  ALF,5        "        " ASSOCIATED WITH CONFLICT
 1223   SOVS CUS1  ALF,5        "        " GIVEN OVERSIZE DEFINITION

# Page 407
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.  23        PAGE 143

P1224   BLK2 CUSSES CONTINUED.

 1225   SOVS CUS2  ALF,5        "        " GIVEN OVERSIZE DEFINITION
 1226   SMD CUS1   ALF,5        "        " GIVEN MULTIPLE DEFINITIONS
 1227   SMD CUS2   ALF,5        "        " GIVEN MULTIPLE DEFINITIONS

 1228   SME CUS1   ALF,5        "        " ASSOCIATED WITH MULTIPLE ERRO
 1229              ALF          RS
 1230   SME CUS2   ALF,5        "        " ASSOCIATED WITH MULTIPLE ERRO
 1231              ALF          RS
 1232   SMIT CUS1  ALF,5        "        " IS IN MISCELLANEOUS TROUBLE

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

# Page 408
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.  24        PAGE 144

P1236   BLK2 CUSSES CONTINUED.

 1237   SIDL CUS1  ALF,5        "        " IS INDEFINABLY LEFTOVER
 1238   SBDE CUS1  ALF,5        "        " MULTIPLY DEFINED INCLUDING NE
 12381             ALF,2        ARLY BY EQUALS
 1239   SMDE CUS1  ALF,5        "        " MULTIPLY DEFINED INCLUDING BY
 12391             ALF           EQUALS

 1240   ADRE BANK  ALF,3        ADDRESS IS IN BANK 00
 1241   INAP CUSS  ALF,5        ADDRESS IS INAPPROPRIATE FOR OP CODE
 1242   ADR CUSS   ALF,2        ADDRESS

 1243   SBEX CUSS  ALF,5        THIS INSTRUCTION SHOULD BE EXTENDED
 1244   SNEX CUSS  ALF,5        THIS INSTRUCTION SHOULD NOT BE EXTENDED
 1245   IDBC CUSS  ALF,5        INEXACT DECIMAL-TO-BINARY CONVERSION

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

# Page 409
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.  25        PAGE 145

P1248   BLK2 CUSSES CONTINUED.

 1249   FRAC CUSS  ALF,5        FRACTIONAL PART LOST BY TRUNCATION

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

 1253   NDE1 CUSS  ALF,5        "        " WAS NEARLY DEFINED BY EQUALS
 1254              ALF,2        IN PASS 1
 1255   LNSY CUSS  ALF,5        LOCATION FIELD SHOULD BE SYMBOLIC
 1256   SNDE CUS2  ALF,5        "        " WAS NEARLY DEFINED BY EQUALS

 1257   SBDE CUS2  ALF,5        "        " MULTIPLY DEFINED INCLUDING NE
 12571             ALF,2        ARLY BY EQUALS
 1258   SIDL CUS2  ALF,5        "        " IS INDEFINABLY LEFTOVER

# Page 410
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.  26        PAGE 146

P12581  BLK2 CUSSES CONTINUED.

 1259   SMDE CUS2  ALF,5        "        " MULTIPLY DEFINED INCLUDING BY
 1260              ALF           EQUALS

 1261   SSNP CUSS  ALF,5        "        " SHOULDN'T HAVE BEEN PREDEFINE
 1262              ALF          D
 1263   BNLF CUSS  ALF,5        NUMERIC LOCATION FIELD IS ILLEGAL HERE
 1264   NSCH CUSS  ALF,5        NO SUCH BANK OR BLOCK IN THIS MACHINE

 1265   BFUL CUSS  ALF,4        THIS BANK OR BLOCK IS FULL
 1266   ILOC CUSS  ALF,4        ILLEGAL LOCATION FIELD FORMAT
 1267   TOLA CUSS  ALF,5        CARD IGNORED BECAUSE IT'S TOO LATE IN TH
 1268              ALF          E DECK

 1269   MEMT CUSS  ALF,5        CARD IGNORED BECAUSE IT MAKES MEMORY TAB
 1270              ALF,2        LE TOO LONG
 1271   NMC1 CUSS  ALF,5        NO MATCH FOUND FOR CARD NUMBER OR ACCEPT
 1272              ALF          OR TEXT

# Page 411
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.  27        PAGE 147

P12721  BLK2 CUSSES CONTINUED.

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

 1275   QC1 CUSS   ALF,4        QUEER INFORMATION IN COLUMN 1
 1276   QC17 CUSS  ALF,4        QUEER INFORMATION IN COLUMN 17
 1277   QC24 CUSS  ALF,4        QUEER INFORMATION IN COLUMN 24

 1278   IMAD CUSS  ALF,4        BLANK ADDRESS FIELD EXPECTED
 1280   POLE CUSS  ALF,5        ADDRESS FIELD SHOULD CONTAIN A POLISH OP
 1281              ALF          ERATOR
 1282   ECEB CUSS  ALF,5        ERASED REGION SHOULD NOT CROSS E-BANKS

 1283   ECF1 CUSS  ALF,5        EBANK OR SBANK CONFLICT WITH 1-SHOT DECL
 12831             ALF          ARATION
 1284   IPX1 CUSS  ALF,5        FIRST POLISH OPERATOR ILLEGALLY INDEXED
 1285   IPX2 CUSS  ALF,5        SECOND POLISH OPERATOR ILLEGALLY INDEXED

# Page 412
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.  28        PAGE 148

P12851  BLK2 CUSSES CONTINUED

 1286   NMC2 CUSS  ALF,5        NO MATCH FOUND FOR SECOND CARD NUMBER
 1287   INXH CUSS  ALF,5        INTERPRETIVE INSTRUCTION NOT EXPECTED
 1288   MIMOCUSS   ALF,5        RIGHT OPCODE'S MODE IN DISAGREES WITH MO
 12885             ALF,2        DE OUT SETTING
 1289   ANAD CUSS  ALF,5        ADDRESS HAS NO ASSOCIATED POLISH OPCODE
 1290   IMAS CUSS  ALF,5        POLISH ADDRESS(ES) MISSING PRIOR TO THIS
 12905             ALF           OP PAIR
 1291   STMF CUSS  ALF,5        STORE OP MUST BE NEXT OP AFTER STADR
 1292   PIWS CUSS  ALF,5        PUSHUP ILLEGAL BEFORE STORE OP WITHOUT S
 12925             ALF          TADR
 1293   ROP2CUSS   ALF,5        LEFT OPCODE'S MODE IN DISAGREES WITH MOD
 12935             ALF,2        E OUT SETTING

# Page 413
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.  29        PAGE 149

P1294   BLK2 CUSSES CONTINUED

 1295   ONCI CUSS  ALF,5        INT OPCODE DID NOT CALL FOR INDEXING
 1296   RIAH CUSS  ALF,5        INT OPCODE REQUIRES INDEXED ADDR HERE
 1297   CBBB CUSS  ALF,5        ADDRESS WORDS CROSS OVER BANK OR VAC ARE
 12975             ALF,2        A BOUNDARY
 1298   IAOS CUSS  ALF,5        INTERPRETIVE ADDR WORD OUT OF SEQUENCE
 1299   NAWX CUSS  ALF,5        CAN NOT HANDLE NEG ADDRESSES WITH INDEXI
 12995             ALF,1        NG HERE
 1300   ECFB CUSS  ALF,5        EBANK OR SBANK CONFLICT ILLEGAL EXCEPT F
 1301              ALF,2        OR BBCON, 2BCADR
 1302   SBIX CUSS  ALF,5        THIS INSTRUCTION SHOULD BE INDEXED
 1303   DPCB CUSS  ALF,5        D.P. CONSTANT SHOULD NOT CROSS BANKS
 1304   MHBCCUSS   ALF,5        ADDR MUST BE BASIC S.P. CONSTANT OR INST

# Page 414
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.  30        PAGE 150

P1305   BLK2 CUSSES CONTINUED

 1306   PWNL CUSS  ALF,5        POLISH WORDS REQUIRE BLANKS IN COLS 1, 1
 1307              ALF          7 AND 24

 1308   CNRP CUSS  ALF,5        PREVIOUS POLISH EQUATION NOT CONCLUDED P
 1309              ALF          ROPERLY
 1310   PUSHCUSS   ALF,5        POLISH PUSHUP REQUIRES NEGATIVE WORD HER
 1311              ALF          E
 1312   POAD CUSS  ALF ,4       POLISH ADDRESS EXPECTED HERE

 1313   IXOP CUSS  ALF,4        ASTERISK ILLEGAL ON THIS OPCODE

 1316   SNNR CUSS  ALF,4        SUBROUTINE NAME NOT RECOGNIZED
 1317   MCPS CUSS  ALF,5        MULTIPLE CALLS IN ONE PROGRAM OR SUBRO
 1318   CEHS CUSS  ALF,5        CONFLICT WITH EARLIER HEAD SPECIFICATION
 1319   STOS CUSS  ALF,5        LOCATION SYMBOL IMPROPER ON STADR'ED STO
 1320              ALF          RE WORD

# Page 415
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.  31        PAGE 151

P1400   BLOCK 2 INTERPRETIVE OPCODES AND ADDRESSES
 1405              SETLOC,5     512           B2
R1500   ASSIGNMENTS TO USE MAIN PASS TWO SCRATCH LOCATIONS

 1515   GEBASE     EQUALS       POPO BUFF
 1520   L GE BASE  CAC          GENL MXR      INT DATAB     GE BASE
 1525   HEALTHM    ASSIGN       3,2
 1530   CARDM      ASSIGN       3,3
 1535   LOC M      ASSIGN       3,19
 1536   2ND HALFM  ASSIGN       3,22
 1537   WORDM      ASSIGN       3,23
 1545   ICOMMON    ASSIGN       3,24
 1550   ADDR WDM   ASSIGN       3,37
 1555   ADDRESSM   ASSIGN       3,43
 1560   MIN ADR    ASSIGN       3,73
 1565   LINEM      ASSIGN       0,0

R1580   ASSIGNMENTS TO USE BLK2 PASS 2 BANK 1 ERASABLES AND DATA

 1595   B2P2 BASE  EQUALS       BIT30
 1600   LB2P2 BASE CAC          SEND WORD     SBANK CUS     B2P2BASE
 1604   OCT 40M    ASSIGN       2,8
 1605   OCT 70M    ASSIGN       2,9
 1607   K 37777    ASSIGN       2,14
 1610   E BNK REGM ASSIGN       2,27
 1611   SBNK REGM  EQUALS       EBNK REGM
 1612   M 57777    ASSIGN       2,29

R1625   VARIABLE STORAGE

 1635   STADR      RESERVE      1
 1640   ADD REV    RESERVE      1
 1645   MODE OUT   RESERVE      1
 1650   INT ADDR   RESERVE      5
 1655   LOC HOLD   RESERVE      1

 1665   INTERP WD  RESERVE      1
 1667   STORE COM  RESERVE      1
 1668   CHECK UP   RESERVE      1
 1669   PASS2 MXR  RESERVE      1

# Page 416
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.  32        PAGE 152

P1670   CONSTANTS AND MISCELLANEOUS

 1675   L INT ADDR CAC                        MAX AD SET    INT ADDR
 1680   L INT OPPP CAC                                      INT OP POP
 1685   L BCCHECK  CAC          BAD BASIC     NAUGHTY       BC CHECK
 1686   I BAD BASC EQUALS       L BC CHECK
 1690   L PRBADR   CAC          EBNK2 XIT     HOW HIGH F    RNG ERROR
 16901  L HOW HI F EQUALS       L PRBADR
 16902  L EBK2 XIT EQUALS       L PRBADR
 1691   L USD FMAX CAC          PRINT 2PA     INSTRONT      USED FMAX
 16911  L INSTRNT  EQUALS       L USD FMAX
 16912  L PRIN 2PA EQUALS       L USD FMAX
 1692   M AV TABLE CAC          11032         11140         8192
 16921  I TYP TAB  EQUALS       M AV TABLE
 16922  I BLK2 MXR EQUALS       M AV TABLE
 1693   I GENL MXR MASKBASE     S,0           F,0
 1695   ZERO M     OCT          -0
 1700   ONESM      OCT          GGGG GGGG GGGG
 1705   B48M       OCT          -1
 1710   B47M       OCT          -2
 1715   B46M       OCT          -4
 1720   B46B48M    OCT          -5
 1721   B42T48MM   OCT          -177
 1722   B34T48MM   OCT          -77777
 1723   B47T48MM   OCT          -3
 1724   B26MM      OCT          -20000000
 1726   B39T41M    OCT          -1600
 1727   B43T48M    OCT          -77
 1728   K 1777 M   OCT          -1777
 1730   B44B48M    OCT          -21
 1735   B 40 M     OCT          -400
 1740   B37M       OCT          -4000
 1745   B35B38M    OCT          -22000
 1747   B38M       OCT          -2000
 1750   B35T38M    OCT          -36000
 1755   B37T38MM   OCT          -6000
 1760   B39T40M    OCT          -1400
 1770   BXSPEC     OCT          -100000002
 1775   B28M       OCT          -4000000
 1780   B29M       OCT          -2000000
 1785   B30M       OCT          -1000000
 1787   B29T30MM   OCT          -3000000
 1790   B28T29M    OCT          -6000000
 1795   B28B30M    OCT          -5000000
 1800   B34T35M    OCT          -60000
 1805   MB36T48M   OCT          +17777
 1810   I LOW HALF OCT          -47777
 1815   B2MAXP1    OCT          -170000
 1820   BLANKSM    ALF
 1821   K 16 M     OCT          -16
 1825   K 17 M     OCT          -17
 1830   K 20 M     OCT          -20
 1835   K34 M      OCT          -34
 1840   K 35 M     OCT          -35
 1842   K 36 M     OCT          -36

# Page 417
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.  33        PAGE 153

 1845   K 45 M     OCT          -45
 1850   K 52 M     OCT          -52
 1860   K 127M     OCT          -127
 1865   K 136 M    OCT          -136
 1870   K 137 M    OCT          -137
 1875   K 140 M    OCT          -140
 1880   K 157 M    OCT          -157
 1882   K 163 M    OCT          -163
 1885   K 200 M    OCT          -200
 1889   K 360 M    OCT          -360
 1890   K 361 M    OCT          -361
 1895   K 1377 M   OCT          -1377
 1900   K 51777 M  OCT          -51777
 1905   K 17777 M  OCT          -17777
 1910   K 47777 M  OCT          -47777
 1915   K 10000 M  OCT          -10000
 1916   K 20000 M  OCT          -20000
 1920   K 2000 M   OCT          -2000
 1925   CMA 1 C7T8 OCT          -7301
 1930   CMA 2 C7T8 OCT          -7302
 1935   ASTER C8   OCT          -54
 1940   STOCALL    OCT          -30420000
 1945   STODL      OCT          -12030000
 1950   STOVL      OCT          -14050000
 1955   BONSET     OCT          -72
 1960   BLOTM      ALF          ▪▪▪▪▪▪▪▪
 19602  F CHAR 4M  ALF             E
 19604  W NEGATIV  ALF          NEGATIVE
 19606  W NO NEED  ALF          NO NEED

# Page 418
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.  34        PAGE 154

P19609  DOUBLED UP INTERPRETIVE OPCODE DATA

 1965   INT DATAB  OCT          1304 4006     1405 6002                         TAD        VLOAD    000
 1975              OCT          1505 6016     2206 6012                         VXSC       SIGN     002
 1985              OCT          1304 6026     2652 7022                         TLOAD      C GO TO  004
 1995              OCT          1505 6036     1203 6032                         V/SC       DLOAD    006
 2010              OCT          2646 7646     1143 6042                         SSP        SLOAD    010
 2020              OCT          1746 0056     1203 6052                         MXV        PDDL     012
 2035              OCT          2652 7066     1405 6062                         CCALL      PDVL     014
 2045              OCT          2146 4076     1746 0072                         NORM       VXM      016
 2055              OCT          1206 4106     1203 4102                         DDV        DMPR     020
 2065              OCT          1406 0122     1206 4112                         VAD        BDDV     022
 2075              OCT          1406 0132     1406 0126                         BVSU       VSU     024
 2085              OCT          1406 0142     1403 0136                         VXV        DOT     026
 2095              OCT          1206 4152     1406 0146                         DSU        VPROJ     030
 2105              OCT          1206 4162     1206 4156                         DAD        BDSU     032
 2115              OCT          1206 4172     0000 0000                         DMP        BLANK OP 034
 2125              OCT          1066 4316     2146 6176                         SL         SET PD   036
 2135              OCT          2063 5316     1066 4716                         SLR        SR       040
 2145              OCT          4065 0316     3063 5716                         VSL        SRR      042
 2155              OCT          7146 6003     5065 0716                         AXT        VSR      044
 2165              OCT          5146 6023     7146 6013                         LXA        AXC      046
 2175              OCT          5146 6043     5146 6033                         SXA        LXC      050
 2185              OCT          7146 6063     5146 6053                         INCR       XCHX     052
 2195              OCT          5146 6103     3146 6073                         XAD        TIX      054
 2205              OCT          3146 6123     5146 6113                         BZE        XSU      056
 2215              OCT          3146 6133     3152 6127                         BPL        GO TO    060
 2225              OCT          3152 6143     3146 6137                         CALL       BMN      062
 2235              OCT          4142 6153     5146 6147                         RTB        STQ      064
 2245              OCT          0000 0000     3146 6157                         BLANK OP   BHIZ     066
 2255              OCT          3146 6177     4146 6173                         BOV        BOVB     070
 2265              OCT          6652 6763     6646 6763                         SETGO      BONSET   072
 2275              OCT          6046 6163     6646 6763                         SET        BOFSET   074
 2285              OCT          6652 6763     6646 6763                         INVGO      BONINV   076
 2295              OCT          6046 6163     6646 6763                         INVERT     BOFINV   100
 2305              OCT          6652 6763     6646 6763                         CLRGO      BONCLR   102
 2315              OCT          6046 6163     6646 6763                         CLEAR      BOFCLR   104
 2325              OCT          3150 6143     6646 6763                         CALRB      BON      106
 2335              OCT          2650 7066     6646 6763                         CCLRB      BOFF     110
 2345              OCT          0046 4011     0050 6001                         SQRT       EXIT     112
 2355              OCT          0046 4031     0046 4021                         COS        SIN      114
 2365              OCT          0046 4051     0046 4041                         ACOS       ASIN     116
 2375              OCT          0043 4071     0046 4061                         ROUND      DSQ      120
 2385              OCT          0045 4111     0046 4101                         VDEF       DCOMP    122
 2395              OCT          0046 4131     0046 0121                         ABS        UNIT     124
 2405              OCT          0056 6151     0043 0141                         STADR      VSQ      126
 2420              OCT          0046 6171     0052 6161                         PUSH       RVQ      130
 2430              OCT          0043 0131     0046 0101                         ABVAL      VCOMP    132
 2440              OCT          0                                               BLANK OP   BLANK OP 134
 2450              OCT          0                                               BAD        BLANK    136
 2460   SHIFTDAT   OCT          0043 4005      0045 0005                        SCALER SHORT SHIFTS AND ALSO VECTORS

# Page 419
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.  35        PAGE 155

P2475   OTHER EQUALITIES.

 2480   B1M        EQUALS       BIT1M
 2485   B7M        EQUALS       BIT7M
 2490   B17M       EQUALS       BIT17M
 2495   B24M       EQUALS       BIT24M
 2500   B31M       EQUALS       BIT31M
 2505   B32M       EQUALS       BIT32M
 2510   B33M       EQUALS       BIT33M
 2540   B47T48M    EQUALS       THREEM

# Page 420
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.  36        PAGE 156

P2555   INDEX REGISTER USAGE

R2557   X0 = LINE BASE
R2560   X1 = CUSS LIST ADDRESS  (THROUGHOUT PASS 2)
R2565   X2 = BASE OF VARIABLE/CONSTANT FOR BLK 2 PASS 2 BANK 1
R2570   X3 = BASE OF VARIABLE STORAGE FOR GENERAL PASS 2
R2575   X5 = INT ADDR RELATIVE LOC
R2580   X6 = MISCELLANEOUS
R2585   X7 = MONITOR
R25851  OTHER REGISTERS USED ARE AU1, AU2, R1, R2

R2590   BIT ASSIGNMENTS FOR COMMON WHEN OP CODE'S DATA EXTRACTED FROM DATA TABLE
R2595              BITS 42 TO 48     AGC-INT OPCODE +1, NOT NECESSARILY COMPLETE
R2600              BITS 39 TO 41     OP'S 2ND ADDR TYPE, IF ANY
R2605              BITS 37 TO 38     MODE IN REQUIREMENT. 0 = V. 1 = D. 2 = DT.  3 = DON'T CARE.
R2615              BITS 34 TO 36     MODE OUT SETTING. 0 = UNKNOWN, REQUIRE BASIC INST NEXT. 1 = UNKNOWN, REQUIRE INT
R2625                                INST NEXT. 2 = UNKNOWN. 3 = D. 4 = T. 5 = V. 6 = NO CHANGE.
R2635              BIT  33           THIS INST SHOULD BE RH OP OR , IF LH OP, RH OP MUST BE BLANK
R2645              BIT  32           THIS INST IS GENERAL SHIFT
R2650              BIT  31           0 = PUSH UP ALLOWED. 1 = NOT ALLOWED
R2655              BITS 28 TO 30     OPCODE MODE.  0 = UNARY. 1 = S. 2 = D. 3 = T. 4 = V. 5 = VXSC OR V/SC. 6= TWO ADDR
R2665                                SINGLE PRECISION OP. 7 = MATRIX.
R2670              BITS 25 TO 27     OP'S 1ST ADDR TYPE, IF ANY. 0 = NONE. 1 = 14 BIT ADDR. 2 = E ADDR, ARG-CCS. 3 = FUL
R2680                                L 15 BIT ADDR. 4 = FCADR. 5 = E ADDR. 6 = SW ADDRESS. 7 = 15 BIT C TYPE ADDRESS
R2700   BIT ASSIGNMENT FOR INT ADDR USED IN INTERPRETIVE ADDRESS DETERMINATION
R2705              BITS 42 TO 48     AGC-INT OPCODE +1, NOT NECESSARILY COMPLETE
R2710              BITS 28 TO 30     OPCODE MODE. SEE ABOVE
R2715              BIT  31           0 = PUSH UP ALLOWED. 1 = PUSH UP NOT ALLOWED
R2725              BITS 25 TO 27     ADDRESS TYPE
R2730              BIT 24            THIS ADDRESS MUST BE INDEXED
R2735              BIT  7            UPON INSPECTION BY INT AD CHK ROUTINE, X2 USED BY THIS ADDRESS
R2745   FOR GENERAL SHIFTS BITS 25 TO 27 OF INT ADDR HOLD LIMITS DESIGNATION ANDBITS 39 TO 41 HOLD ADDRESS ADDITIVE



 2755   INT OP COD TS           B46B48M       Z,R2          INT OP SET     C    GO SET VARIOUS ESSENTIAL REGISTERS
 2758              SWE,ONESMM   L INT ADDR    16            Z,CSC          C    GO DO E-BANK SETTING CHECK
 2765              TS           CARDM +2      ICOMMON +1    INT AD CHK     C    GO CHECK PREVIOUS ADDRESSES
 2766              NA           STADR         K 127 M       C,+2                JUMP IF STORE CODE NOT EXPECTED
 2767              TX,B33M      ONESM         -             1,24                STORE CODE SHOULD PRECEDE THIS OP PAIR.
 2768              SWE,CHAR1M   B46B48M       4             WORDM               SET UP INT OPCODE FLAG FOR MEMORY MAP
 2785              SWE,B42T48M  HEALTHM       24            STADR               EXTRACT 1ST INT OPCODE STORED BY PASS 1
 2795              TS           L INT ADDR    Z,X5          INT OP COM          MAKE SOME CHECKS ON THIS OPCODE
 2805              EX           ICOMMON       B42T48MM      ADDRESSM            PUT IN AGC WORD BITS 7-1
 2815              SWE,B42T48M  HEALTHM       17            ICOMMON +5          EXTRACT 2ND INT OPCODE
 2825              NA           ICOMMON +5    K137M         C,+2
 2830              TS,B17M      ONESM         1,21          INT WD BOT          BAD OPCODE. BLOT OUT WORD
 2840              NA           ICOMMON +5    K 136 M       INT OP POP
 2845              TS           K 136 M       I COMMON +5   INT OP SUP          2ND OPCODE IS BLANK
 2855   INT OP POP NA, B33M     ICOMMON       ONESM         C,+2
 2860              TS, B1M      ONESM         1,21          C,-2                ERROR IF RH OP IS NOT BLANK, IF REQUIRED
 2862              TX           ICOMMON +5    -             STADR
 2865              TN           CARDM +3      2             ICOMMON             ADDRESS FIELD HOLDS 2ND OPCODE
 2875              TS           K17M          Z,R2          INT OP COM          SET SEARCH FOR 15 CHARS
 2885              SWS,B35T41M  ICOMMON       7,L           ADDRESSM            PUT 2ND OPCODE INTO AGC WORD,BITS 14-8

# Page 421
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.  37        PAGE 157

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

 2910   INT OP COM TS           Z,SH          Z,R1          INT OP PAT
 2935   INT OP APE LA           STADR         K 137M        INT OP SMO          JUMP IF NOT SHORT SHIFT CODE
 2945              LA           STADR         K 157 M       C,+3                JUMP IF SCALER SHIFT
 2955              WD           STADR         K 20 M        STADR
 2960              TS,B25T48M   SHIFTDAT      ICOMMON       C,+2                BRING FORTH VECTOR 24 BIT DATA
 2970              SWE,B25T48M  SHIFTDAT      24            ICOMMON             BRING FORTH SCALER 24 BIT DATA
 2980              WD           STADR         K 140 M       ICOMMON +1
 2985              SWS,ONESMM   ICOMMON +1    3,L           ICOMMON +1
 2990              WA,B42T48M   ICOMMON +1    ICOMMON       ICOMMON             FORM COMPLETE OPCODE
 3000              TS           -             -             INT OP NOT
 30012  INT OP PAT SWE,ONESMM   L GE BASE     16            Z,X6
 30014             SWS,B19T24M  STADR         23,L          C,+1
 30016             TX           6,0           -             ICOMMON +5          GET FULL WORD CONTAINING THIS OP'S DATA
 30018             SSL, ONEM    STADR         0             C,+1
 3002              SWE,ONESMM   ICOMMON +5    24            ICOMMON +5
 30022             SWE,B25T48M  ICOMMON +5    24            ICOMMON +5          SELECT PROPER HALF WORD
 30024             TS           -             -             INT OP TOM          GO SEARCH FOR * OR ,1 ON OPCODE
 3005              TS           ICOMMON       ICOMMON +2    INT AD PEK     C    GO CYCLE 16 CHARS RIGHT ONE CHAR
 3015   INT OP TOM NA,CHAR8M    ICOMMON +1    BLANKSM       C,+2                JUMP ON RIGHT MOST NONBLANK CHAR
 3025              NA           Z,R2,1        ZEROM         C,-2                JUMP IF SEARCH NOT DONE
 3032              TX           ICOMMON +5    -             ICOMMON
 3035              NA,C7T8M     ICOMMON +1    CMA 1 C7T8    C,+2                JUMP IF RIGHT MOST NOT ,1
 3045              WA           B46M          ICOMMON +5    ICOMMON             OPCODE TO BE UPPED FOUR
 3055              NA,CHAR8M    ICOMMON +1    ASTER C8      INT OP APE          JUMP IF RIGHT MOST NOT *
 3057  *           SSL, THREEM  ICOMMON +5    0             C,+1                ONLY CODES ENDING IN 10 CAN TAKE *.
 3059              TS           -             -             INT ERR 8
 3061              TS           -             -             INT ERR 8           JUMP WHEN OPCODE NOT ALLOWED TO INDEX
 3062              NA           K 36 M        STADR         C,+2
 3063              TS           -             -             INT ERR 8           SETPD CAN NOT BE INDEXED
 3065              WA           BXSPEC        ICOMMON +5    ICOMMON             OPCODE INCR BY TWO. B24 SHOWS INDEXING
 3067              TX,B31M      ONESM         -             ICOMMON             DO NOT ALLOW PUSHUP NOW
 3085   INT OP SMO NA,B28T30M   ICOMMON       B28B30M       INT OP NOT          JUMP IF OPMODE NOT VXSC OR V/SC
 3095              LA           MODE OUT      B47M          C,+2                JUMP IF LAST MODEOUT = UNKNOWNS
 3105              LA           MODE OUT      B46M          C,+2                JUMP IF LAST MODE OUT = D OR T
 3115              TS,B28T30M   B29M          ICOMMON       INT OP SAP          SET OPMODE = D
 3125              TS,B28T30M   B28M          ICOMMON       INT OP SAP          SET OPMODE = V
 3135   INT OP NOT LA           MODE OUT      B47M          INT OP MUT          JUMP IF LAST MODE OUT = UNKNOWNS
 3137              SSL,B47T48M  ICOMMON       10            INT OP DUD     C    CHECK PROPER MODE IN
 3145   INT OP SAP LN,B34T36M   ICOMMON       B34T35M       C,+2                JUMP IF NEW MODE OUT = NO CHANGE
 3155              SWE,B46T48M  ICOMMON       12            MODE OUT            UPDATE MODE OUT
 3165              LA,B25T27M   ICOMMON       ZEROM         INT OP NOB          JUMP IF OPCODE EXPECTS NO ADDRESS
 3167              NA,B42T48M   ICOMMON       K 163 M       C,+4                JUMP IF NOT SWITCH TYPE OPCODE
 3170              TX           ICOMMON       -             ICOMMON +5
 3172              WD,B42T48M   STADR         BONSET        ICOMMON +5          DETERMINE OPCODE ADDITIVE
 3174              TS           ICOMMON +5    N,X5,1        C,+2                SAVE DATA FOR ADDR WORD USE
 3175              TX           ICOMMON       -             N,X5,1              SAVE DATA FOR ADDR WORD USE
 3185              NA,B28T30M   ICOMMON       B28T29M       INT OP NOB          JUMP IF ONLY ONE ADDRESS WORD EXPECTED
 3195              TX,B25T48M   ICOMMON       -             5,0                 GIVE DATA TO SECOND ADDRESS
 3205              SWS,B25T27M  5,0           14,L          N,X5,1              SHIFT ADDR TYPE TO CORRECT POSITION
 3211   INT OP NOB TS           -             -             N,R1
 3215   INT OP DUD NA           MODE OUT      B46B48M       INT ERR 4           ERROR IS LAST MODE NOT V
 3225              NA           MODE OUT      B47T48MM      INT ERR 4           ERROR IF LAST MODE NOT D

# Page 422
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.  38        PAGE 158

 3235              NA           MODE OUT      B46M          C,-1           C    ERROR IF LAST MODE OUT NOT DT
 3245              TX           ICOMMON       -             ICOMMON
 3246   INT OP MUT SSL,B47T48M  ICOMMON       10            C,+1                BRANCH BY MODE IN REQUIREMENT
 3247              TS           B46B48M       MODE OUT      INT OP SAP          MODE NOW VECTOR
 3248              TS           B47T48MM      MODE OUT      INT OP SAP          MODE NOW D/T
 3249              TS           B47T48MM      MODE OUT      INT OP SAP
 3250              TS           B48M          MODE OUT      INT OP SAP
 3251   INT OP DOG LA           INT ADDR      ZEROM         INT OP BAR          NO SWEAT IF ALL ADDRESSES IN
 32513             NA,B33M      INT ADDR      ZEROM         INT OP BAR          SAME IF PUSH UP NOT ALLOWED
 3252              TS,B1M       ONESM         1,25          INT OP BAR          ERROR. NEED STADR CODE PREVIOUSLY
 3255   INT OP GOS TS           ZEROM         STORE COM     INT OP SET     C    STORE CODES/ALL ADDR WORDS ENTER HERE
 32555             SWE,ONESMM   L INT ADDR    16            Z,CSC          C    GO DO E-BANK SETTING CHECK
 3256              SWE,CHAR1M   B47T48MM      3             WORDM               SET CONSTANT TYPE FLAG FOR MEMORY MAP
 3260              LA,B28T30M   HEALTHM       B29T30MM      INT AD GO           JUMP TO INTERPRETIVE ADDRESS ROUTINE
 3262              NA           STADR         K 127 M       INT AD DOG          JUMP IF STADR DOES NOT PRECEDE STORE
 3270   INT OP BAR TS           -             -             INT AD CHK     C    CHECK IF ALL REQUIRED ADDR RECEIVED
 3280              TX           B26MM         -             INT ADDR            STORE CODES REQUIRE ARC-CCS E TYPE ADDR
 3285              SWS,B28T30M  MODE OUT      18,L          INT ADDR            LAST MODE OUT IS THIS OP MODE
 3295              WD           INT ADDR      B30M          INT ADDR
 3300              TS           Z,SC          STORE COM     INT AD TUM          GO PROCESS LIKE REG E ADDRESS
 3306              NA           ONESM         ADDRESSM      C,+4                JUMP UNLESS ADDRESS IS VERY BAD.
 33062             TX           LOC M         -             LOC HOLD            CANCEL LOCATION SEQUENCE CHECKS
 3307              TX           ZEROM         -             STORE COM           FLAG FOR BELOW
 3308              TX           ZEROM         -             ADDRESSM            AVOID OVERFLOW TROUBLE
 3310              NA,B24M      INT ADDR      ONESM         C,+4                JUMP IF NO INDEXING
 3320              WA           ADDRESSM      B38M          ADDRESSM            ASSUME X1 USED
 3330              NA,B7M       INT ADDR      ONESM         C,+2                JUMP IF SO
 3340              WA           ADDRESSM      B38M          ADDRESSM            NOW X2 USED
 3346              TX,B1M       ZERO M        -             1,30                REOPEN JUDGEMENT OF OPCODE ASTERISK.
 3350              SSL,B47T48M  HEALTHM       18            C,+1                BRANCH BY STORE CODE TYPE
 3360              TS           ZEROM         INT ADDR      INT OP BAS          STORE CODE
 3370              TS           B47T48MM      MODE OUT      INT OP SDL          SET MODE OUT TO DOUBLE
 3380              TS           B46B48M       MODE OUT      INT OP SVL          SET MODE OUT TO VECTOR
 3390              WA           ADDRESSM      B35T38M       ADDRESSM            CALL ADDITIVE = OCT36000
 3400              TS           B47M          MODE OUT      C,+1                MODE OUT = UNKNOWN.
 3405              SWS,B17M     HEALTHM       6             1,22                INDEXED OPCODE ILLEGAL
 3407              SWS,B17M     INT ADDR      7,L           1,2                 INDEXED ADDRESS ILLEGAL
 3410              NA,B24M      STOCALL       INT ADDR      INT OP BAT           UNKNOWN MODE. A ADDRESS, NO PUSHUP
 3425   INT OP SDL WA           ADDRESSM      B37T38MM      ADDRESSM            DLOAD ADDITIVE = OCT 06000
 3435              TS           STODL         INT ADDR      C,+1                DP MODE. A14 ADDR WITH PUSHUP
 3445   INT OP STL SWS,B24M     HEALTHM       13            INT ADDR            SET INDEX REQ FLAG FOR 2ND ADDR,IF REQ
 3450              SWS,B31M     HEALTHM       20            INT ADDR            IF INDEXING REQ,PUSHUP NOT ALLOWED
 3455              NA,B24M      ONESM         INT ADDR      C,+2                JUMP IF OPCODE NOT INDEXED
 3465              WA           ADDRESSM      B34T48MM      ADDRESSM            LOAD* ADDITIVE = OCT6000
 3475   INT OP BAT NA           STADR         K 127 M       C,+3
 3477              HA           ADDRESSM      B34T48MM      ADDRESSM            COMPLEMENT STORE WORD FOLLOWING STADR
 34772             SWS,B17M     HEALTHM       9             1,30                LOCATION SYMBOL NOT ALLOWED
 34782             LA           STORE COM     ZEROM         INT OP SOU          JUMP ON VERY BAD ADDRESS
 3479              NA,B17M      1,3           ZEROM         C,+2
 3480              TS           ZEROM         STADR         INT WD POT          ERASE STADR MARKER
 3482   INT OP SOU TS           ZEROM         STADR         INT WD NUT          EXIT IF ERASE ADDR BAD
 3485   INT OP SVL WA           ADDRESSM      B35B38M       ADDRESSM            VLOAD ADDITIVE = OCT22000
 3495              TS           STOVL         INT ADDR      INT OP STL          VMODE. A14 ADDRESS WITH PUSHUP

 3501   INT OP BAS SWS,B1M      HEALTHM       10,L          1,30                ASTERISK ON OPCODE ILLEGAL

# Page 423
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.  39        PAGE 159

 3502              TS           -             -             INT OP BAT
 3515   INT OP SET SWE,ONESMM   L B2P2BAS     0             Z,X2           C    BLK2 PASS 2 BLOCK 1 VARIABLE STOR BASE
 3522              TX           B48M          -             INTERP WD      C
 3523              NA           CHECK UP      ZEROM         C,+5           C
 35232             SWE,ONESMM   L B2P2 BAS    32            Z,X3           C
 35234             TX           N,CSC,1       -             N,X3           C
 35236             TX           L POL OP      -             Z,CSC          C    IGNORE A ADDRESS BANK ERROR
 35238             TX           Z,MXR         -             CHECK UP       C
 3535              TX           L GE BASE     -             Z,X3                GENERAL PASS 2 VARIABLE STORAGE ADDRESS

# Page 424
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.  40        PAGE 160

P3536   ROUTINE TO HANDLE INTERPRETIVE ADDRESS WORDS

 3570   INT AD GO  NA           CARDM +3      BLANKS M      C,+3
 3572              NA           CARDM +4      BLANKS M      C,+2
 3574              TX, B17M     ONESM         -             1,11                CUSS POLISH ADDRESS WITH BLANK ADR FLD.
 3576              LA           INT ADDR      ZEROM         INT ERR 20          ERROR IF NO ASSOCIATED OPCODE.
 3610   INT AD TUM TN           CARDM +3      2             ICOMMON             SEARCH ADDR FIELD FOR ,1 OR ,2
 3620              TS           K 20 M        Z,X6          C,+2                16 CHAR SEARCH
 3630              TS           ICOMMON       ICOMMON +2    INT AD PEK     C    CYCLE RIGHT 16 CHARS
 3640              NA,CHAR8M    ICOMMON +1    BLANKSM       INT AD CAT          JUMP ON RIGHT MOST CHAR NON BLANK
 3650              NA           Z,X6,1        B48M          C,-2                JUMP IF SEARCH NOT DONE
 3656   INT AD NOX LA,B25T27M   INT ADDR      B26MM         C,+2
 3658              NA,B32M      INT ADDR      ONESM         INT AD GOT          JUMP IF NOT SUPPOSED TO BE ANY INDEXING
 3660              NA,B24M      INT ADDR      ONESM         INT AD GOT          JUMP IF OPCODE DID NOT REQUEST ANY
 3670              TS,B33M      ONESM         1,26          INT AD GOT          FLAG RIAH CUSS
 3680   INT AD CAT NA,C7T8M     ICOMMON +1    CMA 2 C7T8    C,+2                JUMP IF ADDRESS NOT ENDED BY ,2
 3690              TS,B7M       ONESM         INT ADDR      C,+2                POINTER TO SHOW X2 USED
 3700              NA,C7T8M     ICOMMON +1    CMA 1 C7T8    INT AD NOX          JUMP IF NON INDEXED ADDR
 3704              LA,B25T27M   INT ADDR      B26MM         C,+3                JUMP IF INDEXING ALLOWED.
 3706              NA,B32M      INT ADDR      ZEROM         C,+2                SAME
 3708              TS,B17M      ONESM         1,2           INT AD FOX          ERROR IF NOT ALLOWED
 3710              NA           STORE COM     ZEROM         C,+3                JUMP ON STORE WORD
 3720              NA,B24M      INT ADDR      ZEROM         C,+2                ERROR IF OPCODE DID NOT REQ INDEXING
 3730              TS,B17M      ONESM         1,26          C,+1                FLAG ONIC CUSS
 3740              TX,B24M      ONESM         -             INT ADDR            SET INDEXED ADDR FLAG
 3750   INT AD FOX TS,C7T8M     BLANKSM       ICOMMON +1    C,+2                BLANK OUT INDEXING CHARS OF ADDR
 3760              TS           ICOMMON       ICOMMON +2    INT AD PEK     C    CONTINUE THE RIGHT CYCLE
 3770              NA           Z,X6,1        ZEROM         C,-1                UNTIL FIELD BACK TO ORIGINAL POSITION
 3780              TN           ICOMMON       2             CARDM +3            STORE FIELD WITHOUT INDEX MARKS
 3790   INT AD GOT WD           K 47777 M     K 10000 M     MIN ADR             MOST NEGATIVE ALLOWABLE VALUE (C TYPE).
 3792              TX,B24M      ONESM         -             STADR               SET BRANCH TO INTERPRETIVE
 3795              SWE,ONESMM   L INT ADDR    16            Z,SC                GO TO MAX AD SET
 3810   INT AD PAT NA,B24M      STADR         ZEROM         C,+2                JUMP IF PROCESSING POLISH, NOT BASIC
 3816              TS           -             -             INT WD DOG     C    SPECIAL TRANSFER FROM BANK 1
 3820              TS,B24M      ZEROM         STADR         INT OP SET     C    CANCEL FLAG. RESTORE NECESSARY REGISTERS
 3855              LA           ONESM         ADDRESSM      INT WD SUM          JUMP ON BAD ADDRESS
 3860              SSL,B46T48M  INT ADDR      18            C,+1                BRANCH BY OP MODE TO CHOOSE NUMBER OF
 3870              TS           ZEROM         ADD REV       INT AD PON          WORDS THAT THIS ADDRESS WILL TAKE
 3880              TS           ZEROM         ADD REV       INT AD PON
 3885              TS           B48M          ADD REV       INT AD PON
 3890              TS           B47M          ADD REV       INT AD PON
 3895              TS           B46B48M       ADD REV       INT AD PON
 3900              TS           ZEROM         ADD REV       INT AD PON
 3905              TS           ZEROM         ADD REV       INT AD PON
 3910              TS           B44B48M       ADD REV       INT AD PON
 3915   INT AD PON NA,B32M      INT ADDR      ZEROM         INT AD SIR          JUMP IF ADDR FOR GENERAL SHIFT INST
 3925              SSL,B46T48M  INT ADDR      21            C,+1                BRANCH BY NON-ZERO ADDRESS TYPE
 3932              TS           -             -             INT ERR 20
 3935              TS           B46M          ICOMMON       INT AD A14          14 BIT ADDRESS,ARC-CCS FASHION
 3945              TS           B47M          ICOMMON       INT AD A14          E ADDRESS, ARC-CCS FASHION
 3955              TS           B48M          ICOMMON       INT AD A14          15 BIT ADDRESS
 3965              TS           -             -             INT AD F            FIXED 15 BIT ADDR
 3975              TS           ZEROM         ICOMMON       INT AD A14          E ADDRESS
 3981              TS           -             -             INT AD SW           SWITCH BIT NUMBER.
 3982              LN           ZERO M        ADDR WDM      C,+2                JUMP IF ADDRESS IS POSITIVE.

# Page 425
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.  41        PAGE 161

 39825             TS, B7M      ONES M        INT ADDR      PLAIN C             FAKE UP AN X2 FLAG FOR NEGATIVE OPERAND.
 3983              LA           K 20000 M     ADDRESS M     INT AD F +1         JUMP IF WOULD BE AN ADDR IN FIXED BANKS.
 39833             LA           B37M          ADDRESS M     PLAIN C
 39836             TS           ZERO M        I COMMON      INT AD A14 +3       MUST REDUCE IF IN E-BANK (SIGH).
 3984   PLAIN C    TS           ZERO M        I COMMON      INT AD OAF          OTHERWISE USE NUMBER AS IS.

 3985   INT AD SW  LN           ADDR WDM      B48M          INT ERR 41          ERROR IF ADDR LESS THAN ZERO
 3995              LA           K360M         ADDRESSM      INT ERR 41          ERROR IF ADDR OVER 239.
 4005              TS           -             -             C,+2
 4010              WA           ADDRESSM      K 361 M       ADDRESSM            ADD OCT400. SUBTRACT OCT17
 4020              LA,B41T48M   K 17 M        ADDRESSM      C,-1                JUMP IF SWITCH ADDR NOT FORMULATED
 4040              SWS,B41T44M  INT ADDR      4,L           ADDRESSM            INSERT OPCODE ADDITIVE
 4050              TS           -             -             INT AD A10          FINISH UP ELSEWHERE
 4060   INT AD F   LN           ADDR WDM      MB36T48M      INT ERR 41          F TYPE ADDR CANNOT BE LESS THAN 20000
 4070              LA           B2MAXP1       ADDRESSM      INT ERR 41          NOR GREATER THAN BLK2 ADDRESS MAX
 4080              TS           ZEROM         ICOMMON       INT AD MAR -1
 4085   INT AD PEK TX,CHAR8M    ICOMMON +1    -             ICOMMON        C    FOUR INSTRUCTIONS TO FINISH CYCLING
 4087              TX,CHAR8M    ICOMMON +2    -             ICOMMON +1     C    RIGHT  16 CHAR 1 CHAR
 4090              SWE,ONESMM   ICOMMON       6             ICOMMON        C
 4095              SWE,ONESMM   ICOMMON +1    6             ICOMMON +1
R4105   NEXT ROUTINE CHECKS TO SEE IF ALL ADDRESSES FOR THE PREVIOUS OPCODE PAIR HAVE BEEN RECEIVED.
R4115   IF BIT 31 OF INT ADDR(X) = 1, AN EXPECTED ADDRESS HAS NOT BEEN PROCESSED.
 4116   INT AD MOD NA           B48M          MODE OUT      C,+2           C
 4117              TS,B1M       ONESM         1,29          C,+2           C
 4118              LA           B47T48MM      MODE OUT      C,-1           C
 4120              TX           B47M          -             MODE OUT       C    MODE OUT = UNKNOWN.
 4125              TS           LOC M         LOC HOLD      C,+4           C    RESET POLISH LOC COUNTER
 4135   INT AD CHK NA           LOC HOLD      LOC M         INT AD MOD     C    JUMP IF POLISH STRING BROKEN
 4145              NA           MODE OUT      ZEROM         C,+2           C    JUMP IF POLISH INST EXPECTED
 4155              TS,B1M       ONESM         1,24          C,-4           C    FLAG INXH CUSS
 4165              NA,B31M      INT ADDR      ZEROM         INT AD SOB     C    JUMP IF ANY OF FOUR ADDRESSES ACTIVE
 4175              NA,B31M      INT ADDR +1   ZEROM         INT AD SOB     C    AND PUSHUP NOT ALLOWED
 4185              NA,B31M      INT ADDR +2   ZEROM         INT AD SOB     C
 4195              NA,B31M      INT ADDR +3   ZEROM         INT AD SOB     C
 4205              TX           ZEROM         -             INT ADDR       C
 4210              TN           INT ADDR      4             INT ADDR +1         ZERO ALL ADDRESS DATA HOLDERS
 4212   INT AD SOB TS,B17M      ONESM         1,24          C,-2           C    POLISH ADDRESS(ES) MISSING ERROR. IMAS
 4215   INT AD SIR NA,B24M      INT ADDR      ONESM         C,+2                JUMP IF ADDRESS NOT INDEXED
 4225              TX,B25T27M   ZEROM         -             INT ADDR
 4227              EX           INT ADDR      B39T41M       ICOMMON             EXTRACT GENERAL SHIFT OPCODE ADDITIVE
 4230              SSL,B45T47M  INT ADDR      20            C,+3           C    BRANCH BY ADDRESS LIMITS TYPE
 4235              BS           ADDR WDM      ICOMMON       ADDRESSM            INSERT ADDITIVE PORTION
 4245              TS           -             -             INT AD A12
 4260              LA           K 200 M       ADDRESSM      INT ERR 41          LIMITS =-177 TO +177 OCTAL FOR INDEXED
 4270   K16MPLUS   OCT          +16
 4280              LA           K52M          ADDRESSM      INT ERR 41          LIMITS = -51 TO +51 OCTQL FOR SL AND SR
 4282   K34MPLUS   OCT          +34
 4285              LN           ADDR WDM      K 35 M        INT ERR 40     C    LIMITS = -34 TO +15 OCTAL FOR SLR
 4295              LN           K16MPLUS      ADDR WDM      INT ERR 41
 4300              LN           ADDR WDM      K 16 M        INT ERR 40     C    LIMITS = -15 TO +34 OCTAL FOR SRR
 4305              LA           K 35 M        ADDRESSM      INT ERR 41
 4310              LN           ADDR WDM      K 35 M        INT ERR 40     C    LIMITS = -34 TO +33 FOR VSL
 4320              LN           K34MPLUS      ADDR WDM      INT ERR 41
 4325              LN           ADDR WDM      K 34 M        INT ERR 40     C    LIMITS = -33 TO +34 VSR
 4335              LA           K 35 M        ADDRESSM      INT ERR 41

# Page 426
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.  42        PAGE 162

 4340   INT AD COT WA           ADDREV        B40M          ADD REV             ADD256 TO LOOK LIKE BOUNDARY CHECK
 4345              TS           -             -             INT AD OAF
 4350   INT AD STO TX           STORE COM     -             Z,SC
 4355   INT AD A14 LN           ADDR WDM      B48M          INT ERR 21          BOTTOM LIMIT IS ZERO
 4365              LA           ADDRESSM      K 52 M        INT AD ACE          JUMP IF ADDRESS IN BUFFER
 4375              LA           ADDRESSM      B43T48M       INT ERR 21          ERROR IF IN 53 TO 77 OCTAL RANGE
 4385              LA           ADDRESSM      K 1377 M      INT AD COT          JUMP IF IN 100 TO 1377 OCTAL RANGE
 4395              LA           B37M          ADDRESSM      INT AD A6           JUMP IF 4000 OCTAL OR OVER. MAYBE FIXED
 4410              NA,EBANKMSK  ADDRESSM      E BNK REGM    C,+2                JUMP IF ADDR NOT IN REQ E-BANK
 4415              TS,EBANKMSK  B39T40M       ADDRESSM      INT AD OAF          CHANGE ADDR TO 1400-1777 RANGE
 4440              SWE,ONESMM   L B2P2BAS     16            Z,CSC          C    GO TO CUSS BANK
 4450              SWS,ACO5     ADDR WDM      10,L          6,2
 4455              TS,CHAR4M    E CHAR 4M     6,2           C,-3                PUT E BANK NUMBER IN BANK ERROR CUSS
 4465   INT AD A6  LA           ICOMMON       ZEROM         INT ERR 41          ERROR IF ADDR E TYPE
 4470              LA           ICOMMON       B48M          INT AD F            JUMP IF 15 BIT A TYPE ADDR
 4475              LA           ICOMMON       B47M          INT ERR 41          ERROR IF ADDR ARC-CCS E TYPE
 4485              LA           LOCM          I LOW HALF    C,+4                JUMP IF INT INST LOC IN MEMORY LOW HALF
 4495              LA           ADDRESSM      K51777M       INT ERR 41          ERROR IF ADDRESS OUTSIDE 52000-167777.
 4505              LA           B2MAXP1       ADDRESSM      INT ERR 41
 4510              TS           K 37777       I COMMON +2   INT AD MAR          CHOP TO 14 BITS
 4520              LA           ADDRESSM      K17777M       INT ERR 41          ERROR IF ADDRESS OUTSIDE 20000-47776
 4530              LA           K47777M       ADDRESSM      INT ERR 41
 4533              TX           B34T48MM      -             ICOMMON +2
 4535   INT AD MAR WD           ADDRESSM      K 10000 M     ADDRESSM            CHANGE TO FCADR TYPE FORMAT
 4541              LA           ADDRESSM      M 57777       INT AD OAF -1       BRANCH IF ADDRESS ISN'T IN A SUPER-BANK.
 45412             LA, B33T35M  SBNK REGM     ZEROM         C,+2                BRANCH IF THERE IS NO SUPERBANK SETTING.
 45414             NA, B33T35M  ADDRESSM      SBNK REGM     SBNK CUSM           BRANCH TO CUSS SUPERBANK ERROR.
 4543              TS, B33T35M  I COMMON +2   ADDRESSM      INT AD OAF          REDUCE SUPER-BANKS.
 4544              EX           ADDRESS M     I COMMON +2   ADDRESSM
 4545   INT AD OAF NA,B24M      INT ADDR      ZEROM         INT AD A15          HOPE INDEXING WILL RIGHT A WRONG IF ANY
 4555              EX           ADDRESSM      K 1777 M      ICOMMON +2          CHECKING CROSSING BANK BOUNDARIES NOW
 4565              WA           I COMMON +2   ADD REV       ADD REV
 4570              LA           K 2000 M      ADD REV       INT ERR 25          JUMP IF BOUNDARY CROSSED BY ADDR'S WORDS
 4580   INT AD A15 LA           ICOMMON       B48M          INT AD DUN          JUMP IF NOT USING ARC-CCS FORM
 4590   INT AD A12 WA           ADDRESSM      B48M          ADDRESSM            CHANGE TO ARC-CCS TYPE FORM
 4600   INT AD DUN NA           STORE COM     ZEROM         INT AD STO          RETURN TO STORE ROUTINE
 4610              NA,B7M       INT ADDR      ONESM         C,+2                JUMP IF X2 NOT USED
 4620              HA           ADDRESSM      B34T48MM      ADDRESSM            COMPLEMENT IF X2 USED
 4630   INT AD A10 TN           INT ADDR +1   4             INT ADDR            ADVANCE ADDR DATA WORDS OR ZEROES
 4640   INT WD POT NA           LOC M         LOC HOLD      INT ERR 33          ERROR IF NON POLISH WORD APPEARED
 4646   INT WD RUN LA           ONES M        LOC HOLD      INT ERR 33 -1
 4650              WA           LOC HOLD      B48M          LOC HOLD            INCREMENT POLISH COUNT
 4660   INT WD HAT SWS,CHAR8M   ADDRESSM      12            LINEM +5            PROCEED TO PLACE AGC WORD ON PRINT LINE
 4665   INT WD TOS TS,C1T4M     ZEROM         LINEM +6      INT WD 117     C
 4670              SWS,ACO1     ADDRESSM      33,L          LINEM +6
 4675   INT WD BAD SWS,ACO2     ADDRESSM      30,L          LINEM +6
 4680              SWS,ACO3     ADDRESSM      27,L          LINEM +6
 4685              SWS,ACO4     ADDRESSM      24,L          LINEM +6
 4687              SS           ADDRESSM      B34T48MM      WORDM               15 BIT AGC WORD IN WITH MEMORY MAP CHAR
 4690   INT WD RET TX           LBCCHECK      -             Z,SC                RETURN AT BC CHECK

 46952  SBNK CUSM  TX           ADDRESSM      -             ADDR WDM
 46954             SWE, CAC3M   LB2P2 BAS     16            Z,SC                USE GENERAL SUPERBANK CUSSING ROUTINE.

 4696   INT WD SUM NA           STORE COM     ZEROM         INT AD STO

# Page 427
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.  43        PAGE 163

 4700              TN           INT ADDR +1   4             INT ADDR            ADVANCE ADDRESSES
 4706   INT WD NUT NA           LOC HOLD      LOC M         INT ERR 33          ERROR IF NON POLISH WORD APPEARED
 47072  INT WD BOT LA           ONES M        LOC HOLD      INT ERR 33 -1       BRANCH IF LOC CTR HAS BAD VALUE.
 4708              WA           LOC HOLD      B48M          LOC HOLD            INCREMENT POLISH LOCATION COUNTER
 4710              TX,C1T4M     BLOTM         -             LINEM +6            BLOT 5 CHARACTERS
 4720              TS,CHAR8M    BLOTM         LINEM +5      INT WD 117     C
 4725              SWE,ONESMM   L BCCHECK     16            Z,SC                RETURN AT NAUGHTY
 4740   INT AD ACE NA,B24M      INT ADDR      ZEROM         INT AD A15          HOPE INDEXING WILL RIGHT WRONG IF ANY
 4750              WA           ADDRESSM      ADD REV       ADD REV
 4755              LA           ADD REV       K 52 M        INT AD A15          JUMP IF BUFFER BOUNDARY NOT EXCEEDED
 4765   INT ERR 25 TS,B1M       ONESM         1,27          INT AD A15          FLAG CBBB FLAG
 4775   INT ERR 4  TX           Z,R1          -             ICOMMON +4
 4777              LA, CAC3M    ICOMMON +4    L INT OPPP    C,+2
 4779              TS,B33M      ONESM         1,25          INT OP MUT          FLAG RIGHT OP MODE OUT/IN MISMATCH. MIMO
 4781              TS,B17M      ONESM         1,25          INT OP MUT          FLAG LEFT OP MODE OUT/IN MISMATCH. ROP2
 4795   INT ERR 8  TX           Z,R1          -             ICOMMON +4
 4796              LA, CAC3M    ICOMMON +4    L INT OPPP    C,+2
 4800              TS,B33M      ONESM         1,22          INT OP APE          RIGHT OPCODE ILLEGALLY INDEXED. IXP2
 4810              TS,B17M      ONESM         1,22          INT OP APE          LEFT OPCODE ILLEGALLY INDEXED. IXP2
 4820   INT ERR 20 TS,B1M       ONESM         1,26          INT WD SUM          NO OPCODE FOR THIS ADDRESS. ANAO
 4830   INT ERR 21 TX           Z,SH          -             Z,R1
 4835              NA,B24M      INT ADDR      ONESM         INT ERR 41          JUMP IF NOT INDEXED
 4845              LN           ZEROM         ADDR WDM      N,R1                JUMP IF ADDRESS POSITIVE
 4855              TS,B33M      ONESM         1,27          C,+2                CANNOT HANDLE NEG ADDR WITH INDEXING.
 4865   INT ERR 41 TS,B17M      ONESM         1,3           C,+1                BAD RANGE FOR ADDR. ASIZ
 4872              LA           B2 MAXP1      ADDRESS M     INT WD SUM          BRANCH IF ADDRESS IS UNPRINTABLE.
 4875              SWE,ONESMM   L PRB ADR     0             Z,CSC          C    GO TELL MAN WHAT ADDR VALUE IS
 4880              LN           ZEROM         ADDR WDM      INT WD SUM
 4882              TS           W NEGATIV     4,1           INT WD SUM          IF NEGATIVE ADDR, JUST SAY SO INSTEAD
 4891              TX           Z,SH,1        -             -
 4895   INT ERR 33 TX           LOC M         -             LOC HOLD            RESET INT LOCATION COUNTER
 4905              TX,B17M      ONESM         -             1,27                FLAG IAOS CUSS
 4915              TX           Z,SH          -             Z,SC
 4916   INT ERR 40 TS           -             -             INT ERR 41
 4930   INT WD 117 NA,CHAR1M    CARDM         BLANKSM       C,+3           C    COLUMN 1 MUST BE BLANK
 4940              NA,CHAR1M    CARDM +2      BLANKSM       C,+2           C
 4950              TX           -             -             -                   COLUMN 17 MUST BE BLANK
 4960              TX,B33M      ONESM         -             1,28

# Page 428
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.  44        PAGE 164

P4980   PROCEDURE TO  LET BASIC CHECK UP ON POLISH EXPECTATIONS

 4982   INT WD DOG TX           L GE BASE     -             Z,X3           C    GENERAL PASS 2 VARIABLE STORAGE ADDR
 4984              TX           Z,MXR         -             PASS2 MXR      C    SWITCH MXRS
 4986              TX           CHECK UP      -             Z,MXR          C
 4987              LA           ONES M        LOC M         INT WD MUS     C    BRANCH IF LOCATION IS BAD.
 4989              NA           INTERP WD     ZEROM         INT WD NOT     C    JUMP IF LAST WORD WAS POLISH
 4991              NA,B25T27M   ONESM         INT ADDR      INT WD NAT     C    JUMP IF C TYPE ADDRESS NOT EXPECTED
 4993   INT WD SHO TN           INT ADDR +1   4             INT ADDR       C
 4994              NA           LOC HOLD      LOC M         INT WD FOS     C    JUMP IF POLISH SEQUENCE BROKEN
 4996   INT WD SOT LA           ONES M        LOC HOLD      C,+2           C
 4997              WA           LOC HOLD      B48 M         LOC HOLD       C    INCREMENT POLISH LOCATION COUNTER
 4999   INT WD NOT SWE,ONESMM   L B2P2 BAS    32            Z,X4           C    ADDR OF *SENDWORD*
 5001              TX           PASS2 MXR     -             Z,MXR          C    RESTORE MASKS
 5003              TS           ZEROM         INTERP WD     4,1            C    ZERO POLISH WORD FLAG AND EXIT
 5005   INT WD NAT LA           INT ADDR      ZEROM         INT WD ZAP     C    JUMP IF NO POLISH ADDR EXPECTED
 5007              NA,B31M      INT ADDR      ZEROM         INT WD TOM     C    JUMP IF PUSHUP NOT ALLOWED
 5009              NA           B48M          MODE OUT      C,+2           C
 5010   INT WD TOM TS,B33M      ONESM         1,29          INT WD SHO     C    CALL POLISH ADDR EXPECTED ERROR
 5012              LA           B47T48MM      MODE OUT      C,-1           C    JUMP IF POLISH WORD REQUIRED HERE
 5014              NA,B34M      WORD M        ZERO M        INT WD SHO     C    JUMP IF WORD IS NEGATIVE
 5016              TS,B17M      ONESM         1,29          INT WD SHO     C    ERROR. PUSHUP REQUIRES NEG WORD HERE
 5018   INT WD ZAP NA           B48M          MODE OUT      C,+2           C
 5019   INT WD FOS TS,B1M       ONESM         1,29          C,+2           C    ERROR. PREVIOUS EQUATION UNFINISHED
 5021              LA           B47T48MM      MODE OUT      C,-1           C    JUMP IF POLISH WORD EXPECTED HERE.
 5023              TS           B47M          MODE OUT      INT WD SOT     C    SET INTERPRETER TO UNKNOWN OUT MODE
 5025   INT WD MUS LA           ONES M        LOC HOLD      C,+2           C
 5026              WA           LOC HOLD      B48M          LOC HOLD       C    CAN'T TELL ANYTHING IF LOCATION IS BAD.
 5028              TX           PASS2 MXR     -             Z,MXR          C    RESTORE MXR. ZERO POLISH WORD FLAG.
 5030              TS           ZEROM         INTERP WD     N,SC,1         C    EXIT USING SENDWORD BRACH
 5032   INT PATCH  RESERVE      9
 5033              OCT          0

# Page 429
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.  45        PAGE 165

P5034   PROCEDURE TO EVALUATE BNKSUM CONSTANTS.  THE ADDRESS FIELD SHOULD GIVE A BANK NUMBER OR AN ADDRESS WITHIN A
R5036   FIXED BANK.  NORMALLY, THIS PROCEDURE PLACES TWO ADRES-SELF WORDS INTO THE NAMED OR IMPLIED BANK, STARTING AT
R5038   THE FIRST UNUSED WORD IN THE BANK (THE BANK SHOULD BE EMPTY FROM THAT POINT ONWARD).  HOWEVER, IF THE FIRST HOLE
R5040   OCCURS LATER THAN RELATIVE 3775, THE WORDS GO INTO 3775 AND 3776 WITH A CONFLICT CUSS.  IF THE BANK IS EMPTY,
R5042   IT WILL RECEIVE THESE WORDS ONLY IF THERE IS A HIGHER OCCUPIED BANK.

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

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

 5066   DO BNK SUM SWE, ONESMM  ADDRESS M     5             I COMMON
 5067              WA           M AV TABLE    I COMMON      Z,AU1               POINT TO FIRST AVAIL WORD FOR HIGH BANK.
 5069              TS           Z,AU1,31      Z,X6          C,+3                ALSO POINT TO LAST POSSIBLE AVAIL WORD.
 5071              WA           ADDRESS M     OCT 40 M      ADDRESS M
 5072              LA           Z,AU1         Z,X6          FOUND HOL +2        BRANCH IF ABOUT TO DO LAST POSS. AV WD.
 5074              LA           N,X6,1        CAC3          C,-2                FIND AN AVAIL WORD WITH A HOLE.
 5076   FOUND HOL  WD           Z,X6          ONE           Z,X6
 5077              TS           BIT 1         AV MSK        FIND AVWD           GOT ONE. NOW GO FIND THE HOLE.

 5079              LA           B30M          N,X6          FOUND HOL +1        BNKSUM MUST GO NO LATER THAN WORD 3775
 5081              SM           HEALTH M      BIT 16        HEALTH M            OF THE BANK, SO TOO BAD IF IT CONFLICTS.
 5083              TS, B29T30M  B30M          6,0           FOUND HOL +1

# Page 430
#      @YUL SYSTEM ASSEMBLER BLK2 PASS 2                                         USER'S OWN PAGE NO.  46        PAGE 166

P5084   FIND FIRST HOLE IN BANK FOR BNKSUM, OR FORCE ONE AT 3775.

 5085              MASKGRP      S,0           F,0

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

 5092              TS, AV MSK   ZERO M        6,0           FIND AV WD +2  C    GET SET TO LOOK AT WORD FOR 2ND TC SELF.
 5094              LA           CAC3          AV MSK        C,+2
 5095              SWE, BIT 1   Z,X6,1        32,L          AV MSK              ADVANCE TO NEXT AVAIL WD IF NECESSARY.
 5097              NA, AV MSK   6,0           ZERO M        C,+2
 5098              SM           HEALTH M      BIT 16        HEALTH M            PLANT CONFLICT BIT FOR SECOND WORD.
 5100              SS           ZERO M        AV MSK        N,X6                BOTH WORDS ARE NOW SHOWN OCCUPIED.
 5102              SWE, CAC3    I TYP TAB     16            Z,X6
 5103              LA, CAC3     ADDRESS M     6,0           C,+2                BRANCH WHEN MEMORY TYPE IS FOUND.
 5105              TS           Z,X6,1        -             C,-1
 5106              SWE, ONES    B28T30        3,L           AV MSK
 5107              NA, AV MSK   6,0           B26MM         C,+2                BRANCH IF 1ST ADDRESS IS NOT IN FIXED.
 5109              NA, CAC3     ADDRESS M     6,0           C,+2                BRANCH IF SECOND WORD IS IN FIXED TOO.
 5111              SM           HEALTH M      BIT 15        HEALTH M            SET WRONG-MEMORY-TYPE FLAG.
 5113              SS           ADDRESS M     CAC3          HEALTH M            IMITATE THE ACTION OF PASS 1 FOR A CON.
 5115   BKSUM LOC  SS           ZERO M        BIT 8         HEALTH M            CLEAR SYMBOLIC-LOCATION FLAG.
 5117              SWE, ONES    B47T48MM      3             WORD M
 5118              SWE, CAC3    L INSTRNT     16            Z,X6
 5119              TS           Z,SC          Z,X4          6,2                 NOW DO LOCATION VALUE PROCESSING.
 5121              TX           ADDRESS M     -             ADDR WDM            DISTRIBUTE ADDRESS.
 5123              SWE, CAC3    I BLK2 MXR    32            Z,MXR

 5124              MASKGRP      S,1           F,1

 5125              NA           LOC M         ONES          C,+2
 5126              SWE, CAC3M   I BAD BASC    32            Z,SC                EXIT NOW IF LOCATION IS BAD.
 5128              LA           ADDRESS M     OCT 7777      C,+3                BRANCH IF IN FIXED FIXED.
 5130              TX, BANKMASK OCT 2000      -             ADDR WD M           CONVERT BANK NOTATION.
 5132              WD           ADDRESS M     OCT 10000     ADDRESS M
 5133              WA           ADDR WDM      ONE           2ND HALF M          FORM SECOND TC SELF WORD.
 5135              SM           ADDR WDM      BIT 1         ADDR WDM
 5136              SWE, CAC3M   L PRIN 2PA    32            Z,SC                MAKE ADR WD POSITIVE AND GO PRINT WORDS.
back to top