https://github.com/virtualagc/virtualagc
Tip revision: 423a21ddaa1c3867372b485f068aa79e2302f769 authored by Mike Stewart on 05 September 2018, 06:04:25 UTC
Luminary130: Updated file headers and changelogs
Luminary130: Updated file headers and changelogs
Tip revision: 423a21d
YUL_SYSTEM_ASSEMBLER__AGC_PASS_2.argus
# Copyright: Public domain.
# Filename: YUL_SYSTEM_ASSEMBLER__AGC_PASS_2.mitigus
# Purpose: Part of the source code for YUL (revision 9).
# Assembler: TBD
# Contact: Jim Lawton <jim.lawton@gmail.com>
# Website: https://www.ibiblio.org/apollo/index.html
# Page scans: https://archive.org/details/yulsystemsourcec00hugh
# Pages: 431-478
# Mod history: 2016-10-06 JL Created.
# 2016-12-27 JL Fixed header page numbers.
# 2016-12-27 JL Transcribed pages 431-444.
# 2016-12-28 JL Transcribed pages 445-478.
# Annotations:
#
# B L A I R - S M I T H
# Y U L S Y S T E M
#
# Listings in
# MITIGUS Format
#
# Note: Page numbers are scan page numbers rather than listing.
L @YUL SYSTEM ASSEMBLER AGC PASS 2
# Page 431
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 1 PAGE 167
R0001 WE ARE DEEPLY INDEBTED TO THE ONE, THE ONLY, THE GREAT JOHN SHAW FOR THE FOLLOWING STRONG MAGIC....
R0003 JSOCTL
R0004 THE AGC PART OF PASS 2 CONTAINS THE CUSS LIST AND CUSSES FOR AGC, TOGETHER WITH CODING TO PLANT A
R0006 MODIFIED CUSS LIST AT THE BEGINNING OF BANK 2, AND CODING TO PROCESS INSTRUCTIONS AND CLERICAL CODES FOR AGC.
R0008 THE CUSS LIST AND CUSSES ARE LOADED INTO BANK 5 ALONG WITH CODING TO CONVERT THE CUSS LIST FROM THE
R0010 FOLLOWING MIXED-CONSTANT FORMAT:
R0011 OP CODE: FOR EACH OF 3 CUSSES, A POISON BIT AND A 3-BIT CUSS LENGTH.
R0012 A ADDRESS: DEMAND BIT AND SUBADDRESS OF CUSS 1,
R0013 B ADDRESS: DEMAND BIT AND SUBADDRESS OF CUSS 2,
R0014 C ADDRESS: DEMAND BIT AND SUBADDRESS OF CUSS 3
R0015 TO A CAC-WORD FORMAT IN WHICH EACH CAC CONTAINS THE DEMAND BIT, POISON BIT, LENGTH AND SUBADDRESS OF A CUSS.
R0017 THE CONVERSION IS REQUIRED ONLY TO MAKE USE OF EXISTING MASKS IN GENERAL PASS 2.
R0019 THE PROCESSING CODING IN THE BANK 1 PORTION OF AGC PASS 2 HAS THE FOLLOWING FUNCTIONS:
R0021 1) FOR ALL WORDS, TO SET IN PRINT THE WORD AND ITS LOCATION, AND MARK BLOCK OR BANK END IF APPROPRIATE.
R0023 2) FOR INSTRUCTIONS, TO TRANSLATE THE ADDRESS FIELD AND REDUCE IT IF ITS VALUE IS IN ONE OF THE BANKS
R0025 00-67 OR ONE OF THE E-BANKS E3-E7, NOTING BANK ERROR IF APPROPRIATE. SUPPLY IMPLIED ADDRESS IF REQUIRED. CUSS
R0027 POLISH INDEXING IF IT IS SPECIFIED.
R0028 FOR BASIC INSTRUCTIONS, CHECK THAT LIMITED-ACCESS CODES REFER ONLY TO THEIR SPECIFIED MEMORIES, EX-
R0030 CEPT THAT CODES REFERRING ONLY TO FIXED MEMORY MAY HAVE ADDRESSES IN THE RANGE 0-1777 IF PRECEDED BY "INDEX",
R0032 AND CODES REFERRING ONLY TO ERASABLE MEMORY MAY HAVE ADDRESSES IN THE RANGE 4000-11777 IF PRECEDED BY "INDEX".
R0034 CHECK THAT EXTRACODES ARE EXTENDED AND THAT BASIC CODES ARE NOT, AND FLAG "ADRES", "REMADR", "CADR" OR "FCADR",
R0036 "GENADR", "ECADR", "BBCON", "2FCADR", AND "2CADR" OR "2BCADR" AS CONSTANTS. FLAG UNINDEXED INSTRUCTIONS THAT
R0038 REFER TO FIXED MEMORY. EVALUATE AND ASSIGN MEMORY TO BNKSUM CONSTANTS.
R0039 3) FOR CONSTANTS, TO FLAG THEM AS SUCH AND CHECK ON MAGNITUDE.
R0040 4) FOR SETLOC, EQUALS, MEMORY, BLOCK, BANK, EBANK=, SBANK=, SUBRO, ERASE, PRINT APPROPRIATE ADDRESSES.
# Page 432
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 2 PAGE 168
P0042 QUANTITIES FILLED IN BY THE AGC PART OF PASS 2 FOR REFERENCE BY GENERAL PASS 2.
0044 SETLOC,2 SIZ PASS 2 B1
0045 MASKGRP,4 S,1 F,1
0046 AG PROC OP CAC AGC INST AGC 1P AGC PREL
0047 AG D1 PARS FLDEC 16383.0, 16384.0
0048 FXBIN -16383
0049 AG K1 MAX OCT -77777
0050 AG D2 PARS FLDEC 268 435 455.0, 268 435 456.0
0051 FXBIN -268 435 455
0052 AG PROC 2P CAC AGC 2P AGC PLEB ADRES ADR
0053 AG K2 MAX OCT -77 7777 7777
0054 AG MAX LOC OCT -167777
0055 AG CON MSX OCT -77, 7777 7777
0056 AG PRET FL OCT 0000 0010
0057 AG FLG MSK OCT 7400 0077
0058 AG CONS FL OCT 0000 0020
0059 AGC MXR MASKBASE S,1 F,1
0060 AG MISC FL OCT 0000 0030
# Page 433
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 3 PAGE 169
P0061 FIELD AND SHIFT MASKS FOR AGC PART OF PASS 2.
0062 SETLOC,4 768 B5
0063 B,BIT1M OCT 4
0064 B,BIT6M OCT 01
0065 B,BIT7M OCT 004
0066 B,BIT17M DEC 00008
0067 B,BIT24M OCT 0000 0001
0068 B,BIT26M OCT -2000 0000
0069 B,BIT27M OCT -1000 0000
0070 B,BIT31M OCT -40 0000
0071 B,BIT32M OCT -20 0000
0072 B,BIT33M OCT -10 0000
0073 B,BIT39M OCT -1000
0074 B,B33T35M OCT -160000
0075 B,B6T7M OCT 014
0076 B,B25T27M OCT -7000 0000
0077 B,B28T30M OCT -700 0000
0078 B,B29T30M OCT -300 0000
0079 B,B34T36M OCT -7 0000
0080 B,B33T38M OCT -17 6000
0081 B,B34T48M OCT -77777
0082 B,B39T48M OCT -1777
0083 B,B41T48M OCT -377
0084 B,ACO8 OCT -7
0085 B,CHAR1M OCT 77
0086 B,CHAR4M OCT 0000 0077
0087 B,CAC3M OCT -177777
0088 B,CHAR8M OCT -77
0089 B,C1T4M OCT 7777 7777
0090 B,BANKMASK OCT -3400
0091 B,B42T48M OCT -177
0092 B,C7T8M OCT -7777
0093 B,B34M OCT -40000
0094 B,B25T48M DEC -GGGGGG
# Page 434
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 4 PAGE 170
P0095 FURTHER SHIFT MASKS FOR AGC PART OF PASS 2.
0096 S,BIT2M OCT 2
0097 S,BIT28M OCT -400 0000
0098 S,ONEM OCT -1
0099 S,TWOM OCT -2
0100 S,FOURM OCT -4
0101 S,B2T5M OCT 36
0102 S,B6T16M OCT 0177 74
0103 S,B18T21M OCT 0000 017
0104 S,B22T32M OCT -7 7760 0000
0105 S,B34T37M OCT -7 4000
0106 S,B35T48M OCT -3 7777
0107 S,B37T38M OCT -6000
0108 S,B38T48M OCT -3777
0109 S,ACO1 OCT 07
0110 S,ACO2 OCT 0007
0111 S,ACO3 OCT 0000 07
0112 S,ACO4 OCT 0000 0007
0113 S,ACO7 OCT -700
0114 S,THREEM OCT -3
0115 S,CHAR2M OCT 0077
0116 S,CHAR3M OCT 0000 77
0117 S,CHAR6M OCT -77 0000
0118 S,CHAR7M OCT -7700
0119 S,C3T6M OCT 0000 7777 7777
0120 S,ONESMM DEC GGGG GGGG GGGG
0121 S,B35T41M OCT -37600
0122 S,B41T44M OCT -360
0123 S,B45T47M OCT -16
0124 S,CHAR5M OCT -7700 0000
01241 S,B38 ACO8 OCT -2007
# Page 435
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 5 PAGE 171
P0125 CONSTANTS, ETC. FOR THE AGC PART OF PASS 2.
0126 SETLOC,2
R0127 NUMERICAL CONSTANTS. BIT 30 THROUGH OCT 57777 FORM AN ARRAY.
0128 BIT 30 OCT -100 0000
0129 B28T29 OCT -600 0000
0130 C2 B28T34 OCT 0077 0000 0774
0131 C2 C7T8 OCT 0077 0000 0000 7777
0132 C3T6 OCT 0000 7777 7777
0133 FIVE OCT -5
0134 SIX OCT -6
0135 SEVEN OCT -7
0136 OCT 40 OCT -40
0137 OCT 70 OCT -70
0138 OCT 777 OCT -777
0139 OCT 1377 OCT -1377
0140 OCT 1400 OCT -1400
0141 OCT 4000 OCT -4000
0142 MIN 37777 OCT -37777
0143 PL PMAX OCT +777
0144 PL EMAX OCT +3777
0145 PL 11777 OCT +11777
0146 PL FMAX OCT +167777
0147 PL FMAXP1 OCT +170000
0148 DEC 48 FLG DEC 48
0149 BANK E2 OCT -1000
0150 OP CODE 3 OCT -3 0000
0151 DAS CODE OCT -20 000
0152 DXCH CODE OCT -52 000
0153 ADR CON 3 OCT -3000000
0154 ADR CON 4 OCT -400 0000
0155 EBANK REG OCT -4000 3417
0156 OCT 17777 OCT -17777
0157 OCT 57777 OCT -57777
0158 B25T27 OCT -7000 0000
01581 HUNDRETH DEC G0 28G5D 28G5E
01482 OCT 67777 OCT -67777
01483 MM PARAMS FLDEC 99.0, 16384.0
014831 FXBIN -99
01484 VN PARAMS FLDEC 9999.0, 16384.0
014841 FXBIN -9999
# Page 436
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 6 PAGE 172
P015899 ADDRESS CONSTANTS.
0159 L POL OP CAC INT OP COD INT OP GOS INT AD PAT +1
01591 L BNKSUM CAC BNKSUM BKSUM LOC
P0160 ALPHABETIC CONSTANTS.
0161 ALF E1400 ALF E 1400
0163 COMMA C2 ALF 0,0000
0164 COMMA C8 ALF 00,
0165 END BL MC ALF EB MC
0166 BLOT C6 ALF ▪
0167 E COMMA ALF E0,
0168 E CHAR 4 ALF E
0169 HI EQUALS ALF =00,0000
R0170 RESERVATIONS, EQUIVALENCES, AND ASSIGNMENT.
01709 LAST BANX ALF
0171 USED FMAX DEC GGGG GGGG GGGG
0172 MAX ADRES RESERVE 1
0173 M COMMON RESERVE 1
0174 SAV ADREF RESERVE 2
0175 B19T24M EQUALS CHAR4M
01751 SBANK REG EQUALS EBANK REG
01752 L BSUM LOC EQUALS L BNKSUM
0176 ACO5 EQUALS B28T30M
0177 ACO6 EQUALS B34T36M
0178 B46T48M EQUALS ACO 8
0179 BANKMASK EQUALS B33T38M
0180 SPECMAG M EQUALS B34T48M
0182 ADRE CUSS ASSIGN 4,0
# Page 437
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 7 PAGE 173
P0183 SUBROUTINE IN PASS 2 FOR AGC TO FORM A WORD FROM AN OPERATION CODE AND AN ADDRESS (BASIC INSTRUC-
R0185 TIONS AND ADDRESS CONSTANTS), OR FROM TWO POLISH OPERATOR CODES (POLISH OPERATOR WORDS). THE OPERATION CODE(S)
R0187 AND SOME ASSOCIATED INFORMATION BITS ARE TAKEN FROM THE HEALTH WORD OF THE CURRENT POPO ITEM. THE ADDRESS IS
R0189 OBTAINED FROM THE CARD VIA A GENERAL SUBROUTINE IN PASS 2 CALLED PROC ADR. IMPLIED ADDRESSES, BANK ERRORS, AND
R0191 INAPPROPRIATE ADDRESSES ARE CHECKED FOR, AND ADDRESS VALUE CUSSING IS DONE.
0193 AGC INST TX AGC MXR - Z,MXR USE MASKBASE FOR THIS MACHINE.
0195 NA, BIT32M HEALTH ONES C,+3
0196 SWE,ONESMM L POL OP 32 Z,SC
0197 GO POL ADR SWE,ONESMM L POL OP 16 Z,SC
0198 SWE, B34T36M HEALTH 12 WORD INSERT BASIC OP CODE INTO WORD.
0200 SWS, BIT1M HEALTH 10,L CUSS LIST +30 MAYBE CUSS ILLEGAL OP CODE ASTERISK.
0282 NA, BIT 31M HEALTH ONES NO IMPLAD BRANCH IF NO IMPLIED ADDRESS.
R0204 DETERMINE ADDRESSES IMPLIED BY SPECIAL OP CODES.
0205 IMPLAD TS PLF MAX MAX ADRES MAX AD SET C KEEP ASSEMBLER'S EBANK REG. UP TO DATE.
0207 NA ADDRESS 1 BLANKS QC IMPLAD -1
0208 NA ADDRESS 2 BLANKS QC IMPLAD -1
02082 SWS, BIT17M SWITCH 10 CUSS LIST +2 MAYBE CUSS INDEXING OF IMPLADS.
0209 NA, BIT27M HEALTH ZERO QC IMPLAD BRANCH IF IMPLAD IS NOT IN HEALTH WORD.
0211 SWE, ACO8 HEALTH 18 ADDRESS SUPPLY IMPLIED ADDRESS.
0215 NA WORD BIT 36 SIGND ADR BRANCH IF NOT CODE 1 (HERE, NOOP).
0217 LA OCT 4000 LOCATION NOOP(F) FORM OF NOOP DEPENDS ON WHICH MEMORY.
0219 NOOP(E) TS OP CODE 3 WORD SIGND ADR IN E MEMORY, NOOP = CA A.
0221 TS, BIT 1M ONES CUSS LIST +21 IMPLAD +3 MILDLY CUSS NONBLANK ADR FLD, PROCEED.
0223 QC IMPLAD SWS, B37T38M HEALTH 9 WORD PLACE QUARTER-CODE BITS IN INSTR. WORD.
0225 SSL, THREE M WORD 12 C,+1 THREE-WAY BRANCH ON BITS 14,13 OF WORD.
0227 EDRUPT TS, BIT39M ONES WORD OVSK ED SMALLY'S RUPT IS PERIPHERAL CODE 7.
0209 SSL, THREE M WORD 10 RESUME THREE-WAY BRANCH ON QUARTERS OF CODE 5.
0231 SSL, ONEM WORD 10 C,+1 TWO-WAY BRANCH ON QUARTERS OF CODE 2.
0233 DDOUBL TS ONE ADDRESS SIGND ADR DAS A = DDOUBL (D.P. DOUBLE).
0235 ZL OR ZQ TS SEVEN ADDRESS SIGND ADR LXCH 7 = ZL (ZERO L), QXCH 7 = ZQ.
0237 RESUME TS D12 ADDRESS SIGND ADR RESUME = INDEX 17.
0239 SSL, ONE M HEALTH 18 TCAA DTCF PICK 1 OF 2 IMPLIED ADDRESSES FOR DXCH.
0241 SSL, ONE M HEALTH 18 C,+1 PICK 1 OF 2 IMPLIED ADDRESSES FOR TS.
0243 OVSK TS ZERO ADDRESS SIGND ADR OVSK = TS A. OTHER ZERO CASES COME HERE.
0245 TCAA DTCF TS FIVE ADDRESS SIGND ADR TCAA = TS Z. DTCF = DXCH FBANK.
0247 DTCB TS SIX ADDRESS SIGND ADR DTCB = DXCH Z.
0249 NOOP(F) WA LOCATION ONE ADDRESS IN F MEMORY, NOOP = TCF +1.
0251 SIGND ADR BS ZERO ADDRESS ADR WD
0252 SWE, BIT17M HEALTH 8,L M COMMON ISOLATE EXTRACODE BIT OF IMPLAD CODE.
0254 TS ADR WD ADR WD +1 SET MIN AD C PLANT EXTRACODE FLAG FOR SIMULATOR.
0256 SWS, B29T30M HEALTH 2 HEALTH C BIT 29 PLACES OP-ADDRESS PRINT SPLIT.
0258 NA, BIT17M M COMMON SWITCH EXTEND +1 BRANCH IF EXTENDED BASIC OR UNEX. EXTRA.
0260 NA, BIT26M HEALTH ZERO C,+2 BRANCH IF THIS IS THE "EXTEND" CODE.
0262 TS, BIT17M ZERO SWITCH BASIC ADR CLEAR EXTENSION SWITCH.
0264 EXTEND TS, BIT17M ONES SWITCH ADD ADR WD SET EXTENSION SWITCH.
0266 NA M COMMON BIT 17 C,+2
0267 TS, BIT1M ONES CUSS LIST +12 EXTEND -1 ERROR WAS UNEXTENDED EXTRACODE.
0269 TS, BIT17M ONES CUSS LIST +12 EXTEND -1 ERROR WAS AN EXTENDED BASIC CODE.
# Page 438
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 8 PAGE 174
P0271 PROCESS EXPLICIT ADDRESSES FOR INSTRUCTIONS OR CONSTANTS.
0272 NO IMPLAD TN ADDRESS 1 2 SAV ADREF SAVE ADDRESS FIELD IN CASE OF POLADRES.
0274 NA, B25T27M HEALTH ONES NON CONST BRANCH IF INSTRUCTION, NOT ADR CONSTANT.
0276 ADR CONST SSL, THREEM HEALTH 24 C,+1 BRANCH ON LEVEL OF ADDRESS CONSTANT.
02772 TS, CHAR1M DEC 6 FLAG WORD ADR CON E +1 LEVEL 0: BASIC ADDRESS CONSTANTS.
0278 LA,B28T30M ADR CON 3 HEALTH GO POL ADR BRANCH FOR POLISH ADDR OR STORE CODES.
02792 TS ONES LOCATION NWD BSUMS REST OF LEVEL 1: EBANK=, SBANK=, BNKSUM.
02794 TS, BIT1M ZERO CUSS LIST +30 MM VN LEVEL 3: SPECIAL DECIMAL CONSTANTS.
0280 NWD BSUMS SWS, BIT17M HEALTH 9 CUSS LIST +14 MAYBE CUSS NONBLANK LOC FIELD.
0284 SSL, ACO8 HEALTH 17 ADR CON E SELECT EBANK=, SBANK=, OR BNKSUM.
0286 ADR CON E TS PL EMAX MAX ADRES MAX AD SET -1 E-ADDRESSES ONLY FOR ECADR, EBANK=.
0290 LA, B28T30M ADR CON 4 HEALTH C,+2 BR IF ECADR, BBCON, 2FCADR, OR 2(B)CADR.
0292 ADR CON F TS PL FMAX MAX ADRES MAX AD SET -1 ADRES,REMADR,GENADR,FCADR,SBANK=,BNKSUM.
0294 LA, B28T30M HEALTH ADR CON 4 ADR CON E BRANCH IF CODE IS ECADR.
0296 LA, B29T30M HEALTH BIT 30 BBCONQ1 +1 BRANCH IF BBCON (SINGLE PRECISION).
0298 DP ADR CON WA L FINI 2P ONE MOD RETRN MAKE RETURN GO TO D.P. CONSTANT PROC.
0300 TX W BAD WORD - 2ND HALF
0301 TN BLOTS 2 2ND ALF PREPARE FOR THE WORST.
0303 BBCONQ1 LA, B29T30M HEALTH BIT 29 ADR CON F BRANCH IF 2FCADR OR BNKSUM (NO ER PROB).
0307 TS Z,SC Z,X6 LOC BNK CK
0309 TS, BIT17M ZERO CUSS LIST +23 SET EBCON -1 MAY ERASE EBANK OR SBANK CONFLICT CUSS.
0313 NON CONST SWS, B37T38M HEALTH 12 WORD PLACE QUARTER-CODE BITS IN INSTR. WORD.
0315 LA, B29T30M ONES HEALTH C,+2 BRANCH IF PERIPHERAL CODE.
0317 SWS, BIT28M HEALTH 1 SWITCH SET SWITCH IF THIS IS AN INDEX ORDER.
0319 SWE, BIT17M HEALTH 11,L M COMMON ISOLATE EXTRACODE BIT OF EXPLAD CODE.
0321 NA, BIT17M M COMMON SWITCH C,+2 BRANCH IF EXT. BASIC OR UNEX. EXTRACODE.
0323 UNEXTEND TS, BIT17M ZERO SWITCH SET MIN AD CLEAR EXTENSION SWITCH.
0325 NA M COMMON BIT 17 C,+2 BRANCH IF EXTENDED BASIC CODE ERROR.
0327 UNEXTD XC TS, BIT1M ONES CUSS LIST +12 SET MIN AD CUSS AT UNEXTENDED EXTRACODE.
0329 NA, BIT27M HEALTH ONES BAD XTEND BRANCH IF NOT AN INDEX ORDER.
0331 TX, B29T30M ZERO - HEALTH EXTENDED INDEX EXTENDS, CAN REFER 2 ANY.
0333 TS BIT 17 M COMMON SET MIN AD
0334 BAD XTEND TS, BIT17M ONES CUSS LIST +12 UNEXTEND CUSS ANY EXTENDED BASIC CODE BUT INDEX.
0336 SET MIN AD SWS, BIT27M M COMMON 10 WORD
0337 SWS, BIT28M M COMMON 11 WORD PLANT EXTRACODE FLAG FOR SIMULATOR.
0339 TX OCT 7777 - MIN ADRES IN GENERAL, ALLOW VALUES DOWN TO -7777.
0341 SSL, THREEM HEALTH 18 C,+1 4-WAY BRANCH ON MEMORY TYPE ALLOWANCE.
0343 TS PL FMAX MAX ADRES CHECK OP 4 NO RESTRICTION.
0345 REFER TO F TS PL FMAX MAX ADRES DP SSL DITTO NOW, FIXED ONLY LATER.
0347 TS PL 11777 MAX ADRES DP SSL E-MEMORY OR INDEXED (QUARTER-CODE).
0349 SWS, BIT39M HEALTH 12 WORD PERIPHERAL CODE. SUPPLY LAST P-CODE BIT.
0351 TX OCT 777 - MIN ADRES HERE ALLOW VALUES DOWN TO -777.
0353 TS PL PMAX MAX ADRES DP SSL
0354 CHECK OP 4 NA, B34T36M WORD OP CODE 4 DP SSL BRANCH IF NEGATIVE ADDRESS IS PERMITTED.
0356 TS ZERO MIN ADRES DP SSL NEGATIVE ADDRESS HERE WOULD BE OVERFLOW.
# Page 439
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 9 PAGE 175
P0358 IF OP CODE IS DOUBLE PRECISION, ADD 1 TO ADDRESS VALUE.
0359 NA, B33T38M WORD DXCH CODE MAX AD SET BRANCH IF BASIC CODE AND NOT D.P.
0361 DP CHECK NA, B33T38M WORD DAS CODE C,-1 C
0362 TS, BIT6M ONES SWITCH MAX AD SET PLANT BIT, RETURN TO SEQUENCE MODE.
0364 XCODE DP Q NA, B34T36M WORD OP CODE 3 C,+2 C IF NOT DCA, CHECK FOR DCS.
0366 TS, BIT6M ONES SWITCH MAX AD SET PLANT BIT, RETURN TO SEQUENCE MODE.
0368 NA, B34T36M WORD OP CODE 4 MAX AD SET BRANCH IF EXTRACODE AND NOT D.P.
0320 DP SSL SSL, TWO M HEALTH 19 DP CHECK C ADD 00001 TO DOUBLE PRECISION ADDRESSES.
0372 TS, BIT6M ONES SWITCH MAX AD SET SOME EQUALITIES FALL THRU INTO HERE.
R0374 TRANSLATION OF ADDRESS FIELD, WITH FIRST-ORDER SIZE CHECKING.
03748 LA ONES LOCATION C,+2 EXCEPT FOR EBANK=, SBANK=, BNKSUM:
0375 MAX AD SET TS Z,SC Z,X6 EBK LOC Q KEEP ASSEMBLER'S EBANK REG. UP TO DATE.
0377 TX GENL MXR - Z,MXR
0378 TS Z,SC Z,X6 PROC ADR TRANSLATE ADDRESS FIELD.
0380 TN SAV ADREF 2 ADDRESS 1 RESTORE ORIG. ADDRESS FIELD FOR PRINT.
0382 TS ZERO MIN ADRES AGC INST C RESTORE MIN ADR VALUE AND MXR.
0384 SWS, BIT17M HEALTH 8 CUSS LIST CUSS LACK OF "D" IN DECIMAL SUBFIELD.
0386 WD L POL OP ONE Z,CSC C GO SEE IF CURRENT WORD IS POLISH
0388 LA ONES ADDRESS RNG ERROR +2 BR. IF MEANINGLESS OR ATROCIOUS ADDRESS.
0390 SWE, ONEM SWITCH 42 M COMMON
0391 BS ADR WD M COMMON ADR WD +1 INCREMENT ADDRESS OF D.P. CODE.
0393 LN ADR WD MAX ADRES CONST Q BRANCH IF ADDRESS SIZE OK FOR THIS OP.
0395 LN PL FMAX P1 ADR WD C,+2 BRANCH IF ADDRESS TOO BIG TO PRINT.
0397 RNG ERROR TS, BIT33M ONES CUSS LIST +11 PRB ADRES C IF NOT ATROCIOUS, TELL HIM WHAT IT IS.
0399 SM CUSS LIST +3 BIT 17 CUSS LIST +3 CUSS RANGE ERROR IN ADDRESS VALUE.
0401 LA, CHAR1M HEALTH HI EQUALS BAD BASIC BRANCH IF INSTRUCTION OR ADDRESS CONST.
0403 SSL, THREEM HEALTH 18 NW BADDR CUSS RANG ERR IN EBANK=, SBANK=, BNKSUM.
0405 CONST Q NA, B25T27M HEALTH ONES INSTROP GO PROCESS INSTRUCTION IF NO CONST FLAG.
0407 NA,BIT24M HEALTH ZERO ADR CON 1 BRANCH IF NOT TYPE 0 ADDRESS CONSTANT.
R0409 SELECT PROCEDURE FOR TYPE 0 ADDRESS CONSTANTS.
04098 ADR CON 2 SWS, B34T37M HEALTH 16 WORD MAY PUT PREFIX ON ECADR FOR DOWNLIST.
0410 SSL, ACO8 HEALTH 18 C,+1 SELECT PROCEDURE FOR 1 OF 8 ADR CONSTS.
0412 ADRES TS AG PROC 2P Z,SC BASIC ADR C ADRES IS JUST LIKE TC (EXCEPT FOR FLAG).
0414 TS - - REMADR LIKE ADRES, BUT MUST BE DIFFERENT BANK.
0416 TS - - (F)CADR COMPLETE ADDRESS FOR FIXED MEMORY.
0418 TS - - GENADR LIKE ADRES, BUT NO BANK-ERROR CHECKS.
0420 ECADR TS - - ADD ADR WD COMPLETE ADDRESS FOR ERASABLE MEMORY.
0422 TS - - BBCON BOTH-BANK CONSTANT, 5 BITS AND 3 BITS.
0424 TS ADDRESS 2ND HALF 2FCADR FCADR (FOR FB) FOLLOWED BY GENADR.
0426 TS ADDRESS 2ND HALF 2(B)CADR GENADR FOLLOWED BY BBCON (FOR BB).
# Page 440
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 10 PAGE 176
P0428 SPECIFIC PROCESSING FOR 6 OF THE 8 TYPE 0 ADDRESS CONSTANTS.
0429 REMADR LA ADDRESS OCT 3777 E REM CHECK BRANCH IF ADDRESS IS IN ERASABLE.
0431 LA ADDRESS OCT 7777 ADD ADR WD EXIT IF ADDRESS IS IN FIXED-FIXED.
0433 LA LOCATION OCT 7777 F SUBADR BRANCH HAPPILY IF LOC. NOT IN AN FBANK.
0435 NA, BANKMASK LOCATION ADDRESS F SUBADR OK IF LOC. AND ADR. IN DIFFERENT BANKS.
0437 TS - - CUS F BANK
0438 E REM CHEK LA ADDRESS OCT 1377 ADD ADR WD EXIT IF ADDRESS IS NOT IN AN EBANK.
0440 LA, EBANKMSK EBANK REG BANK E2 E SUBADR OK IF WE HAVE A PSEUDO EBANK.
0442 NA, EBANKMSK ADDRESS EBANK REG E SUBADR -1 OK IF LOC AND ADR IN DIFFERENT EBANKS.
0444 TS - - CUS E BANK
0445 (F)CADR LA ADDRESS OCT 7777 RNG ERROR ADDRESS IN ERASABLE OR FIXFIX ILLEGAL.
0447 WD ADR WD OCT 10000 ADR WD PUT CADR IN THE RANGE 00000-77777.
0449 LA, CAC3M ADR WD OCT 57777 ADD ADR WD BRANCH IF ADDRESS ISN'T IN A SUPER-BANK.
0451 LA, B33T35M SBANK REG ZERO C,+2 BRANCH IF THERE IS NO SUPERBANK SETTING.
04512 NA, B33T35M ADR WD SBANK REG SBANK CUS BRANCH TO CUSS SUPERBANK ERROR.
0452 TS, B33T35M SPEC MAG ADR WD ADD ADR WD
0453 GENADR LA ADDRESS OCT 3777 C,+3 BRANCH IF ADDRESS IS IN ERASABLE MEMORY.
0455 LA ADDRESS OCT 7777 ADD ADR WD ALL DONE IF IN FIXED-FIXED.
0457 TS, BANKMASK OCT 2000 ADR WD ADD ADR WD PUT SUBADDRESS IN THE RANGE 2000-3777.
0459 LA ADDRESS OCT 1377 ADD ADR WD ALL DONE IF ADDRESS IN UNSWITCHED ERAS.
0461 TS, EBANKMSK OCT 1400 ADR WD ADD ADR WD PUT SUBADDRESS IN THE RANGE 1400-1777.
04622 LA, CHAR8M EBANK REG SEVEN SET SBCON -1 BYPASS UPDATE IF 1-SHOT DECLARATION.
04623 SET EBCON SWS, ACO8 EBANK REG 8 EBANK REG S POSITION CURRENT SETTING FOR BBCON FMT.
04624 SM CUSS LIST +30 BIT 33 CUSS LIST +30 CUSS BBCON WORD WITHOUT 1-SHOT EBANK=.
04625 NA, B25T27M SBANK REG BIT 25 C,+2 BYPASS UPDATE IF 1-SHOT DECLARATION.
04626 SET SBCON SWS, B28T30M SBANK REG 5,L SBANK REG S COPY PERMANENT INTO TEMPORARY SUPERBITS.
04627 SSL, ONEM CUSS LIST +30 47 BBC STAR Q SELECT ON * IN OP CODE (BBCON OR 2CADR).
0463 TS, BIT1M ONES CUSS LIST +21 EDS BNKNO MILDLY CUSS NONBLANK ADR FLD, PROCEED.
0465 BBC STAR Q TS PL FMAX MAX ADRES MAX AD SET +1
0466 LA, B29T30M BIT 29 HEALTH C,-1 BRANCH IF 2CADR*, NOT BBCON*.
0468 NA ADDRESS 1 BLANKS BBC STAR Q -1
0469 NA ADDRESS 2 BLANKS BBC STAR Q -1
0470 EDS BNKNO TS, BIT1M ZERO CUSS LIST +30 HOW HIGH F C IGNORE ADDRESS FIELD OF BBCON* AND
0472 TX USED FMAX - ADDRESS SUPPLY THE BANK NUMBER OF THE HIGHEST
0474 LA ONES ADDRESS RNG ERROR BANK OCCUPIED IN THIS ASSEMBLY.
0476 BBCON LA ADDRESS OCT 3777 BANK NO IF NOT IN FIXED, SHOULD BE BANK NUMBER.
0478 LA ADDRESS OCT 7777 BBC ADRES -1 NO REDUCTION NEEDED IF IN FIXED-FIXED.
0480 WD ADDRESS OCT 10000 ADDRESS
0481 BB SUPER Q LA ADDRESS OCT 57777 BBC ADRES -1 BRANCH IF ADDRESS ISN'T IN A SUPER-BANK.
0483 NA, B25T27M SBANK REG ZERO C,+3 BRANCH IF NO 1-SHOT SBANK=.
04832 SWE, B28T30M ADDRESS 5,L 2ND ALF SHIFT ADDRESS SUPERBITS TO MATCH TEMPS.
04834 NA, B28T30M 2ND ALF SBANK REG 1SH CONFL MAY CUSS ADDRESS CONFL W/ 1-SHOT DECL.
0484 SWS, B41T44M ADDRESS 9 WORD PLANT SUPER-BANK BITS IN BBCON WORD.
0486 TS, B33T35M SPEC MAG ADDRESS BBC ADRES REDUCE BANK NUMBER TO 3X.
04872 SWS, B41T44M SBANK REG 14 WORD SUPPLY DECLARED SBANK OR 0 IF NONE.
0488 BBC ADRES TX, BANKMASK ADDRESS - WORD SET FB PART OF BBCON FROM ADDRESS.
0490 TS, ACO8 EBANK REG WORD GUD BASIC INSERT 1-SHOT OR ESTABLISHED EBANK NO.
0492 BANK NO LA OCT 70 ADDRESS RNG ERROR ADDRESS IN ERASABLE ILLEGAL HERE.
0494 SWE, ONESMM ADDRESS 10,L ADDRESS SET FB PART OF BBCON FROM BANK NUMBER.
0496 TS - - BB SUPER Q
# Page 441
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 11 PAGE 177
P0497 SUBROUTINE TO COMPUTE AN ADDRESS IN THE HIGHEST OCCUPIED FIXED BANK.
0498 HOW HIGH F NA USED FMAX ONES N,SC,1 C EXIT IF PROBLEM HAS BEEN SOLVED.
0500 SWE, CAC3M PL FMAXP1 5 M COMMON C
0501 WA M COMMON OCT 17777 Z,AU1 C POINT TO AVAIL TABLE WD FOR HIGHEST FIX.
0503 FIND USED LA CAC 12 N,AU1,1 C,+0 C
0504 LA Z,AU1 OCT 17777 N,SC,1 C BRANCH IF NO FIXED IS OCCUPIED.
0506 WD Z,AU1 OCT 17777 M COMMON C
0507 SWE, ONESMM M COMMON 5,L M COMMON C FORM ADDRESS OF 2000 OF LAST USED BANK.
0509 TX L TYP TAB - Z,X6 C
0510 LA, CAC3M M COMMON 6,0 C,+2 C FIND MEMORY TYPE OF PUTATIVE BANK.
0512 TS Z,X6,1 - C,-1 C
0513 NA, B25T27M 6,0 TYPE F FIND USED C BRANCH TO TRY AGAIN IF NOT FIXED.
0515 TX M COMMON - USED FMAX S
R0516 TYPE 0 ADDRESS CONSTANTS CONCLUDED: DOUBLE PRECISION TYPES.
0517 2FCADR LA OCT 4000 ADDRESS C,+2
0518 TS W BAD WORD 2ND HALF RNG ERROR ERROR EXIT IF REFERS TO ERASABLE.
0520 LA ADDRESS OCT 7777 PRINT 2PA ALL DONE IF IN FIXED-FIXED.
0522 WD ADR WD OCT 10000 ADR WD PUT CADR IN THE RANGE 00000-77777.
0524 LA, CAC3M ADR WD OCT 57777 2(B)CADR -1 BRANCH IF ADDRESS ISN'T IN A SUPER-BANK.
0526 LA, B33T35M SBANK REG ZERO C,+2 BRANCH IF THERE IS NO SUPERBANK SETTING.
05262 NA, B33T35M ADR WD SBANK REG SBANK CUS BRANCH TO CUSS SUPERBANK ERROR.
0527 TX, B33T35M SPEC MAG - ADR WD REDUCE BANK 4X, 5X, OR 6X TO 3X.
0529 TS, BANKMASK OCT 2000 2ND HALF PRINT 2PA PUT GENADR IN THE RANGE 2000-3777, EXIT.
0531 2(B)CADR SS ZERO OCT 1777 2ND HALF ISOLATE BANK NUMBER IN BBCON WORD.
05322 SWS, B41T44M SBANK REG 14 2ND HALF SUPPLY DECLARED SBANK OR 0 IF NONE.
0533 LA ADDRESS OCT 3777 2BCADR E BRANCH IF REFERS TO ERASABLE.
0535 LA ADDRESS OCT 7777 2BCADR E +1 BRANCH IF REFERS TO FIXED-FIXED.
0537 WD 2ND HALF OCT 10000 2ND HALF REDUCE BANK NUMBER IN BBCON WORD.
0539 LA 2ND HALF OCT 57777 2BCADR E -1 BRANCH IF ADDRESS ISN'T IN A SUPER-BANK.
0541 NA, B25T27M SBANK REG ZERO C,+3 BRANCH IF NO 1-SHOT SBANK=.
05412 SWE, B28T30M 2ND HALF 5,L 2ND ALF SHIFT ADDRESS SUPERBITS TO MATCH TEMPS.
05414 NA, B28T30M 2ND ALF SBANK REG 1SH CONFL MAY CUSS ADDRESS CONFL W/ 1-SHOT DECL.
0542 SWS, B41T44M 2ND HALF 9 2ND HALF PLANT SUPER-BANK BITS IN BBCON WORD.
0544 TX, B33T35M SPEC MAG - 2ND HALF REDUCE BANK 4X, 5X, OR 6X TO 3X.
0546 TS, BANKMASK OCT 2000 ADR WD 2BCADR E +1 PUT GENADR IN THE RANGE 2000-3777.
0548 2BCADR E LA OCT 1400 ADDRESS C,+2 BRANCH IF REFERS TO AN EBANK.
0550 TS, ACO8 EBANK REG 2ND HALF PRINT 2PA EXIT FOR ALL CASES BUT EBANK REFERENCE.
0552 SWS, B38ACO8 ADDRESS 8 2ND HALF HERE USE EBANK ACCORDING TO ADDRESS.
0554 LA, CHAR8M EIGHT EBANK REG C,+2 BRANCH IF THERE IS NO 1-SHOT DECLARATN.
0556 NA, ACO8 2ND HALF EBANK REG 1SH CONFL OTHERWISE CHECK FOR CONFLICT.
0558 TS, EBANKMSK OCT 1400 ADR WD PRINT 2PA PUT GENADR IN THE RANGE 1400-1777, EXIT.
0562 PRINT 2PA NA, CHAR1M CARD +2 BIT 1 C,+2 BRANCH IF NO MINUS IN COLUMN 17.
0564 HA 2ND HALF SPEC MAG 2ND HALF C
0565 TS, BIT1M ZERO AG BINALF PRINT 2P C TWEAK AND USE PART OF 2DEC, 2OCT.
0567 TS, BIT1M ONES AG BINALF ADD ADR WD RESTORE IT AND EXIT.
# Page 442
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 12 PAGE 178
P0569 LEVEL 3 ADDRESS CONSTANTS: SPECIAL DECIMAL CONSTANTS.
05692 MASKGRP S,0 F,0
05694 MM VN TS GENL MXR Z,MXR DECIMAL +1 C SET GENERAL MXR AND DELIMITING ASTERISK.
05698 TX BANK 5 - Z,X4
05702 TS Z,SC 4,5 QU COL SSL +1 CUSS QUEER INFO IN COLUMNS A LA DECIMAL.
05706 SSL, TWO HEALTH 17 C,+1
05708 MAJR MODE TN MM PARAMS 3 MAX DECML
0571 TS L FINI 1P Z,X4 DEC CONST MM = DEC WITH LIMIT OF 99.
05714 VERB NOUN TN VN PARAMS 3 MAX DECML
05716 TS Z,SC Z,X4 DEC CONST FIRST DO DEC WITH LIMIT OF 9999.
0572 NA NUMBER W BAD WORD C,+2
05722 TS L PROC WD Z,SC AGC 1P +1 C IF BAD WORD TREAT VN LIKE DEC.
05726 BM NUMBER HUNDRETH M COMMON ISOLATE VERB IN M COMMON.
0573 BT M COMMON 10 M COMMON +1
05732 BT M COMMON +1 10 M COMMON +1
05734 BS NUMBER M COMMON +1 M COMMON +1 ISOLATE NOUN IN M COMMON +1.
05738 SPE, ONES M COMMON 7,L NUMBER
0574 SWS, B42T48 M COMMON +1 0 NUMBER STORE VERB AND NOUN AS 7-BIT GROUPS.
05744 TS L PROC WD Z,SC GOOD 1P C FINISH UP A LA DEC.
05748 MASKGRP S,1 F,1
# Page 443
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 13 PAGE 179
P0576 SELECT PROCEDURE FOR LEVEL 1 ADDRESS CONSTANTS. PROCEDURES FOR SBANK= AND EBANK=.
0577 ADR CON 1 LA, B28T30M HEALTH ZERO EBANK2 BRANCH TO PROCESS EBANK= CODE.
0579 LA, B28T30M HEALTH BIT 30 SBANK2 BRANCH TO PROCESS SBANK= CODE.
0581 SWE, CAC3M L BNKSUM 16 Z,SC GO TO OTHER BANK TO PROCESS BNKSUM CODE.
R0583 ACTION OF "SBANK=" CODE UPON ASSEMBLER'S S BANK REG.
0585 SBANK2 LA ADDRESS OCT 67777 RNG ERROR ADDRESS MUST BE IN A SUPER-BANK.
05862 WD ADDRESS OCT 10000 ADDRESS
0587 SWS, CHAR5M ADDRESS 5,L SBANK REG SET UP TEMP. SUPERBITS, CALL IT 1-SHOT.
0589 SWS, CHAR6M SBANK REG A,1 LINE +6
0591 SWS, CHAR5M W LAST ASS A,2 LINE +6 PRINT DECLARED SUPERBANK NO. AS "SN".
05922 SWS, C1T4M LINE +6 A,2,L LAST BANX SET SUPER-BANK FLAG INTO BUFFER.
0593 SBNK2 XIT TS GENL MXR Z,MXR ZEQUALOC EXIT, BYPASSING WORD PROCESSING.
0595 SWS, CHAR5M BIT 30 0 SBANK REG SET SUPER-BANK TO 1 (BAD).
0597 TS, C1T4M BLANKS LAST BANX SBNK2 XIT -2 C SHOW NEW SBANK DECLARAION.
0599 TS GENL MXR Z,MXR ZEQUALOC
R0664 ACTION OF 'EBANK=' CODE UPON ASSEMBLER'S E BANK REG.
0665 EBANK2 LA EIGHT ADDRESS C,+3 BRANCH IF EBANK NUMBER IMPLIED BY ADR.
06662 SM CUSS LIST +11 BIT 17 CUSS LIST +11 FROWN ON USE OF PLAIN EBANK NUMBER.
0667 TS, CHAR8M ADDRESS EBANK REG C,+2 USE EBANK NUMBER DIRECTLY.
0669 SWS, CHAR8M ADDRESS 8 EBANK REG PLANT EBANK NO. IN TENTATIVE POSITION.
0671 SWS, CHAR6M EBANK REG 12,L LINE +6
0673 SWS, CHAR5M E CHAR 4 A,1 LINE +6 S PRINT DECLARED EBANK NO. AS "EN".
06732 SWS, C7T8M LINE +6 A,2 LAST BANX SET GOOD OR BAD EBANK FLAG IN BUFFER.
0674 EBNK2 XIT TS GENL MXR Z,MXR ZEQUALOC EXIT, BYPASSING WORD PROCESSING.
06752 TS, CHAR8M SEVEN EBANK REG EBNK2 XIT -2 C SHOW NEW NON-TRIVIAL DECLARATION.
06754 TS, C7T8M BLANKS LAST BANX EBNK2 XIT BUT SHOW THAT THE DECLARATION WAS BAD.
R06755 DISPOSITION OF EBANK=, SBANK=, AND BNKSUM IF ADDRESS IS BAD.
06756 NW BADDR TS BLOT C6 LINE +6 EBNK2 XIT +1
06757 TS BLOT C6 LINE +6 SBNK2 XIT +1
06758 SM HEALTH BIT 14 HEALTH BAD LOCATION VALUE FLAG.
06759 TS L BSUM LOC Z,SC RSTOR MXR C JOIN END OF BNKSUM PROCEDURE.
# Page 444
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 14 PAGE 180
P0676 SPECIFIC PROCESSING FOR BASIC INSTRUCTIONS.
0677 INSTROP SWS, ONEM SWITCH 42 WORD SUPPLY INCREMENTING BIT FOR D.P. CODES.
0679 LN ZERO ADR WD F ONLY CHK BRANCH IF ADDRESS VALUE IS POSITIVE.
0681 NA, BIT7M SWITCH ZERO C,+2
0682 SM CUSS LIST +23 BIT 33 CUSS LIST +23 CUSS NO INDEX BEFORE MINUS ADDRESS.
0684 NA, SPECMAGM WORD ZERO C,+2
0685 HA WORD SPEC MAG WORD +0 MUST BECOME -0 FOR SUBTRACTION.
0687 WD WORD ADR WD WORD ADD NEGATIVE ADDRESS.
0689 SWS, CHAR8M FIVE 1,L LINE +5 SET UP PRIME FOR FULL CODE PRINT.
0691 TS BANK E2 ADR WD GUD BASIC CALL FOR A PRIME IN QUARTER-CODE PRINT.
0693 F ONLY CHK NA, B29T30M HEALTH BIT 30 BASIC ADR BRANCH UNLESS MEMORY ALLOWANCE = F ONLY.
0695 LA OCT 4000 ADDRESS BASIC ADR BRANCH IF INDEED REFERS TO FIXED.
0697 LA OCT 2000 ADDRESS RNG ERROR ADDRESS IN BANKS E4-E7 IS NONSENSE HERE.
0699 NA, BIT7M SWITCH ZERO ADD ADR WD
0700 TS, BIT33M ONES CUSS LIST +11 PRB ADRES C
0701 TS, BIT17M ONES CUSS LIST +3 ADD ADR WD IF NOT INDEXED, WE'VE HAD IT, MATE.
0703 BASIC ADR LA ADDRESS OCT 3777 CHK EBANK BRANCH IF ADDRESS IS IN ERASABLE.
0705 NA, BIT7M SWITCH ZERO ADRES ADR
0706 NA MAX ADRES PL 11777 ADRES ADR -1 CUSS UNINDEXED 1/4-CODE REFERENCE TO F.
0708 TS, BIT33M ONES CUSS LIST +11 PRB ADRES C
0709 TS, BIT17M ONES CUSS LIST +3 ADRES ADR PUT MISC. FLAG ON UNINDEXED BASIC IN-
0711 TX, CHAR1M DEC 48 FLG - WORD STRUCTIONS THAT REFER TO FIXED MEMORY.
0713 ADRES ADR LA, CAC3M ADR WD +1 OCT 7777 ADD ADR WD EXIT IF IN FIXED-FIXED.
0715 NA, B6T7M SWITCH B2B6 C,+3 EXCEPT WHERE INSTRUCTION IS INDEXED, ...
0717 NA, B39T48M ADR WD ONES C,+3 CUSS D.P. ADDRESS THAT STRADDLES FBANKS.
0719 TS, BIT17M ONES CUSS LIST +3 RNG ERROR C
0720 LA ADDRESS OCT 7777 ADD ADR WD (FOR D.P. ADDRESS = 7777).
0722 LA LOCATION OCT 7777 F SUBADR BRANCH IF LOCATION IS NOT IN AN FBANK.
0724 LA MAX ADRES PL 11777 F SUBADR NO BANK CUSS ON XQC REF TO 2000-3777.
0726 NA, BANKMASK LOCATION ADDRESS CUS F BANK
0727 F SUBADR TS, BANKMASK OCT 2000 ADR WD ADD ADR WD PUT SUBADDRESS IN THE RANGE 2000-3777.
0729 CHK EBANK LA, CAC3M ADR WD +1 OCT 1377 ADD ADR WD BRANCH IF ADDRESS IS NOT IN AN EBANK.
0731 NA, B6T7M SWITCH B2B6 C,+3 EXCEPT WHERE INSTRUCTION IS INDEXED, ...
0733 NA, B41T48M ADR WD ONES C,+3 CUSS D.P. ADDRESS THAT STRADDLES EBANKS.
0735 TS, BIT17M ONES CUSS LIST +3 RNG ERROR C
0736 LA ADDRESS OCT 1377 ADD ADR WD (FOR D.P. ADDRESS = 1377).
0738 LA, EBANKMSK E BANK REG BANK E2 CUS E BANK FORBID ALL EBANKS IF PSEUDO-BK DECLARED.
0740 NA, EBANKMSK ADDRESS EBANK REG CUS E BANK BRANCH ON E-BANK ERROR.
07412 LA, C7T8M USERLOG +15 BLANKS CUS E BANK CUSS IF THERE'S NO DECLARED EBANK.
0742 E SUBADR TS, EBANKMSK OCT 1400 ADR WD ADD ADR WD PUT SUBADDRESS IN THE RANGE 1400-1777.
0529 CUS E BANK TS, EBANKMSK OCT 1400 ADR WD CUSS BANK C
0530 SWS, ACO5 ADDRESS 10,L 6,2
0531 TS, CHAR4M E CHAR 4 6,2 ADD ADR WD PUT EBANK NUMBER IN BANK ERROR CUSS.
0541 CUS F BANK TS, BANKMASK OCT 2000 ADR WD CUSS BANK C
0542 WD ADDRESS OCT 10000 M COMMON
0543 SWS, CHAR4M M COMMON 11,L 6,2
0544 SWS, ACO5 M COMMON 8,L 6,2 PUT FBANK NUMBER INTO BANK ERROR CUSS.
0546 ADD ADR WD WA, SPECMAGM WORD ADR WD WORD PUT EXPLICIT ADDRESS INTO WORD.
# Page 445
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 15 PAGE 181
P0755 PRINTING PROCEDURES FOR BASIC INSTRUCTIONS AND ADDRESS CONSTANTS.
0756 GUD BASIC SS ZERO C1T4 LINE +6 CLEAR ADDRESS FIELD OF PRINT IMAGE.
0758 NA, CHAR1M CARD +2 BIT 1 C,+2 BRANCH IF NO MINUS SIGN IN COLUMN 17.
0760 HA WORD SPEC MAG WORD COMPLEMENT NEGATIVE INSTRUCTION.
0762 SWS, ACO1 WORD 33,L LINE +6
0763 SWS, ACO2 WORD 30,L LINE +6
0764 SWS, ACO3 WORD 27,L LINE +6
0765 SWS, ACO4 WORD 24,L LINE +6 PUT BASIC CODE ADDRESS INTO PRINT IMAGE.
0767 LA DEC 6 FLAG WORD ACON PRNT BRANCH IF WORD IS AN ADDRESS CONSTANT.
0769 LN ADR WD ZERO OP DIGIT -1
0770 LA ADDRESS OCT 3777 C,+4 BRANCH IF INSTRUCTION REFERS 2 ERASABLE.
0772 LA ADDRESS OCT 7777 C,+2 BRANCH IF REFERS TO FIXED-FIXED.
0774 TS, B29T30M ONES WORD BBCON +2 C REDUCE BANK NUMBER. SET FBANK REF. BIT.
0776 SWS, CAC3M ADDRESS 2 ADDRESS ALIGN FIXED BANK NOS. WITH ERASABLE.
0778 SWS, CHAR3M ADDRESS 22,L WORD SUPPLY BANK NUMBER TO PASS 3 FOR REF CK.
0780 SWS, CHAR4M WORD 6 WORD STORE IT TWICE TO MAKE PARITY OK.
0782 SSL, FOURM HEALTH 17 PRINT OP C CHOOSE PRINTING OF STRAIGHT OP OR OTHER.
0784 OP DIGIT SWS, ACO8 WORD 9 LINE +5 C PRINT SECOND OCTAL OP DIGIT.
0786 LA, CAC3M BANK E2 ADR WD C,+2 C BRANCH IF ADDRESS VALUE IS OVER 777.
0788 TS, CHAR1M BLANKS LINE +6 PRINT OP C
0789 SWS, CHAR1M FIVE 5 LINE +6 C INSERT PRIME IF ADDRESS IS SPLIT.
0791 PRINT OP SWS,CHAR7M WORD 6 LINE +5 C SET MAIN OP DIGIT IN PRINT.
0793 SWS, BIT7M SWITCH 21,L SWITCH C MOVE CURRENT INDEX BIT TO PREVIOUS.
0795 SWS, BIT28M ZERO DAMN ZERO SWITCH C CLEAR CURRENT INDEX BIT.
0797 NA, CHAR4M LINE +6 BLOTS BC CHECK S CLEVERLY EXIT TO NAUGHTY OR BC CHECK.
0799 TS, CHAR8M ZERO LINE +5 OP DIGIT C CLEAR A SPACE FOR THE MINOR OP DIGIT.
0801 TS, CHAR8M BLOTS LINE +5 NAUGHTY BLOT FIRST DIGIT OF BAD CONSTANT.
0803 BAD BASIC SS BLOTS C1T4 LINE +6 BLOT OUT BAD ADDRESS FIELD.
0805 LA DEC 5 FLAG WORD C,-2
0806 NA, CHAR1M CARD +2 BIT 1 C,+2 BRANCH IF NO MINUS SIGN IN COLUMN 17.
0808 HA WORD SPEC MAG WORD COMPLEMENT GOOD OP OF BAD NEG. INSTR.
0810 TS ZERO ADR WD OP DIGIT -1 C CHOOSE PRINTING OF STRAIGHT OP OR OTHER.
0812 NAUGHTY TS W BAD WORD WORD BC CHECK
0813 ACON PRNT SWS, CHAR8M WORD 12 LINE +5 PRINT FIRST DIGIT OF CONSTANT.
0815 BC CHECK NA, CHAR1M CARD +2 BIT 1 C,+3
0816 SS ZERO B1B17B33 CUSS LIST +12 CLEAR EXTENSION CUSSES IF MINUS.
0818 TS, BIT33M ZERO CUSS LIST +23 C,+2 CLEAR "SHOULD-BE-INDEXED" CUSS IF MINUS.
0820 NA, CHAR1M CARD +2 BLANKS QUEER C17 CUSS IF NEITHER BLANK OR MINUS IN CC 17.
0822 NA, CHAR1M CARD J COLUMN 1 C,+3
0823 SS ZERO B1B17B33 CUSS LIST +12 CLEAR EXTENSION CUSSES IF LEFTOVER.
0825 TS, BIT33M ZERO CUSS LIST +23 C,+2 CLEAR "SHOULD-BE-INDEXED" CUSS IF LFTVR.
0827 NA, CHAR1M CARD BLANKS QUEER C1 CUSS IF NEITHER BLANK NOR J IN COLUMN 1.
0829 NA, CHAR8M CARD +2 BLANKS QUEER C24 CUSS IF COLUMN 24 NON-BLANK.
0831 TX, BIT6M ZERO - SWITCH TURN OFF D.P. OP CODE SWITCH.
0833 TS, CHAR8M EIGHT EBANK REG SET EBCON C TURN OFF "JUST-DID-EBANK=" SWITCH.
08342 TS, B25T27M BIT 25 SBANK REG SET SBCON C TURN OFF "JUST-DID-SBANK=" SWITCH.
0825 INSTR XIT TS MOD RETRN Z,SC RSTOR MXR C RETURN TO GENERAL PROCEDURE.
# Page 446
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 16 PAGE 182
P0837 WHEN ADDRESS IS WRONG BUT NOT ATROCIOUS, TELL THE MAN WHAT IT IS.
0838 PRB ADRES TX Z,R5 - Z,X4 C BANK INDICATOR 5 TO X4.
0840 SS CUSS LIST +11 B38T48 Z,X4 C SET UP ADDRESS OF ADR CUSS.
0842 TX HI EQUALS - ADRECUSS +1 C INITIALIZE TO ALF =00,0000.
0844 SS ADDRESS SEVEN ADRECUSS +1 C
0845 SWS, ACO7 ADDRESS 3,L ADRECUSS +1 C
0846 SWS, ACO6 ADDRESS 6,L ADRECUSS +1 C
0847 SWS, ACO5 ADDRESS 9,L ADRECUSS +1 C PUT ADDRESS OR SUBADDRESS INTO CUSS.
0849 LA ADDRESS OCT 3777 PRB EADDR C BRANCH IF ADDRESS IS IN ERASABLE.
0851 LA ADDRESS OCT 7777 PRB NOBNK C BRANCH IF ADDRESS IS IN FIXED-FIXED.
0853 SS ALF 2000 B28T29 ADRECUSS +1 C PUT SUBADDRESS IN THE RANGE 2000-3777.
0855 WD ADDRESS OCT 10000 M COMMON C
0856 SWS, CHAR2M M COMMON 23,L ADRECUSS +1 C
0857 SWS, ACO3 M COMMON 20,L ADRECUSS +1 S PUT REDUCED BANK NO. INTO CUSS, EXIT.
0859 PRB EADDR LA ADDRESS OCT 1377 PRB NOBNK C BRANCH IF ADDRESS IS IN UNSWITCHED F.
0861 SS ALF E1400 C2 B28T34 ADRECUSS +1 C PUT SUBADDRESS IN THE RANGE 1400-1777.
0863 SWS, ACO3 ADDRESS 22,L ADRECUSS +1 S PUT EBANK NO. INTO CUSS, EXIT.
0865 PRB NOBNK SWS, C3T6M ADRECUSS +1 A,2,L ADRECUSS +1 C
0866 SS BLANKS C2 C7T8 ADRECUSS +1 S MOVE UP NON-BANK ADDRESS, EXIT.
R0868 MINOR SUBROUTINE TO CUSS EITHER TYPE OF BANK ERROR.
0869 CUSS BANK TX Z,R5 - Z,X6 C PUT BANK INDICATOR 5 IN X6.
0871 SWS, BIT2M SWITCH 5,L CUSS LIST +11 C SET POISON BIT OF BANK CUSS = -INDEXED.
0873 HA CUSS LIST +11 B1B2 CUSS LIST +11 C CALL FOR BANK ERROR CUSS.
0875 SWS, B38T48M CUSS LIST +11 32 Z,X6 S SET UP X6 FOR BANK NO. INSERTION, EXIT.
# Page 447
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 17 PAGE 183
P0877 SUBROUTINE TO UPDATE ASSEMBLER'S EBANK REGISTER. CALLED EXCEPT WHEN BBCON OR 2(B)CADR FOLLOWS EBANK=
R0879 DIRECTLY. CUSSES IF DECLARED EBANK (OTHER THAN 1-SHOTS) CONFLICTS WITH LOCATION VALUE. ALSO FIXES SBANK REG.
0881 EBK LOC Q SWS,EBANKMSK EBANK REG 8,L EBANK REG TENTATIVELY ACCEPT EBANK DECLARATION.
08821 SWS, B33T35M SBANK REG 5 SBANK REG TENTATIVELY ACCEPT SBANK DECLARATION.
08822 LA, CHAR8M EIGHT EBANK REG C,+2 BRANCH ON OLD-EBANK-DECLARATION BIT.
08824 TX,C7T8M LAST BANX - USERLOG +15 ANNOUNCE NEW PERMANENT DECLARATION.
08826 NA, B25T27M SBANK REG ZERO C,+2 BRANCH ON OLD-SBANK DECLARATION BIT.
08828 TX, C1T4M LAST BANX - USERLOG +15 ANNOUNCE NEW PERMANENT DECLARATION.
0883 LOC BNK CK LA OCT 4000 LOCATION SBK LOC Q IF IN FIXED, GO SEE IF IN SUPERBANK.
0884 LA LOCATION OCT 1377 N,X6 EXIT IF LOCATION IS NOT IN AN EBANK.
0886 LA, CHAR8M EIGHT EBANK REG C,+2 BRANCH ON OLD-EBANK-DECLARATION BIT.
0888 NA, EBANKMSK EBANK REG LOCATION BAD CONFL CHECK ON NEW PERMANENT DECLARATION.
08892 SWS,CHAR7M E CHAR 4 A,3 USERLOG +15
08894 SWS,CHAR8M LOCATION 8 USERLOG +15 SHOW E-BANK STATUS IN SUBHEAD.
0890 TS, EBANKMSK LOCATION EBANK REG 6,0 FORCE AGREEMENT AND EXIT.
0892 SBK LOC Q LA LOCATION OCT 67777 N,X6 EXIT IF LOCATION NOT IN A SUPERBANK.
089216 LA ONES LOCATION N,X6 EXIT IF LOCATION HAS NO VALUE.
089218 WD LOCATION OCT 10000 FIELD COD
08922 NA, B25T27M SBANK REG ZERO C,+2 BRANCH ON OLD-SBANK-DECLARATION BITS.
08924 NA, B33T35M SBANK REG FIELD COD BAD CONFL CHECK UP ON NEW PERMANENT DECLARATION.
089252 SWS, CHAR3M W LAST ASS 0 USERLOG +15
089254 SWS, CHAR4M FIELD COD 11,L USERLOG +15 SHOW S-BANK STATUS IN SUBHEAD.
08926 TS, B33T35M FIELD COD SBANK REG 6,0 FORCE AGREEMENT AND EXIT.
R08928 CUSSING OF SUPERBANK ERRORS: USED BY FCADR, 2FCADR, AND POLISH.
0893 SBANK CUS TS, BIT7M ZERO SWITCH CUSS BANK C SET UP BANK ERROR CUSS FOR FILLING IN.
08932 SWS, ACO5 ADR WD 5,L 6,2
08933 SWS, CHAR4M W LAST ASS A,1 6,2 FORM "ADDRESS IS IN BANK SN".
08934 TX Z,SH - Z,SC
08936 1SH CONFL TS, BIT1M ONES CUSS LIST +22 C,-1 C E(S)BANK CONFLICT WITH 1-SHOT DECLARE.
08938 BAD CONFL TS, BIT17M ONES CUSS LIST +23 C,-2 C E(S)BANK CONFLICT WITH LOCATION.
# Page 448
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 18 PAGE 184
P0894 SUBROUTINE IN PASS 2 FOR AGC TO SET IN PRINT THE LOCATION OF AN INSTRUCTION OR CONSTANT, WITH BANK
R0896 NUMBER IF ANY AND WITH A NOTATION FOR END OF BLOCK OR BANK IF REQUIRED. BLOTS OUT LOCATION FIELD IF BAD LOC.
0898 AGC PLEB NA LOCATION ONES C,+2 C BRANCH IF THERES A VALID LOCATION.
0900 SS BLOTS C1T4 LINE +5 BLOT OUT LOCATION FIELD AND EXIT.
0902 TX AGC MXR - Z,MXR C
0903 SS ZERO C1T4 LINE +5 C
0904 TX LOCATION - COMMON C
0905 TX COMMON - COMMON +1 C
0906 LA COMMON OCT 3777 E PLEB C BRANCH IF LOCATION IS IN ERASABLE.
0908 LA, B39T48M LOCATION ZERO DP CROSS Q C BRANCH IF LOCATION BEGINS BANK OR FF/2.
0910 LA COMMON OCT 7777 END BANK Q C BRANCH IF LOCATION IS NOT IN A BANK.
0912 TX COMMA C8 - LINE +4 C
0913 WD COMMON OCT 10000 COMMON C REDUCE TO STANDARD BANK NOTATION.
0915 SWS, ACO6 COMMON 1 LINE +4 C
0916 SWS, ACO7 COMMON 4 LINE +4 C SET BANK NUMBER IN PRINT.
0918 TS, BANKMASK OCT 2000 COMMON +1 END BANK Q C PUT SUBADDRESS IN THE RANGE 2000-3777.
0920 TS, BIT33M ONES CUSS LIST +21 C,+4 C
0921 E PLEB NA, CHAR1M HEALTH BIT 2 C,+2 C BRANCH IF NOT AN ERASE CARD.
0923 NA, EBANKMSK LOCATION HEALTH C,-2 C BRANCH IF ERASE CROSSES EBANK BOUNDARY.
0925 LA, B41T48M LOCATION ZERO DP CROSS Q C BRANCH IF LOCATION BEGINS EBANK.
0927 LA COMMON OCT 1377 END BANK Q +2 C BRANCH IF LOCATION IS NOT IN AN EBANK.
0929 TX E COMMA - LINE +4 C
0930 SWS, ACO7 COMMON 2 LINE +4 C SET EBANK NUMBER IN PRINT.
0932 TX, EBANKMSK OCT 1400 - COMMON +1 C PUT SUBADDRESS IN THE RANGE 1400-1777.
0934 END BANK Q NA, B39T48M COMMON +1 ONES C,+2 C BRANCH IF NOT END OF BLOCK OR BANK.
0936 TS, C1T4M END BL MC LINE +4 PRINT LOC C "EB" PRECEDES SUCH LOCATIONS.
0938 TX L TYP TAB - Z,X6 C
0939 LA, CAC3M LOCATION 6,0 C,+2 C BRANCH WHEN MEMORY TYPE CATEGORY FOUND.
0941 TS Z,X6,1 - C,-1 C
0942 NA, CAC3M LOCATION 6,0 PRINT LOC C BRANCH IF NOT END OF MINOR BLOCK.
0944 SWS, C1T4M END BL MC A,4,L LINE +4 C "MC" MARKS END OF MEMORY TYPE.
0946 PRINT LOC SWS, ACO1 COMMON +1 33,L LINE +5 C
0947 SWS, ACO2 COMMON +1 30,L LINE +5 C
0948 SWS, ACO3 COMMON +1 27,L LINE +5 C
0949 SWS, ACO4 COMMON +1 24,L LINE +5 C
0950 RSTOR MXR TX GENL MXR - Z,MXR SET UP LOCATION IN PRINT AND EXIT.
R0952 MINOR SUBROUTINE IN PASS 2 FOR AGC TO CUSS A DOUBLE PRECISION CONSTANT THAT CROSSES A BANK BOUNDARY.
0954 DP CROSS Q TX Z,CSH - Z,X6 C
0955 NA N,SC 2 BAD LOCS +1 N,X6 C EXIT IF NOT A D. P. CONSTANT.
0957 TS, BIT1M ONES CUSS LIST +28 6,0 C
# Page 449
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 19 PAGE 185
P0958 SUBROUTINE IN PASS 2 FOR AGC TO SET UP A SINGLE-PRECISION CONSTANT IN WORD AND IN PRINT. THIS
R0960 SUBROUTINE DOES NOT CARE WHETHER THE WORD IS SIGNED OR NOT, BUT DEMANDS THE OUTPUT OF DEC/OCT CONST IN NUMBER.
0963 AGC 1P NA NUMBER W BAD WORD GOOD 1P C BRANCH IF WORD IS VALID.
0965 SS BLOTS CHAR 8 LINE +5 C
0966 SS BLOTS C1T4 LINE +6 C BLOT OUT WORD IN PRINT.
0968 TX W BAD WORD - WORD SEND ALONG BAD NEWS AND EXIT.
0960 GOOD 1P TX AGC MXR - Z,MXR C
0971 EX NUMBER D2T12 WORD C ISOLATE MAGNITUDE.
0973 LA BIT 1 NUMBER C,+2 C
0974 HA WORD SPEC MAG WORD C COMPLEMENT NEGATIVE WORD.
0976 B2 BIN ALF SS ZERO C1T4 LINE +6 C
0977 SWS, CHAR8M WORD 12 LINE +5 C
0978 SWS, ACO1 WORD 33,L LINE +6 C
0979 SWS, ACO2 WORD 30,L LINE +6 C
0970 SWS, ACO3 WORD 27,L LINE +6 C
0981 SWS, ACO4 WORD 24,L LINE +6 C SET WORD IN PRINT.
0983 TS, CHAR1M DEC6 FLAG WORD RSTOR MXR C APPLY INTERNAL CONSTANT FLAG AND EXIT.
R0984 SUBROUTINE IN PASS 2 FOR AGC TO PROCESS A DOUBLE-PRECISION CONSTANT. USING THE OUTPUT OF DEC
R0986 CONST OR OCT CONST, AND DISTINGUISHING BETWEEN THE SIGNED AND UNSIGNED POSSIBILITIES (FOR OCTAL CONSTANTS ONLY),
R0988 SETS UP THE HIGH-ORDER PART IN WORD AND THE LOW-ORDER PART IN 2ND HALF, SETS THE HIGH-ORDER PART IN PRINT, AND
R0990 SETS UP THE LOW-ORDER PART IN PRINTABLE FORM IN 2ND ALF AND 2ND ALF +1.
0991 AGC 2P NA NUMBER W BAD WORD GOOD 2P C BRANCH IF CONSTANT IS VALID.
0993 TN BLOTS 2 2ND ALF C PREPARE BLOTS FOR LOW-ORDER PART.
0995 TS W BAD WORD 2ND HALF AGC 1P +1 C GO TO JOIN SINGLE-PRECISION SADNESS.
0997 GOOD 2P TX AGC MXR - Z,MXR C
0998 NA E NUMBER ZERO C,+3 C BRANCH IF NUMBER IS SIGNED.
1000 SWE, B34T48M NUMBER 15 WORD C
1001 TS SPEC MAG COMMON C,+3 C SET UP UNSIGNED CONSTANT.
1003 SWE, B35T48M NUMBER 14 WORD C
1004 TX MIN 37777 - COMMON C SET UP SIGNED CONSTANT.
1006 EX NUMBER COMMON 2ND HALF C ISOLATE LOW-ORDER PART.
1008 LA BIT 1 NUMBER C,+3 C BRANCH IF NO MINUS SIGN.
1010 HA WORD SPEC MAG WORD C
1011 HA 2ND HALF SPEC MAG 2ND HALF C COMPLEMENT HALVES OF NEGATIVE CONSTANT.
1013 PRINT 2P SWE, CHAR8M 2ND HALF 12 2ND ALF C THE INSTRUCTIONS FROM PRINT 2P THROUGH
1015 SWE, ACO1 2ND HALF 33,L 2ND ALF +1 C AG BIN ALF ARE BORROWED BY THE DOUBLE
1017 SWE, ACO2 2ND HALF 30,L 2ND ALF +1 C PRECISION ADDRESS CONSTANTS.
1019 SWE, ACO3 2ND HALF 27,L 2ND ALF +1 C
1020 SWE, ACO4 2ND HALF 24,L 2ND ALF +1 C MAKE PRINTABLE VERSION OF LOW-ORDER PRT.
1022 TS, CHAR 1M DEC6 FLAG 2ND HALF AG BIN ALF C GO TO JOIN SINGLE-PRECISION PROCEDURE.
# Page 450
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 20 PAGE 186
P1024 SUBROUTINE IN PASS 2 FOR AGC TO SET IN PRINT A RIGHT-HAND LOCATION FOR SUCH AS SETLOC. PUTS IN
R1026 THE BANK INDICATOR, IF ANY. BLOTS OUT AN INVALID LOCATION.
1027 AGC PREL NA LOCATION ONES C,+2 C
1028 SS BLOTS C3T6 LINE +6 BLOT OUT BAD LOCATION AND EXIT.
1030 TX AGC MXR - Z,MXR C
1031 SS ZERO C3T6 LINE +6 C
1032 TX LOCATION - COMMON C ISOLATE LOCATION VALUE.
1034 LA COMMON OCT 3777 E PREL C BRANCH IF LOCATION IS IN ERASABLE.
1036 LA COMMON OCT 7777 PRINT VAL C BRANCH IF LOCATION IS NOT IN A BANK.
1038 TX COMMA C2 - LINE +6 C
1039 WD COMMON OCT 10000 COMMON C REDUCE TO STANDARD BANK NOTATION.
1041 SWS, CHAR8M COMMON 13 LINE +5 C
1042 SWS, ACO1 COMMON 32,L LINE +6 C SET BANK NUMBER IN PRINT.
1044 TS, BANKMASK OCT 2000 COMMON PRINT VAL C PUT SUBADDRESS IN THE RANGE 2000-3777.
1046 FPREL LA COMMON OCT 1377 PRINT VAL C BRANCH IF LOCATION IS NOT IN AN EBANK.
1048 TX COMMA C2 - LINE +6 C
1049 SWS, CHAR8M E CHAR 4 A,4 LINE +5 C
1050 SWS, ACO1 COMMON 34,L LINE +6 C SET EBANK NUMBER IN PRINT.
1052 TX, EBANKMSK OCT 1400 - COMMON C PUT SUBADDRESS IN THE RANGE 1400-1777.
1054 PRINT VAL SWS, ACO3 COMMON 21,L LINE +6 C
1055 SWS, ACO4 COMMON 18,L LINE +6 C
1056 SWS, ACO5 COMMON 15,L LINE +6 C
1057 SWS, ACO6 COMMON 12,L LINE +6 C
1058 TX GENL MXR - Z,MXR SET LOCATION IN PRINT AND EXIT.
# Page 451
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 21 PAGE 187
P1060 BANK 5 PORTION OF AGC PASS 2. ENTER IN COSEQUENCE MODE WITH AGC MXR IN Z,MXR, ADDRESS CUSSALOG IN
R1062 AU2, AND ADDRESS CUSS LIST IN AU1. BANK INDICATOR 5 IS LEFT IN R5. BANK 5 ALSO CONTAINS MASKS FOR AGC PASS 2.
1064 SETLOC,3 0 B5
1065 UNSCRAMB SWE, B38T48M N,AU2 0 N,AU1 C ZERO DEMAND BITS, MOVE SUBADDR OF CUSS3.
1067 SWS, B34T37M N,AU2 25 N,AU1 C MOVE POISON BIT AND LENGTH OF CUSS 3.
1069 SWS, B22T32M N,AU2 4,L N,AU1 C MOVE SUBADDRESS OF CUSS 2.
1071 SWS, B18T21M N,AU2 13 N,AU1 C MOVE POISON BIT AND LENGTH OF CUSS 2.
1073 SWS, B6T16M N,AU2 8,L N,AU1 C MOVE SUBADDRESS OF CUSS 1.
1075 SWS, B2T5M N,AU2,1 1 N,AU1,1 C MOVE POISON BIT AND LENGTH OF CUSS 1.
1077 NA N,AU2 SENTINEL UNSCRAMB C
1078 TX Z,AU2 - Z,R5 S SET BANK INDICATOR 5 IN R5, EXIT.
1172 CUSSALOG M,D,44E CDNO CUSS D ERR CUSS ILOP CUSS
1173 M,D,EDD LEFL CUSS CNFL CUSS TYPL CUSS
1174 M,D,DCD BADL CUSS IPOX CUSS MGLA CUSS
1175 M,D,CD4 UDEF CUSS ASIZ CUSS IRAD CUSS
1176 M,D,DFE LEFM CUSS PRED CUSS NFIT CUS1
1177 M,D,EFF NFIT CUS2 STYP CUS1 STYP CUS2
1178 M,D,EEE SCNF CUS1 SCNF CUS2 SOVS CUS1
1179 M,D,EEE SOVS CUS2 SMD CUS1 SMD CUS2
1180 M,D,FFE SME CUS1 SME CUS2 SMIT CUS1
1181 M,D,EEE SMIT CUS2 SNDE CUS1 ARBL CUSS
1182 M,D,EGF SIDL CUS1 SBDE CUS1 SMDE CUS1
1183 M,D,C52 ADRE BANK INAP CUSS ADR CUSS
1184 M,D,EE5 SBEX CUSS SNEX CUSS IDBC CUSS
1185 M,D,5D5 MTD CUSS RANG CUSS FRAC CUSS
1186 M,D,54E MFD CUSS LONB CUSS UND1 CUSS
1187 M,D,GEE NDE1 CUSS LNSY CUSS SNDE CUS2
1188 M,D,GEF SBDE CUS2 SIDL CUS2 SMDE CUS2
1189 M,D,FEE SSNP CUSS BNLF CUSS NSCH CUSS
1190 M,D,DDF BFUL CUSS ILOC CUSS TOLA CUSS
1191 M,D,GFE MEMT CUSS NMC1 CUSS CAFS CUSS
1192 M,D,444 QC1 CUSS QC17 CUSS QC24 CUSS
1193 M,D,4F5 IMAD CUSS POLE CUSS ECEB CUSS
1194 M,D,6EE ECF1 CUSS IPX1 CUSS IPX2 CUSS
1195 M,D,EG5 NMC2 CUSS ECFB CUSS SBIX CUSS
11951 M,D,EFE INXH CUSS IMAS CUSS STMF CUSS
11952 M,D,FGG PIWS CUSS ROP2CUSS MIMO CUSS
11953 M,D,EEE ANAD CUSS ONCI CUSS RIAH CUSS
11954 M,D,7EF CBBB CUSS IAOS CUSS NAWX CUSS
11955 M,D,5EF DPCB CUSS MHBC CUSS PWNL CUSS
11956 M,D,FFD CNRP CUSS PUSH CUSS POAD CUSS
11687 M,D,DFF IXOP CUSS STOS CUSS BREP CUSS
11688 M,D,D5E SNNR CUSS MCPS CUSS CEHS CUSS
1169 SENTINEL DEC BB00 FFFF
# Page 452
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 22 PAGE 188
P1113 CUSSES FOR AGC, SHOWN IN THE ORDER OF THEIR CALLS IN THE CUSS LIST.
1115 CDNO CUSS ALF,4 CARD NUMBER OUT OF SEQUENCE
1116 D ERR CUSS ALF,4 NO "D" IN DECIMAL SUBFIELD
1117 ILOP CUSS ALF,5 ILLEGAL OR MIS-SPELLED OPERATION CODE
1118 LEFL CUSS ALF,5 IMPROPER LEFTOVER LOCATION FIELD FORMAT
1119 CNFL CUSS ALF,4 CONFLICT IN USE OF THIS LOCATION
1120 TYPL CUSS ALF,4 LOCATION IS IN WRONG MEMORY TYPE
1121 BADL CUSS ALF,4 OVERSIZE OR ILL-DEFINED LOCATION
1122 IPOX CUSS ALF,3 INDEXING IS ILLEGAL HERE
1123 MGLA CUSS ALF,4 ADDRESS FIELD IS MEANINGLESS
1124 UDEF CUSS ALF,3 " " IS UNDEFINED
1125 ASIZ CUSS ALF,4 RANGE ERROR IN VALUE OF ADDRESS
1126 IRAD CUSS ALF,4 IRREGULAR BUT ACCEPTABLE ADDRESS
# Page 453
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 23 PAGE 189
P1127 AGC CUSSES CONTINUED.
1128 LEFM CUSS ALF,4 LEFTOVER WON'T FIT IN MEMORY
1129 PRED CUSS ALF,5 ATTEMPT TO PREDEFINE LOCATION SYMBOL FAI
1130 ALF LED
1131 NFIT CUS1 ALF,5 " " WON'T FIT IN SYMBOL TABLE
1132 NFIT CUS2 ALF,5 " " WON'T FIT IN SYMBOL TABLE
1133 STYP CUS1 ALF,5 " " ASSOCIATED WITH WRONG MEMORY
1134 ALF TYPE
1135 STYP CUS2 ALF,5 " " ASSOCIATED WITH WRONG MEMORY
1136 ALF TYPE
1137 SCNF CUS1 ALF,5 " " ASSOCIATED WITH CONFLICT
1138 SCNF CUS2 ALF,5 " " ASSOCIATED WITH CONFLICT
1139 SOVS CUS1 ALF,5 " " GIVEN OVERSIZE DEFINITION
# Page 454
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 24 PAGE 190
P1140 AGC CUSSES CONTINUED.
1141 SOVS CUS2 ALF,5 " " GIVEN OVERSIZE DEFINITION
1142 SMD CUS1 ALF,5 " " GIVEN MULTIPLE DEFINITIONS
1143 SMD CUS2 ALF,5 " " GIVEN MULTIPLE DEFINITIONS
1144 SME CUS1 ALF,5 " " ASSOCIATED WITH MULTIPLE ERRO
1145 ALF RS
1146 SME CUS2 ALF,5 " " ASSOCIATED WITH MULTIPLE ERRO
1147 ALF RS
1148 SMIT CUS1 ALF,5 " " IS IN MISCELLANEOUS TROUBLE
1149 SMIT CUS2 ALF,5 " " IS IN MISCELLANEOUS TROUBLE
1150 SNDE CUS1 ALF,5 " " WAS NEARLY DEFINED BY EQUALS
1151 ARBL CUSS ALF,5 ADDRESS DEPENDS ON UNKNOWN LOCATION
# Page 455
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 25 PAGE 191
P1152 AGC CUSSES CONTINUED.
1153 SIDL CUS1 ALF,5 " " IS INDEFINABLY LEFTOVER
1154 SBDE CUS1 ALF,5 " " MULTIPLY DEFINED INCLUDING NE
1155 ALF,2 ARLY BY EQUALS
1156 SMDE CUS1 ALF,5 " " MULTIPLY DEFINED INCLUDING BY
1157 ALF EQUALS
1158 ADRE BANK ALF,3 ADDRESS IS IN BANK 00
1159 INAP CUSS ALF,5 ADDRESS IS INAPPROPRIATE FOR OP CODE
1160 ADR CUSS ALF,2 ADDRESS
1161 SBEX CUSS ALF,5 THIS INSTRUCTION SHOULD BE EXTENDED
1162 SNEX CUSS ALF,5 THIS INSTRUCTION SHOULD NOT BE EXTENDED
1163 IDBC CUSS ALF,5 INEXACT DECIMAL-TO-BINARY CONVERSION
1164 MTD CUSS ALF,5 MORE THAN 10 DIGITS IN DECIMAL CONSTANT
1165 RANG CUSS ALF,4 RANGE ERROR IN CONSTANT FIELD
# Page 456
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 26 PAGE 192
P1166 AGC CUSSES CONTINUED.
1167 FRAC CUSS ALF,5 FRACTIONAL PART LOST BY TRUNCATION
1168 MFD CUSS ALF,5 MORE THAN 14 DIGITS IN OCTAL CONSTANT
1169 LONB CUSS ALF,4 LOCATION FIELD SHOULD BE BLANK
1170 UND1 CUSS ALF,5 " " WAS UNDEFINED IN PASS 1
1171 NDE1 CUSS ALF,5 " " WAS NEARLY DEFINED BY EQUALS
1172 ALF,2 IN PASS 1
1173 LNSY CUSS ALF,5 LOCATION FIELD SHOULD BE SYMBOLIC
1174 SNDE CUS2 ALF,5 " " WAS NEARLY DEFINED BY EQUALS
1175 SBDE CUS2 ALF,5 " " MULTIPLY DEFINED INCLUDING NE
1176 ALF,2 ARLY BY EQUALS
1177 SIDL CUS2 ALF,5 " " IS INDEFINABLY LEFTOVER
# Page 457
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 27 PAGE 193
P1178 AGC CUSSES CONTINUED.
1179 SMDE CUS2 ALF,5 " " MULTIPLY DEFINED INCLUDING BY
1180 ALF EQUALS
1181 SSNP CUSS ALF,5 " " SHOULDN'T HAVE BEEN PREDEFINE
1182 ALF D
1183 BNLF CUSS ALF,5 NUMERIC LOCATION FIELD IS ILLEGAL HERE
1184 NSCH CUSS ALF,5 NO SUCH BANK OR BLOCK IN THIS MACHINE
1185 BFUL CUSS ALF,4 THIS BANK OR BLOCK IS FULL
1186 ILOC CUSS ALF,4 ILLEGAL LOCATION FIELD FORMAT
1187 TOLA CUSS ALF,5 CARD IGNORED BECAUSE IT'S TOO LATE IN TH
1188 ALF E DECK
1189 MEMT CUSS ALF,5 CARD IGNORED BECAUSE IT MAKES MEMORY TAB
1190 ALF,2 LE TOO LONG
1191 NMC1 CUSS ALF,5 NO MATCH FOUND FOR CARD NUMBER OR ACCEPT
1192 ALF OR TEXT
# Page 458
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 28 PAGE 194
P1193 AGC CUSSES CONTINUED.
1194 CAFS CUSS ALF,5 FIRST CARD NUMBER NOT LESS THAN SECOND
1195 QC1 CUSS ALF,4 QUEER INFORMATION IN COLUMN 1
1196 QC17 CUSS ALF,4 QUEER INFORMATION IN COLUMN 17
1197 QC24 CUSS ALF,4 QUEER INFORMATION IN COLUMN 24
1198 IMAD CUSS ALF,4 BLANK ADDRESS FIELD EXPECTED
1199 POLE CUSS ALF,5 ADDRESS FIELD SHOULD CONTAIN A POLISH OP
1200 ALF ERATOR
1201 ECEB CUSS ALF,5 ERASED REGION SHOULD NOT CROSS E-BANKS
1202 ECF1 CUSS ALF,5 EBANK OR SBANK CONFLICT WITH 1-SHOT DECL
12021 ALF ARATION
1203 IPX1 CUSS ALF,5 FIRST POLISH OPERATOR ILLEGALLY INDEXED
1204 IPX2 CUSS ALF,5 SECOND POLISH OPERATOR ILLEGALLY INDEXED
# Page 459
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 29 PAGE 195
P12045 AGC CUSSES CONTINUED.
1205 NMC2 CUSS ALF,5 NO MATCH FOUND FOR SECOND CARD NUMBER
1207 INXH CUSS ALF,5 INTERPRETIVE INSTRUCTION NOT EXPECTED
1208 MIMOCUSS ALF,5 RIGHT OPCODE'S MODE IN DISAGREES WITH MO
1209 ALF,2 DE OUT SETTING
1210 ANAD CUSS ALF,5 ADDRESS HAS NO ASSOCIATED POLISH OPCODE
1211 IMAS CUSS ALF,5 POLISH ADDRESS(ES) MISSING PRIOR TO THIS
1212 ALF OP PAIR
1213 STMF CUSS ALF,5 STORE OP MUST BE NEXT OP AFTER STADR
1214 PIWS CUSS ALF,5 PUSHUP ILLEGAL BEFORE STORE OP WITHOUT S
1215 ALF TADR
1216 ROP2CUSS ALF,5 LEFT OPCODE'S MODE IN DISAGREES WITH MOD
1217 ALF,2 E OUT SETTING
# Page 460
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 30 PAGE 196
P1218 AGC CUSSES CONTINUED.
1219 ONCI CUSS ALF,5 INT OPCODE DID NOT CALL FOR INDEXING
1220 RIAH CUSS ALF,5 INT OPCODE REQUIRES INDEXED ADDR HERE
1221 CBBB CUSS ALF,5 ADDRESS WORDS CROSS OVER BANK OR VAC ARE
1222 ALF,2 A BOUNDARY
1223 IAOS CUSS ALF,5 INTERPRETIVE ADDR WORD OUT OF SEQUENCE
1224 NAWX CUSS ALF,5 CAN NOT HANDLE NEG ADDRESSES WITH INDEXI
1225 ALF,1 NG HERE
1226 ECFB CUSS ALF,5 EBANK OR SBANK CONFLICT ILLEGAL EXCEPT F
1227 ALF,2 OR BBCON, 2BCADR
1228 SBIX CUSS ALF,5 THIS INSTRUCTION SHOULD BE INDEXED
1229 DPCB CUSS ALF,5 D.P. CONSTANT SHOULD NOT CROSS BANKS
1230 MHBCCUSS ALF,5 ADDR MUST BE BASIC S.P. COSTANT FOR INST
# Page 461
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 31 PAGE 197
P1231 AGC CUSSES CONCLUDED.
1232 PWNL CUSS ALF,5 POLISH WORDS REQUIRE BLANKS IN COLS 1, 1
1233 ALF 7 AND 24
1234 CNRP CUSS ALF,5 PREVIOUS POLISH EQUATION NOT CONCLUDED P
1235 ALF ROPERLY
1236 PUSHCUSS ALF,5 POLISH PUSHUP REQUIRES NEGATIVE WORD HER
1237 ALF E
1238 POAD CUSS ALF ,4 POLISH ADDRESS EXPECTED HERE
1239 IXOP CUSS ALF,4 ASTERISK ILLEGAL ON THIS OPCODE
12391 STOS CUSS ALF,5 LOCATION SYMBOL IMPROPER ON STADR'ED STO
12392 ALF RE WORD
12393 BREP CUSS ALF,5 BBANK TYPE CONSTANTS REQUIRE PRECEDING E
12394 ALF BANK=
1240 SNNR CUSS ALF,4 SUBROUTINE NAME NOT RECOGNIZED
1241 MCPS CUSS ALF,5 MULTIPLE CALLS IN ONE PROGRAM OR SUBRO
1242 CEHS CUSS ALF,5 CONFLICT WITH EARLIER HEAD SPECIFICATION
# Page 462
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 32 PAGE 198
P1245 AGC INTERPRETIVE OPCODES AND ADDRESS -- BANK 2.
1246 SETLOC,5 512 B2
R1247 ASSIGNMENTS TO USE MAIN PASS TWO SCRATCH LOCATIONS
1249 L GE BASE CAC GENL MXR INT DATAB GE BASE
1250 HEALTHM ASSIGN 3,2
1251 CARDM ASSIGN 3,3
12512 MOD RTRN M ASSIGN 3,14
1252 LOC M ASSIGN 3,19
12529 2ND HALFM ASSIGN 3,22
1253 WORDM ASSIGN 3,23
1254 ICOMMON ASSIGN 3,24
1255 ADDR WDM ASSIGN 3,37
1256 ADDRESSM ASSIGN 3,43
1257 MIN ADR ASSIGN 3,73
1258 LINEM ASSIGN 0,0
R1259 ASSIGNMENTS TO USE AGC PASS 2 BANK 1 ERASABLES AND DATA.
1260 AGP2 BASE EQUALS BIT30
1261 LAGP2 BASE CAC SEND WORD SBANK CUS AGP2BASE
12614 OCT 40M ASSIGN 2,8
12615 OCT 70M ASSIGN 2,9
12617 K 37777 ASSIGN 2,14
1262 E BNK REGM ASSIGN 2,27
12621 SBNK REGM EQUALS EBNK REGM
1263 M 57777 ASSIGN 2,29
R1264 VARIABLE STORAGE
1265 STADR RESERVE 1
1266 ADD REV RESERVE 1
1267 MODE OUT RESERVE 1
1268 INT ADDR RESERVE 5
1269 LOC HOLD RESERVE 1
1270 INTERP WD RESERVE 1
1271 STORE COM RESERVE 1
1272 CHECK UP RESERVE 1
1273 PASS2 MXR RESERVE 1
# Page 463
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 33 PAGE 199
P1274 CONSTANTS AND MISCELLANEOUS
1275 L INT ADDR CAC PROC WORD MAX AD SET INT ADDR
12751 L PROC WD EQUALS L INT ADDR
1276 L INT OPPP CAC P2 D2A LZS ADD ADR WD INT OP POP
12761 L AD ADRWD EQUALS L INT OPPP
12761 L P2 D2AZS EQUALS L INT OPPP
1277 L BCCHECK CAC BAD BASIC NAUGHTY BC CHECK
12771 I BAD BASC EQUALS L BC CHECK
12772 I SUSTAB CAC SUBSTRAB
1278 L PRBADR CAC EBNK2 XIT HOW HIGH F RNG ERROR
12781 L HOW HI F EQUALS L PRBADR
12782 L EBK2 XIT EQUALS L PRBADR
12783 L USD FMAX CAC PRINT 2PA INSTRONT USED FMAX
12784 L INSTRNT EQUALS L USD FMAX
12785 L PRIN 2PA EQUALS L USD FMAX
12786 M AV TABLE CAC 11032 11140 8192
12787 I TYP TAB EQUALS M AV TABLE
12788 I AGC MXR EQUALS M AV TABLE
12789 I GENL MXR MASKBASE S,0 F,0
1279 ZERO M OCT -0
1280 ONESM OCT GGGG GGGG GGGG
1281 B48M OCT -1
1282 B47M OCT -2
1283 B46M OCT -4
1284 B46B48M OCT -5
1285 B42T48MM OCT -177
1286 B34T48MM OCT -77777
1287 B47T48MM OCT -3
1288 B26MM OCT -20000000
1289 B39T41M OCT -1600
1290 B43T48M OCT -77
1291 K 1777 M OCT -1777
1292 B44B48M OCT -21
1293 B 40 M OCT -400
1294 B37M OCT -4000
1295 B36T37M OCT -14000
1296 B38M OCT -2000
1297 B35T37M OCT -34000
1298 B37T38MM OCT -6000
1299 B39T40M OCT -1400
1300 BXSPEC OCT -100000002
1301 B28M OCT -4000000
1302 B29M OCT -2000000
1303 B30M OCT -1000000
13032 B32MM OCT -20 0000
1304 B29T30MM OCT -3000000
1305 B28T29M OCT -6000000
1306 B28B30M OCT -5000000
1307 B34T35M OCT -60000
1308 MB36T48M OCT +17777
1309 I LOW HALF OCT -47777
1310 AGMAXP1 OCT -170000
1311 BLANKSM ALF
1312 K 17 M OCT -17
# Page 464
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 34 PAGE 200
1313 K 16 M OCT -16
1314 K 20 M OCT -20
1315 K34 M OCT -34
1316 K 35 M OCT -35
1317 K 36 M OCT -36
1318 K 45 M OCT -45
1319 K 52 M OCT -52
13195 MIDCAC 64 DEC -64 0000
1320 K 127M OCT -127
1321 K 136 M OCT -136
1322 K 137 M OCT -137
1323 K 140 M OCT -140
1324 K 157 M OCT -157
1325 K 163 M OCT -163
1327 SETPD COD OCT -176
1328 K 200 M OCT -200
13289 K 360 M OCT -360
1329 K 361 M OCT -361
1330 K 1377 M OCT -1377
1331 K 53777 M OCT -53777
1332 K 17777 M OCT -17777
1333 K 47777 M OCT -47777
1334 K 10000 M OCT -10000
1335 K 20000 M OCT -20000
1336 K 2000 M OCT -2000
1337 CMA 1 C7T8 OCT -7301
1338 CMA 2 C7T8 OCT -7302
1339 ASTER C8 OCT -54
1340 STOCALL OCT -30420000
1341 STODL OCT -12030000
1342 STOVL OCT -14050000
1343 BONSET OCT -72
1344 BLOTM ALF ▪▪▪▪▪▪▪▪
1345 F CHAR 4M ALF E
1346 W NEGATIV ALF NEGATIVE
13461 W NO NEED ALF NO NEED
13462 W WDS LEFT ALF,2 NO WORDS LEFT
# Page 465
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 35 PAGE 201
P1347 DOUBLED UP INTERPRETIVE OPCODE DATA
1348 INT DATAB OCT 1304 4006 1405 6002 TAD VLOAD 000
1350 OCT 1505 6016 2206 6012 VXSC SIGN 002
1352 OCT 1304 6026 2652 7022 TLOAD C GO TO 004
1354 OCT 1505 6036 1203 6032 V/SC DLOAD 006
1356 OCT 2646 7646 1143 6042 SSP SLOAD 010
1320 OCT 1746 0056 1203 6052 MXV PDDL 012
1358 OCT 2651 7066 1405 6062 CCALL PDVL 014
1360 OCT 2146 4076 1746 0072 NORM VXM 016
1362 OCT 1206 4106 1203 4102 DDV DMPR 020
1364 OCT 1406 0122 1206 4112 VAD BDDV 022
1366 OCT 1406 0132 1406 0126 BVSU VSU 024
1368 OCT 1406 0142 1403 0136 VXV DOT 026
1370 OCT 1206 4152 1406 0146 DSU VPROJ 030
1372 OCT 1206 4162 1206 4156 DAD BDSU 032
1374 OCT 1206 4172 0000 0000 DMP BLANK OP 034
1376 OCT 1066 4316 2146 6176 SL SET PD 036
1378 OCT 2063 5316 1066 4716 SLR SR 040
1380 OCT 4065 0316 3063 5716 VSL SRR 042
1382 OCT 7146 6003 5065 0716 AXT VSR 044
1384 OCT 5146 6023 7146 6013 LXA AXC 046
1386 OCT 5146 6043 5146 6033 SXA LXC 050
1388 OCT 7146 6063 5146 6053 INCR XCHX 052
1390 OCT 5146 6103 3146 6073 XAD TIX 054
1392 OCT 3146 6123 5146 6113 BZE XSU 056
1394 OCT 3146 6133 3152 6127 BPL GO TO 060
1396 OCT 4142 6143 3146 6137 RTB BMN 062
1400 OCT 3151 6153 3146 6147 CALL BHIZ 064
1402 OCT 0000 0000 5146 6157 BLANK OP STQ 066
1404 OCT 3146 6177 4146 6173 BOV BOVB 070
1406 OCT 6652 6763 6646 6763 SETGO BONSET 072
1408 OCT 6046 6163 6646 6763 SET BOFSET 074
1410 OCT 6652 6763 6646 6763 INVGO BONINV 076
1412 OCT 6046 6163 6646 6763 INVERT BOFINV 100
1414 OCT 6652 6763 6646 6763 CLRGO BONCLR 102
1416 OCT 6046 6163 6646 6763 CLEAR BOFCLR 104
1418 OCT 3150 6153 6646 6763 CALRB BON 106
1420 OCT 2650 7066 6646 6763 CCLRB BOFF 110
1422 OCT 0046 4011 0050 6001 SQRT EXIT 112
1424 OCT 0046 4031 0046 4021 COS SIN 114
1426 OCT 0046 4051 0046 4041 ACOS ASIN 116
1428 OCT 0043 4071 0046 4061 ROUND DSQ 120
1430 OCT 0045 4111 0046 4101 VDEF DCOMP 122
1432 OCT 0046 4131 0046 0121 ABS UNIT 124
1434 OCT 0056 6151 0043 0141 STADR VSQ 126
1436 OCT 0046 6171 0052 6161 PUSH RVQ 130
1438 OCT 0043 0131 0046 0101 ABVAL VCOMP 132
1440 OCT 0 BLANK OP BLANK OP 134
1442 OCT 0 BAD BLANK 136
1444 SHIFTDAT OCT 0043 4005 0045 0005 SCALER SHORT SHIFTS AND ALSO VECTORS
# Page 466
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 36 PAGE 202
P1446 OTHER EQUALITIES.
1447 B1M EQUALS BIT1M
1448 B7M EQUALS BIT7M
1449 B17M EQUALS BIT17M
1450 B24M EQUALS BIT24M
1451 B31M EQUALS BIT31M
1452 B32M EQUALS BIT32M
1453 B33M EQUALS BIT33M
1454 B47T48M EQUALS THREEM
# Page 467
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 37 PAGE 203
P1455 INDEX REGISTER USAGE
R1456 X0 = LINE BASE
R1457 X1 = CUSS LIST ADDRESS (THROUGHOUT PASS 2)
R1458 X2 = BASE OF VARIABLE/CONSTANT FOR AGC PASS 2 BANK 1
R1459 X3 = BASE OF VARIABLE STORAGE FOR GENERAL PASS 2
R1460 X5 = INT ADDR RELATIVE LOC
R1461 X6 = MISCELLANEOUS
R1462 X7 = MONITOR
R1463 OTHER REGISTERS USED ARE AU1, AU2, R1, R2
R1464 BIT ASSIGNMENTS FOR COMMON WHEN OP CODE'S DATA EXTRACTED FROM DATA TABLE
R1465 BITS 42 TO 48 AGC-INT OPCODE +1, NOT NECESSARILY COMPLETE
R1466 BITS 39 TO 41 OP'S 2ND ADDR TYPE, IF ANY
R1467 BITS 37 TO 38 MODE IN REQUIREMENT. 0 = V. 1 = D. 2 = DT. 3 = DON'T CARE.
R1469 BITS 34 TO 36 MODE OUT SETTING. 0 = UNKNOWN, REQUIRE BASIC INST NEXT. 1 = UNKNOWN, REQUIRE INT
R1471 INST NEXT. 2 = UNKNOWN. 3 = D. 4 = T. 5 = V. 6 = NO CHANGE.
R1473 BIT 33 THIS INST SHOULD BE RH OP OR , IF LH OP, RH OP MUST BE BLANK
R1475 BIT 32 THIS INST IS GENERAL SHIFT
R1476 BIT 31 0 = PUSH UP ALLOWED. 1 = NOT ALLOWED
R1477 BITS 28 TO 30 OPCODE MODE. 0 = UNARY. 1 = S. 2 = D. 3 = T. 4 = V. 5 = VXSC OR V/SC. 6= TWO ADDR
R1479 SINGLE PRECISION OP. 7 = MATRIX.
R1480 BITS 25 TO 27 OP'S 1ST ADDR TYPE, IF ANY. 0 = NONE. 1 = 14 BIT ADDR. 2 = E ADDR, ARG-CCS. 3 = FUL
R1482 L 15 BIT ADDR. 4 = FCADR. 5 = E ADDR. 6 = SW ADDRESS. 7 = 15 BIT C TYPE ADDRESS
R1484 BIT ASSIGNMENT FOR INT ADDR USED IN INTERPRETIVE ADDRESS DETERMINATION
R1485 BITS 42 TO 48 AGC-INT OPCODE +1, NOT NECESSARILY COMPLETE
R1486 BITS 28 TO 30 OPCODE MODE. SEE ABOVE
R1487 BIT 31 0 = PUSH UP ALLOWED. 1 = PUSH UP NOT ALLOWED
R1489 BITS 25 TO 27 ADDRESS TYPE
R1490 BIT 24 THIS ADDRESS MUST BE INDEXED
R1491 BIT 7 UPON INSPECTION BY INT AD CHK ROUTINE, X2 USED BY THIS ADDRESS
R1493 FOR GENERAL SHIFTS BITS 25 TO 27 OF INT ADDR HOLD LIMITS DESIGNATION ANDBITS 39 TO 41 HOLD ADDRESS ADDITIVE
1495 INT OP COD TS B46B48M Z,R2 INT OP SET C GO SET VARIOUS ESSENTIAL REGISTERS
1497 SWE,ONESMM L INT ADDR 16 Z,CSC C GO DO E-BANK SETTING CHECK
1499 TS CARDM +2 ICOMMON +1 INT AD CHK C GO CHECK PREVIOUS ADDRESSES
1501 NA STADR K 127 M C,+2 JUMP IF STORE CODE NOT EXPECTED
1503 TX,B33M ONESM - 1,24 STORE CODE SHOULD PRECEDE THIS OP PAIR.
1505 SWE,CHAR1M B46B48M 4 WORDM SET UP INT OPCODE FLAG FOR MEMORY MAP
1507 SWE,B42T48M HEALTHM 24 STADR EXTRACT 1ST INT OPCODE STORED BY PASS 1
1509 TS L INT ADDR Z,X5 INT OP COM MAKE SOME CHECKS ON THIS OPCODE
1511 EX ICOMMON B42T48MM ADDRESSM PUT IN AGC WORD BITS 7-1
1513 SWE,B42T48M HEALTHM 17 ICOMMON +5 EXTRACT 2ND INT OPCODE
1515 NA ICOMMON +5 K137M C,+2
1516 TS,B17M ONESM 1,21 INT WD BOT BAD OPCODE. BLOT OUT WORD
1518 NA ICOMMON +5 K 136 M INT OP POP
1519 TS K 136 M I COMMON +5 INT OP SUP 2ND OPCODE IS BLANK
1521 INT OP POP NA, B33M ICOMMON ONESM C,+2
1522 TS, B1M ONESM 1,21 C,-2 ERROR IF RH OP IS NOT BLANK, IF REQUIRED
1524 TX ICOMMON +5 - STADR
1525 TN CARDM +3 2 ICOMMON ADDRESS FIELD HOLDS 2ND OPCODE
1526 TS K17M Z,R2 INT OP COM SET SEARCH FOR 15 CHARS
1527 SWS,B35T41M ICOMMON 7,L ADDRESSM PUT 2ND OPCODE INTO AGC WORD,BITS 14-8
# Page 468
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 38 PAGE 204
1531 INT OP SUP HA ADDRESSM B34T48MM ADDRESSM DO ONE'S COMPLEMENT
1533 TS - - INT WD RUN GO INCREMENT LOC HOLD
1535 INT OP COM TS Z,SH Z,R1 INT OP PAT
1536 INT OP APE LA STADR K 137M INT OP SMO JUMP IF NOT SHORT SHIFT CODE
1538 LA STADR K 157 M C,+3 JUMP IF SCALER SHIFT
1540 WD STADR K 20 M STADR
1541 TS,B25T48M SHIFTDAT ICOMMON C,+2 BRING FORTH VECTOR 24 BIT DATA
1543 SWE,B25T48M SHIFTDAT 24 ICOMMON BRING FORTH SCALER 24 BIT DATA
1545 WD STADR K 140 M ICOMMON +1
1546 SWS,ONESMM ICOMMON +1 3,L ICOMMON +1
1547 WA,B42T48M ICOMMON +1 ICOMMON ICOMMON FORM COMPLETE OPCODE
1549 TS - - INT OP NOT
1550 INT OP PAT SWE,ONESMM L GE BASE 16 Z,X6
1551 SWS,B19T24M STADR 23,L C,+1
1552 TX 6,0 - ICOMMON +5 GET FULL WORD CONTAINING THIS OP'S DATA
1554 SSL, ONEM STADR 0 C,+1
1555 SWE,ONESMM ICOMMON +5 24 ICOMMON +5
1556 SWE,B25T48M ICOMMON +5 24 ICOMMON +5 SELECT PROPER HALF WORD
1558 TS - - INT OP TOM GO SEARCH FOR * OR ,1 ON OPCODE
1560 TS ICOMMON ICOMMON +2 INT AD PEK C GO CYCLE 16 CHARS RIGHT ONE CHAR
1562 INT OP TOM NA,CHAR8M ICOMMON +1 BLANKSM C,+2 JUMP ON RIGHT MOST NONBLANK CHAR
1564 NA Z,R2,1 ZEROM C,-2 JUMP IF SEARCH NOT DONE
1566 TX ICOMMON +5 - ICOMMON
1567 NA,C7T8M ICOMMON +1 CMA 1 C7T8 C,+2 JUMP IF RIGHT MOST NOT ,1
1569 WA B46M ICOMMON +5 ICOMMON OPCODE TO BE UPPED FOUR
1571 NA,CHAR8M ICOMMON +1 ASTER C8 INT OP APE JUMP IF RIGHT MOST NOT *
15722 * SSL, THREEM ICOMMON +5 0 C,+1 ONLY CODES ENDING IN 10 CAN TAKE *.
15724 TS - - INT ERR 8
1573 TS - - INT ERR 8 JUMP WHEN OPCODE NOT ALLOWED TO INDEX
1575 NA K 36 M STADR C,+2
1576 TS - - INT ERR 8 SETPD CAN NOT BE INDEXED
1578 WA BXSPEC ICOMMON +5 ICOMMON OPCODE INCR BY TWO. B24 SHOWS INDEXING
1580 TX,B31M ONESM - ICOMMON DO NOT ALLOW PUSHUP NOW
1582 INT OP SMO NA,B28T30M ICOMMON B28B30M INT OP NOT JUMP IF OPMODE NOT VXSC OR V/SC
1584 LA MODE OUT B47M C,+2 JUMP IF LAST MODEOUT = UNKNOWNS
1586 LA MODE OUT B46M C,+2 JUMP IF LAST MODE OUT = D OR T
1588 TS,B28T30M B29M ICOMMON INT OP SAP SET OPMODE = D
1590 TS,B28T30M B28M ICOMMON INT OP SAP SET OPMODE = V
1592 INT OP NOT LA MODE OUT B47M INT OP MUT JUMP IF LAST MODE OUT = UNKNOWNS
1594 SSL,B47T48M ICOMMON 10 INT OP DUD C CHECK PROPER MODE IN
1596 INT OP SAP LN,B34T36M ICOMMON B34T35M C,+2 JUMP IF NEW MODE OUT = NO CHANGE
1598 SWE,B46T48M ICOMMON 12 MODE OUT UPDATE MODE OUT
1600 LA,B25T27M ICOMMON ZEROM INT OP NOB JUMP IF OPCODE EXPECTS NO ADDRESS
1602 NA,B42T48M ICOMMON K 163 M C,+4 JUMP IF NOT SWITCH TYPE OPCODE
1604 TX ICOMMON - ICOMMON +5
1605 WD,B42T48M STADR BONSET ICOMMON +5 DETERMINE OPCODE ADDITIVE
1607 TS ICOMMON +5 N,X5,1 C,+2 SAVE DATA FOR ADDR WORD USE
1609 TX ICOMMON - N,X5,1 SAVE DATA FOR ADDR WORD USE
1611 NA,B28T30M ICOMMON B28T29M INT OP NOB JUMP IF ONLY ONE ADDRESS WORD EXPECTED
1613 TX,B25T48M ICOMMON - 5,0 GIVE DATA TO SECOND ADDRESS
1615 SWS,B25T27M 5,0 14,L N,X5,1 SHIFT ADDR TYPE TO CORRECT POSITION
1617 INT OP NOB TS - - N,R1
1618 INT OP DUD NA MODE OUT B46B48M INT ERR 4 ERROR IS LAST MODE NOT V
1620 NA MODE OUT B47T48MM INT ERR 4 ERROR IF LAST MODE NOT D
# Page 469
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 39 PAGE 205
1622 NA MODE OUT B46M C,-1 C ERROR IF LAST MODE OUT NOT DT
1624 TX ICOMMON - ICOMMON
1625 INT OP MUT SSL,B47T48M ICOMMON 10 C,+1 BRANCH BY MODE IN REQUIREMENT
1627 TS B46B48M MODE OUT INT OP SAP MODE NOW VECTOR
1629 TS B47T48MM MODE OUT INT OP SAP MODE NOW D/T
1631 TS B47T48MM MODE OUT INT OP SAP
1632 TS B48M MODE OUT INT OP SAP
1633 INT OP DOG LA INT ADDR ZEROM INT OP BAR NO SWEAT IF ALL ADDRESSES IN
1635 NA,B33M INT ADDR ZEROM INT OP BAR SAME IF PUSH UP NOT ALLOWED
1637 TS,B1M ONESM 1,25 INT OP BAR ERROR. NEED STADR CODE PREVIOUSLY
1639 INT OP GOS TS ZEROM STORE COM INT OP SET C STORE CODES/ALL ADDR WORDS ENTER HERE
1641 SWE,ONESMM L INT ADDR 16 Z,CSC C GO DO E-BANK SETTING CHECK
1643 SWE,CHAR1M B47T48MM 3 WORDM SET CONSTANT TYPE FLAG FOR MEMORY MAP
1645 LA,B28T30M HEALTHM B29T30MM INT AD GO JUMP TO INTERPRETIVE ADDRESS ROUTINE
1647 NA STADR K 127 M INT AD DOG JUMP IF STADR DOES NOT PRECEDE STORE
1649 INT OP BAR TS - - INT AD CHK C CHECK IF ALL REQUIRED ADDR RECEIVED
1651 TX B26MM - INT ADDR STORE CODES REQUIRE ARC-CCS E TYPE ADDR
1653 SWS,B28T30M MODE OUT 18,L INT ADDR LAST MODE OUT IS THIS OP MODE
1655 WD INT ADDR B30M INT ADDR
1656 TS Z,SC STORE COM INT AD TUM GO PROCESS LIKE REG E ADDRESS
1658 NA ONESM ADDRESSM C,+4 JUMP UNLESS ADDRESS IS VERY BAD.
1660 TX LOC M - LOC HOLD CANCEL LOCATION SEQUENCE CHECKS
1662 TX ZEROM - STORE COM FLAG FOR BELOW
1664 TX ZEROM - ADDRESSM AVOID OVERFLOW TROUBLE
1666 NA, B29T30M HEALTH M ZERO M FANCY STO BRANCH IF STORE AND (LOAD OR CALL).
1668 PLAIN STO NA,B24M INT ADDR ONESM C,+4 JUMP IF NO INDEXING
1670 WA ADDRESSM B37M ADDRESSM ASSUME X1 USED
1672 NA,B7M INT ADDR ONESM C,+2 JUMP IF SO
1674 WA ADDRESSM B37M ADDRESSM NOW X2 USED
1676 TS ZERO M INT ADDR INT OP BAT
1677 FANCY STO TX,B1M ZERO M - 1,30 REOPEN JUDGEMENT OF OPCODE ASTERISK.
1679 SWS,B17M INT ADDR 7,L 1,2 INDEXED ADDRESS ILLEGAL
1681 SSL,B47T48M HEALTHM 18 C,+0 BRANCH BY STORE CODE TYPE
1683 TS B47T48MM MODE OUT INT OP SDL SET MODE OUT TO DOUBLE
1685 TS B46B48M MODE OUT INT OP SVL SET MODE OUT TO VECTOR
1687 WA ADDRESSM B35T37M ADDRESSM CALL ADDITIVE = OCT34000
1689 TX B47M - MODE OUT MODE OUT = UNKNOWN.
1691 TS STOCALL INT ADDR INT OP BAT UNKNOWN MODE. A ADDRESS, NO PUSHUP
1693 INT OP SVL WA ADDRESSM K 10000 M ADDRESSM VLOAD ADDITIVE = OCT24000
1695 TS STOVL INT ADDR INT OP STL -1 VMODE. A14 ADDRESS WITH PUSHUP
1697 INT OP SDL TX STODL - INT ADDR DP MODE. A14 ADDR WITH PUSHUP
1699 WA ADDRESSM B36T37M ADDRESSM DLOAD ADDITIVE = OCT 14000
1701 INT OP STL SWS,B24M HEALTHM 13 INT ADDR SET INDEX REQ FLAG FOR 2ND ADDR,IF REQ
1703 SWS,B31M HEALTHM 20 INT ADDR IF INDEXING REQ,PUSHUP NOT ALLOWED
1705 NA,B24M ONESM INT ADDR C,+2 JUMP IF OPCODE NOT INDEXED
1707 WA ADDRESSM B37M ADDRESSM LOAD* ADDITIVE = OCT4000
1709 INT OP BAT NA STADR K 127 M C,+3
1710 HA ADDRESSM B34T48MM ADDRESSM COMPLEMENT STORE WORD FOLLOWING STADR
1712 SWS,B17M HEALTHM 9 1,30 LOCATION SYMBOL NOT ALLOWED
1714 LA STORE COM ZEROM INT OP SOU JUMP ON VERY BAD ADDRESS
1716 NA,B17M 1,3 ZEROM C,+2
# Page 470
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 40 PAGE 206
1717 TS ZEROM STADR INT WD POT ERASE STADR MARKER
1719 INT OP SOU TS ZEROM STADR INT WD NUT EXIT IF ERASE ADDR BAD
R1721 MINOR SUBROUTINE IN AGC PASS 2 TO SET UP VARIOUS REGISTERS.
1722 INT OP SET SWE,ONESMM L AGP2BAS 0 Z,X2 C AGC PASS 2 BANK 1 VARIABLE STORE BASE.
1724 TX B48M - INTERP WD C
1725 NA CHECK UP ZEROM C,+5 C
1726 SWE,ONESMM L AGP2 BAS 32 Z,X3 C
1727 TX N,CSC,1 - N,X3 C
1728 TX L POL OP - Z,CSC C IGNORE A ADDRESS BANK ERROR
1730 TX Z,MXR - CHECK UP C
1731 TX L GE BASE - Z,X3 GENERAL PASS 2 VARIABLE STORAGE ADDRESS
# Page 471
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 41 PAGE 207
P1733 ROUTINE TO HANDLE INTERPRETIVE ADDRESS WORDS
1734 INT AD GO NA CARDM +3 BLANKS M C,+3
1735 NA CARDM +4 BLANKS M C,+2
1736 TX, B17M ONESM - 1,11 CUSS POLISH ADDRESS WITH BLANK ADR FLD.
1738 LA INT ADDR ZEROM INT ERR 20 ERROR IF NO ASSOCIATED OPCODE.
1740 INT AD TUM TN CARDM +3 2 ICOMMON SEARCH ADDR FIELD FOR ,1 OR ,2
1742 TS K 20 M Z,X6 C,+2 16 CHAR SEARCH
1744 TS ICOMMON ICOMMON +2 INT AD PEK C CYCLE RIGHT 16 CHARS
1746 NA,CHAR8M ICOMMON +1 BLANKSM INT AD CAT JUMP ON RIGHT MOST CHAR NON BLANK
1748 NA Z,X6,1 B48M C,-2 JUMP IF SEARCH NOT DONE
1750 INT AD NOX LA,B25T27M INT ADDR B26MM C,+2
1751 NA,B32M INT ADDR ONESM INT AD GOT JUMP IF NOT SUPPOSED TO BE ANY INDEXING
1753 NA,B24M INT ADDR ONESM INT AD GOT JUMP IF OPCODE DID NOT REQUEST ANY
1755 TS,B33M ONESM 1,26 INT AD GOT FLAG RIAH CUSS
1757 INT AD CAT NA,C7T8M ICOMMON +1 CMA 2 C7T8 C,+2 JUMP IF ADDRESS NOT ENDED BY ,2
1759 TS,B7M ONESM INT ADDR C,+2 POINTER TO SHOW X2 USED
1761 NA,C7T8M ICOMMON +1 CMA 1 C7T8 INT AD NOX JUMP IF NON INDEXED ADDR
1763 LA,B25T27M INT ADDR B26MM C,+3 JUMP IF INDEXING ALLOWED.
1765 NA,B32M INT ADDR ZEROM C,+2 SAME
1767 TS,B17M ONESM 1,2 INT AD FOX ERROR IF NOT ALLOWED
1769 NA STORE COM ZEROM C,+3 JUMP ON STORE WORD
1771 NA,B24M INT ADDR ZEROM C,+2 ERROR IF OPCODE DID NOT REQ INDEXING
1773 TS,B17M ONESM 1,26 C,+1 FLAG ONIC CUSS
1775 TX,B24M ONESM - INT ADDR SET INDEXED ADDR FLAG
1777 INT AD FOX TS,C7T8M BLANKSM ICOMMON +1 C,+2 BLANK OUT INDEXING CHARS OF ADDR
1779 TS ICOMMON ICOMMON +2 INT AD PEK C CONTINUE THE RIGHT CYCLE
1781 NA Z,X6,1 ZEROM C,-1 UNTIL FIELD BACK TO ORIGINAL POSITION
1783 TN ICOMMON 2 CARDM +3 STORE FIELD WITHOUT INDEX MARKS
1785 INT AD GOT WD K 47777 M K 10000 M MIN ADR MOST NEGATIVE ALLOWABLE VALUE (C TYPE).
1787 TX,B24M ONESM - STADR SET BRANCH TO INTERPRETIVE
1789 SWE,ONESMM L INT ADDR 16 Z,SC GO TO MAX AD SET
1791 INT AD PAT NA,B24M STADR ZEROM C,+2 JUMP IF PROCESSING POLISH, NOT BASIC
1793 TS - - INT WD DOG C SPECIAL TRANSFER FROM BANK 1
1795 TS,B24M ZEROM STADR INT OP SET C CANCEL FLAG. RESTORE NECESSARY REGISTERS
1797 LA ONESM ADDRESSM INT WD SUM JUMP ON BAD ADDRESS
1799 SSL,B46T48M INT ADDR 18 C,+1 BRANCH BY OP MODE TO CHOOSE NUMBER OF
1801 TS ZEROM ADD REV INT AD PON WORDS THAT THIS ADDRESS WILL TAKE
1803 TS ZEROM ADD REV INT AD PON
1804 TS B48M ADD REV INT AD PON
1805 TS B47M ADD REV INT AD PON
1806 TS B46B48M ADD REV INT AD PON
1807 TS ZEROM ADD REV INT AD PON
1808 TS ZEROM ADD REV INT AD PON
1809 TS B44B48M ADD REV INT AD PON
1810 INT AD PON NA,B32M INT ADDR ZEROM INT AD SIR JUMP IF ADDR FOR GENERAL SHIFT INST
1812 SSL,B46T48M INT ADDR 21 C,+1 BRANCH BY NON-ZERO ADDRESS TYPE
1814 TS - - INT ERR 20
1815 TS B46M ICOMMON INT AD A14 14 BIT ADDRESS,ARC-CCS FASHION
1817 TS B47M ICOMMON INT AD A14 E ADDRESS, ARC-CCS FASHION
1819 TS B48M ICOMMON INT AD A14 15 BIT ADDRESS
1821 TS - - INT AD F FIXED 15 BIT ADDR
1823 TS ZEROM ICOMMON INT AD A14 E ADDRESS
1825 TS - - INT AD SW SWITCH BIT NUMBER.
1827 LN ZERO M ADDR WDM C,+2 JUMP IF ADDRESS IS POSITIVE.
# Page 472
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 42 PAGE 208
1829 TS, B7M ONES M INT ADDR PLAIN C FAKE UP AN X2 FLAG FOR NEGATIVE OPERAND.
1831 LA K 20000 M ADDRESS M INT AD F +1 JUMP IF WOULD BE AN ADDR IN FIXED BANKS.
1833 PLAIN C TS ZERO M I COMMON INT AD OAF OTHERWISE USE NUMBER AS IS.
1835 INT AD SW LN ADDR WDM B48M INT ERR 41 ERROR IF ADDR LESS THAN ZERO
1837 LA K360M ADDRESSM INT ERR 41 ERROR IF ADDR OVER 239.
1839 TS - - C,+2
1840 WA ADDRESSM K 361 M ADDRESSM ADD OCT400. SUBTRACT OCT17
1842 LA,B41T48M K 17 M ADDRESSM C,-1 JUMP IF SWITCH ADDR NOT FORMULATED
1844 SWS,B41T44M INT ADDR 4,L ADDRESSM INSERT OPCODE ADDITIVE
1846 TS - - INT AD A10 FINISH UP ELSEWHERE
1848 INT AD F LN ADDR WDM MB36T48M INT ERR 41 F TYPE ADDR CANNOT BE LESS THAN 20000
1850 LA B2MAXP1 ADDRESSM INT ERR 41 NOR GREATER THAN AGC ADDRESS MAX
1852 TS ZEROM ICOMMON INT AD MAR -1
1853 INT AD PEK TX,CHAR8M ICOMMON +1 - ICOMMON C FOUR INSTRUCTIONS TO FINISH CYCLING
1855 TX,CHAR8M ICOMMON +2 - ICOMMON +1 C RIGHT 16 CHAR 1 CHAR
1857 SWE,ONESMM ICOMMON 6 ICOMMON C
1858 SWE,ONESMM ICOMMON +1 6 ICOMMON +1
R1859 NEXT ROUTINE CHECKS TO SEE IF ALL ADDRESSES FOR THE PREVIOUS OPCODE PAIR HAVE BEEN RECEIVED.
R1861 IF BIT 31 OF INT ADDR(X) = 1, AN EXPECTED ADDRESS HAS NOT BEEN PROCESSED.
1862 INT AD MOD NA B48M MODE OUT C,+2 C
1863 TS,B1M ONESM 1,29 C,+2 C
1864 LA B47T48MM MODE OUT C,-1 C
1865 TX B47M - MODE OUT C MODE OUT = UNKNOWN.
1867 TS LOC M LOC HOLD C,+4 C RESET POLISH LOC COUNTER
1869 INT AD CHK NA LOC HOLD LOC M INT AD MOD C JUMP IF POLISH STRING BROKEN
1871 NA MODE OUT ZEROM C,+2 C JUMP IF POLISH INST EXPECTED
1873 TS,B1M ONESM 1,24 C,-4 C FLAG INXH CUSS
1875 NA,B31M INT ADDR ZEROM INT AD SOB C JUMP IF ANY OF FOUR ADDRESSES ACTIVE
1877 NA,B31M INT ADDR +1 ZEROM INT AD SOB C AND PUSHUP NOT ALLOWED
1879 NA,B31M INT ADDR +2 ZEROM INT AD SOB C
1880 NA,B31M INT ADDR +3 ZEROM INT AD SOB C
1881 TX ZEROM - INT ADDR C
1882 TN INT ADDR 4 INT ADDR +1 ZERO ALL ADDRESS DATA HOLDERS
1884 INT AD SOB TS,B17M ONESM 1,24 C,-2 C POLISH ADDRESS(ES) MISSING ERROR. IMAS
1886 INT AD SIR NA,B24M INT ADDR ONESM C,+2 JUMP IF ADDRESS NOT INDEXED
1888 TX,B25T27M ZEROM - INT ADDR
1889 EX INT ADDR B39T41M ICOMMON EXTRACT GENERAL SHIFT OPCODE ADDITIVE
1891 SSL,B45T47M INT ADDR 20 C,+3 C BRANCH BY ADDRESS LIMITS TYPE
1893 BS ADDR WDM ICOMMON ADDRESSM INSERT ADDITIVE PORTION
1895 TS, B33T35M B35T37M ADDRESS M INT AD A12 GEN. SHIFTS ADDITIVE = 20000 (NON-VAC).
1897 LA K 200 M ADDRESSM INT ERR 41 LIMITS =-177 TO +177 OCTAL FOR INDEXED
1899 K16MPLUS OCT +16
1900 LA K52M ADDRESSM INT ERR 41 LIMITS = -51 TO +51 OCTQL FOR SL AND SR
1902 K34MPLUS OCT +34
1903 LN ADDR WDM K 35 M INT ERR 40 C LIMITS = -34 TO +15 OCTAL FOR SLR
1905 LN K16MPLUS ADDR WDM INT ERR 41
1906 LN ADDR WDM K 16 M INT ERR 40 C LIMITS = -15 TO +34 OCTAL FOR SRR
1908 LA K 35 M ADDRESSM INT ERR 41
1909 LN ADDR WDM K 35 M INT ERR 40 C LIMITS = -34 TO +33 FOR VSL
1911 LN K34MPLUS ADDR WDM INT ERR 41
1912 LN ADDR WDM K 34 M INT ERR 40 C LIMITS = -33 TO +34 VSR
1914 LA K 35 M ADDRESSM INT ERR 41
1915 INT AD STO TX STORE COM - Z,SC
1916 INT AD A14 LN ADDR WDM B48M INT ERR 21 BOTTOM LIMIT IS ZERO
# Page 473
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 43 PAGE 209
1918 LA ADDRESSM K 52 M INT AD ACE JUMP IF ADDRESS IN BUFFER
1920 NA, B42T48M INT ADDR SETPD COD C,+2
1921 TS,B17M ONES M 1,3 INT ERR 41 +1 SETPD ADDRESS MUST BE IN VAC AREA.
1923 LA ADDRESSM B43T48M INT ERR 21 ERROR IF IN 53 TO 77 OCTAL RANGE
1925 LA B37M ADDRESSM INT AD A6 JUMP IF 4000 OCTAL OR OVER. MAYBE FIXED
19262 TX ZERO M - ICOMMON +2
1927 WD, B39T48M K 1777 M ADDRESS M ICOMMON +2 FAKE UP AN ADDITIVE TO TEST FOR ARRAY
1929 TS, EBANKMSK ICOMMON +2 ADD REV INT AD OAF REFERENCE ACROSS E-BANKS.
1931 INT AD A6 LA ICOMMON ZEROM INT ERR 41 ERROR IF ADDR E TYPE
1933 LA ICOMMON B48M INT AD F JUMP IF 15 BIT A TYPE ADDR
1935 LA ICOMMON B47M INT ERR 41 ERROR IF ADDR ARC-CCS E TYPE
1937 LA LOCM I LOW HALF C,+4 JUMP IF INT INST LOC IN MEMORY LOW HALF
1939 LA ADDRESSM K53777M INT ERR 41 ERROR IF ADDRESS OUTSIDE 54000-167777.
1941 LA AGMAXP1 ADDRESSM INT ERR 41
1942 TS K 37777 I COMMON +2 INT AD MAR CHOP TO 14 BITS
1944 LA ADDRESSM K17777M INT ERR 41 ERROR IF ADDRESS OUTSIDE 20000-47776
1946 LA K47777M ADDRESSM INT ERR 41
19468 TX B34T48MM - ICOMMON +2
1947 INT AD MAR WD ADDRESSM K 10000 M ADDRESSM CHANGE TO FCADR TYPE FORMAT
1949 LA ADDRESSM M 57777 INT AD OAF -1 BRANCH IF ADDRESS ISN'T IN A SUPER-BANK.
1951 LA, B33T35M SBNK REGM ZEROM C,+2 BRANCH IF THERE IS NO SUPERBANK SETTING.
19512 NA, B33T35M ADDRESSM SBNK REGM SBNK CUSM BRANCH TO CUSS SUPERBANK ERROR.
1954 TS, B33T35M I COMMON +2 ADDRESSM INT AD OAF REDUCE SUPER-BANKS.
1956 EX ADDRESS M I COMMON +2 ADDRESSM
1958 INT AD OAF NA,B24M INT ADDR ZEROM INT AD A15 HOPE INDEXING WILL RIGHT A WRONG IF ANY
1960 EX ADDRESSM K 1777 M ICOMMON +2 CHECKING CROSSING BANK BOUNDARIES NOW
1962 WA I COMMON +2 ADD REV ADD REV
1963 LA K 2000 M ADD REV INT ERR 25 JUMP IF BOUNDARY CROSSED BY ADDR'S WORDS
1965 INT AD A15 LA ICOMMON B48M INT AD DUN JUMP IF NOT USING ARC-CCS FORM
1967 INT AD A12 WA ADDRESSM B48M ADDRESSM CHANGE TO ARC-CCS TYPE FORM
1969 INT AD DUN NA STORE COM ZEROM INT AD STO RETURN TO STORE ROUTINE
1971 NA,B7M INT ADDR ONESM C,+2 JUMP IF X2 NOT USED
1973 HA ADDRESSM B34T48MM ADDRESSM COMPLEMENT IF X2 USED
1975 INT AD A10 TN INT ADDR +1 4 INT ADDR ADVANCE ADDR DATA WORDS OR ZEROES
1977 INT WD POT NA LOC M LOC HOLD INT ERR 33 ERROR IF NON POLISH WORD APPEARED
1979 INT WD RUN LA ONES M LOC HOLD INT ERR 33 -1
1980 WA LOC HOLD B48M LOC HOLD INCREMENT POLISH COUNT
1982 INT WD HAT SWS,CHAR8M ADDRESSM 12 LINEM +5 PROCEED TO PLACE AGC WORD ON PRINT LINE
1984 INT WD TOS TS,C1T4M ZEROM LINEM +6 INT WD 117 C
1985 SWS,ACO1 ADDRESSM 33,L LINEM +6
1986 INT WD BAD SWS,ACO2 ADDRESSM 30,L LINEM +6
1987 SWS,ACO3 ADDRESSM 27,L LINEM +6
1988 SWS,ACO4 ADDRESSM 24,L LINEM +6
1989 SS ADDRESSM B34T48MM WORDM 15 BIT AGC WORD IN WITH MEMORY MAP CHAR
1991 INT WD RET TX LBCCHECK - Z,SC RETURN AT BC CHECK
19922 SBNK CUSM TX ADDRESSM - ADDR WDM
19924 SWE, CAC3M LAGP2 BAS 16 Z,SC USE GENERAL SUPERBANK CUSSING ROUTINE.
1993 INT WD SUM NA STORE COM ZEROM INT AD STO
1994 TN INT ADDR +1 4 INT ADDR ADVANCE ADDRESSES
1996 INT WD NUT NA LOC HOLD LOC M INT ERR 33 ERROR IF NON POLISH WORD APPEARED
1998 INT WD BOT LA ONES M LOC HOLD INT ERR 33 -1 BRANCH IF LOC CTR HAS BAD VALUE.
2000 WA LOC HOLD B48M LOC HOLD INCREMENT POLISH LOCATION COUNTER
# Page 474
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 44 PAGE 210
2002 TX,C1T4M BLOTM - LINEM +6 BLOT 5 CHARACTERS
2004 TS,CHAR8M BLOTM LINEM +5 INT WD 117 C
2005 SWE,ONESMM L BCCHECK 16 Z,SC RETURN AT NAUGHTY
2007 INT AD ACE NA,B24M INT ADDR ZEROM INT AD A15 HOPE INDEXING WILL RIGHT WRONG IF ANY
2009 WA ADDRESSM ADD REV ADD REV
2010 LA ADD REV K 52 M INT AD A15 JUMP IF BUFFER BOUNDARY NOT EXCEEDED
2012 INT ERR 25 TS,B1M ONESM 1,27 INT AD A15 FLAG CBBB FLAG
2014 INT ERR 4 TX Z,R1 - ICOMMON +4
2015 LA, CAC3M ICOMMON +4 L INT OPPP C,+2
2016 TS,B33M ONESM 1,25 INT OP MUT FLAG RIGHT OP MODE OUT/IN MISMATCH. MIMO
2018 TS,B17M ONESM 1,25 INT OP MUT FLAG LEFT OP MODE OUT/IN MISMATCH. ROP2
2020 INT ERR 8 TX Z,R1 - ICOMMON +4
2021 LA, CAC3M ICOMMON +4 L INT OPPP C,+2
2022 TS,B33M ONESM 1,22 INT OP APE RIGHT OPCODE ILLEGALLY INDEXED. IXP2
2024 TS,B17M ONESM 1,22 INT OP APE LEFT OPCODE ILLEGALLY INDEXED. IXP2
2026 INT ERR 20 TS,B1M ONESM 1,26 INT WD SUM NO OPCODE FOR THIS ADDRESS. ANAO
2028 INT ERR 21 TX Z,SH - Z,R1
2029 NA,B24M INT ADDR ONESM INT ERR 41 JUMP IF NOT INDEXED
2031 LN ZEROM ADDR WDM N,R1 JUMP IF ADDRESS POSITIVE
2033 TS,B33M ONESM 1,27 C,+2 CANNOT HANDLE NEG ADDR WITH INDEXING.
2035 INT ERR 41 TS,B17M ONESM 1,3 C,+1 BAD RANGE FOR ADDR. ASIZ
2037 LA AG MAXP1 ADDRESS M INT WD SUM BRANCH IF ADDRESS IS UNPRINTABLE.
2039 SWE,ONESMM L PRB ADR 0 Z,CSC C GO TELL MAN WHAT ADDR VALUE IS
2041 LN ZEROM ADDR WDM INT WD SUM
2042 TS W NEGATIV 4,1 INT WD SUM IF NEGATIVE ADDR, JUST SAY SO INSTEAD
2044 TX Z,SH,1 - -
2045 INT ERR 33 TX LOC M - LOC HOLD RESET INT LOCATION COUNTER
2047 TX,B17M ONESM - 1,27 FLAG IAOS CUSS
2049 TX Z,SH - Z,SC
2050 INT ERR 40 TS - - INT ERR 41
2051 INT WD 117 NA,CHAR1M CARDM BLANKSM C,+3 C COLUMN 1 MUST BE BLANK
2053 NA,CHAR1M CARDM +2 BLANKSM C,+2 C
2054 TX - - - COLUMN 17 MUST BE BLANK
2056 TX,B33M ONESM - 1,28
# Page 475
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 45 PAGE 211
P2057 PROCEDURE TO LET BASIC CHECK UP ON POLISH EXPECTATIONS
2058 INT WD DOG TX L GE BASE - Z,X3 C GENERAL PASS 2 VARIABLE STORAGE ADDR
2060 TX Z,MXR - PASS2 MXR C SWITCH MXRS
2062 TX CHECK UP - Z,MXR C
2063 LA ONES M LOC M INT WD MUS C BRANCH IF LOCATION IS BAD.
2065 NA INTERP WD ZEROM INT WD NOT C JUMP IF LAST WORD WAS POLISH
2067 NA,B25T27M ONESM INT ADDR INT WD NAT C JUMP IF C TYPE ADDRESS NOT EXPECTED
2069 INT WD SHO TN INT ADDR +1 4 INT ADDR C
2070 NA LOC HOLD LOC M INT WD FOS C JUMP IF POLISH SEQUENCE BROKEN
2072 INT WD SOT LA ONES M LOC HOLD C,+2 C
2073 WA LOC HOLD B48 M LOC HOLD C INCREMENT POLISH LOCATION COUNTER
2075 INT WD NOT SWE,ONESMM L AGP2 BAS 32 Z,X4 C ADDR OF *SENDWORD*
2077 TX PASS2 MXR - Z,MXR C RESTORE MASKS
2079 TS ZEROM INTERP WD 4,1 C ZERO POLISH WORD FLAG AND EXIT
2081 INT WD NAT LA INT ADDR ZEROM INT WD ZAP C JUMP IF NO POLISH ADDR EXPECTED
2083 NA,B31M INT ADDR ZEROM INT WD TOM C JUMP IF PUSHUP NOT ALLOWED
2085 NA B48M MODE OUT C,+2 C
2086 INT WD TOM TS,B33M ONESM 1,29 INT WD SHO C CALL POLISH ADDR EXPECTED ERROR
2088 LA B47T48MM MODE OUT C,-1 C JUMP IF POLISH WORD REQUIRED HERE
2090 NA,B34M WORD M ZERO M INT WD SHO C JUMP IF WORD IS NEGATIVE
2092 TS,B17M ONESM 1,29 INT WD SHO C ERROR. PUSHUP REQUIRES NEG WORD HERE
2094 INT WD ZAP NA B48M MODE OUT C,+2 C
2095 INT WD FOS TS,B1M ONESM 1,29 C,+2 C ERROR. PREVIOUS EQUATION UNFINISHED
2097 LA B47T48MM MODE OUT C,-1 C JUMP IF POLISH WORD EXPECTED HERE.
2099 TS B47M MODE OUT INT WD SOT C SET INTERPRETER TO UNKNOWN OUT MODE
2101 INT WD MUS LA ONES M LOC HOLD C,+2 C
2102 WA LOC HOLD B48M LOC HOLD C CAN'T TELL ANYTHING IF LOCATION IS BAD.
2104 TX PASS2 MXR - Z,MXR C RESTORE MXR. ZERO POLISH WORD FLAG.
2106 TS ZEROM INTERP WD N,SC,1 C EXIT USING SENDWORD BRACH
2108 INT PATCH RESERVE 9
2109 OCT 0
# Page 476
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 46 PAGE 212
P2200 PROCEDURE TO EVALUATE BNKSUM CONSTANTS. THE ADDRESS FIELD SHOULD GIVE A BANK NUMBER OR AN ADDRESS WITHIN A
R2202 FIXED BANK. NORMALLY, THIS PROCEDURE PLACES TWO ADRES-SELF WORDS INTO THE NAMED OR IMPLIED BANK, STARTING AT
R2204 THE FIRST UNUSED WORD IN THE BANK (THE BANK SHOULD BE EMPTY FROM THAT POINT ONWARD). HOWEVER, IF THE FIRST HOLE
R2206 OCCURS LATER THAN RELATIVE 3775, THE NUMBER OF ADRES-SELF WORDS IS REDUCED TO ONE OR ZERO. IF THE BANK IS FULL,
R2207 AN ADRES-SELF WORD GOES INTO 3775 WITH A CONFLICT CUSS. IF THE BANK IS EMPTY, IT WILL RECEIVE ADRES-SELF WORDS
R2208 ONLY IF SOME HIGHER BANK IS OCCUPIED.
2209 BNKSUM TS L USD FMAX Z,S3 INT OP SET C INITIALIZE VARIOUS REGISTERS.
2211 LA OCT 70 M ADDRESS M BNKSUM AD BRANCH IF ADDRESS IS NOT A BANK NUMBER.
2213 LA B46M ADDRESS M C,+2
2214 LA B47M ADDRESS M C,+2
2215 WA ADDRESS M B46M ADDRESS M ADD 4 TO ANY BANK NUMBER BUT 2 OR 3.
2217 SWE, ONESMM ADDRESS M 10,L ADDRESS M FORM ADDRESS 2000 WITHIN NAMED BANK.
2219 BNK SUM AD LA B37M ADDRESS M C,+2 ADDRESS MUST BE IN FIXED.
2221 TX L PR BADR - Z,SC
2222 TX,B39T48M ZERO M - ADDRESS M
2223 SWE, CAC3M L HOW HI F 16 Z,CSC C POINT TO BEGINNING OF BANK, FIND MAX BK.
2225 LA ONES M N,S3 C,+2 BRANCH IF NO FIXED WAS OCCUPIED (ODD).
2227 LA ADDRESS M N,S3 DO BNK SUM BRANCH UNLESS BANKSUM IS UNNECESSARY.
2229 SWE, CAC3M L EBK2 XIT 32 Z,S3
2230 TS W NO NEED LINE +6 N,S3 PLANT GOOD NEWS AND JOIN EBANK= PROC.
2232 DO BNK SUM SWE, ONESMM ADDRESS M 5 I COMMON
22322 TN W WDS LEFT 2 LINE +2
2233 WA M AV TABLE I COMMON Z,AU1 POINT TO FIRST AVAIL WORD FOR HIGH BANK.
2235 TS Z,AU1,31 Z,X6 C,+3 ALSO POINT TO LAST POSSIBLE AVAIL WORD.
2237 WA ADDRESS M OCT 40 M ADDRESS M
2238 LA Z,AU1 Z,X6 FOUND HOL +2 BRANCH IF ABOUT TO DO LAST POSS. AV WD.
2240 LA N,X6,1 CAC3 C,-2 FIND AN AVAIL WORD WITH A HOLE.
2242 FOUND HOL WD Z,X6 ONE Z,X6
2243 TS BIT 1 AV MSK FIND AVWD GOT ONE. NOW GO FIND THE HOLE.
2245 LA B30M N,X6 FOUND HOL +1 IF HOLE IS BEFORE 3776 OF BANK, 2 TC'S.
22454 TX ONES - 2ND HALFM
22456 SWE, CAC3M I PROC WD 32 MOD RTRN M SHOW THAT BANKSUM WILL BE AT MOST 1P.
22458 NA, B31M 6,0 ZEROM FOUND HOL +1 BRANCH IF IT IS INDEED ONE WORD.
2246 NA, B32M 6,0 ONES C,+2
22462 TS, B32M ZERO M 6,0 DO BNK SUM -2 NO NEED FOR TC SELFS IF ONE-WORD HOLE.
2247 SM HEALTH M BIT 16 HEALTH M
2249 TS, B32M ONES 6,0 FOUND HOL +1 CUSS CONFLICT AND FORCE HOLE AT END.
# Page 477
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 47 PAGE 213
P2250 FIND FIRST HOLE IN BANK FOR BNKSUM, OR FORCE ONE AT 3777.
2251 MASKGRP S,0 F,0
2252 FIND AV WD TS I GENL MXR Z,MXR C,+3
2253 WA ADDRESS M ONE ADDRESS M KEEP ADDRESS GUESS UP TO DATE.
2255 SWE, ONES AV MSK 1 AV MSK
2256 NA, AV MSK 6,0 ONES C,-2 SEEK A ONE-WORD HOLE IN BANK.
2258 TS, AV MSK ZERO M 6,0 FIND AV WD +2 C GET SET TO LOOK AT WORD FOR 2ND TC SELF.
2260 LA CAC3 AV MSK C,+2
2261 SWE, BIT 1 Z,X6,1 32,L AV MSK ADVANCE TO NEXT AVAIL WD IF NECESSARY.
22622 NA 2ND HALFM ONES C,+2 BRANCH IF THERE ARE 2 TC SELFS.
22624 LA BIT 1 AV MSK SUM CONFQ +3 BRANCH IF JUST CUSSED FULL BANK.
2263 NA, AV MSK 6,0 ZERO M C,+2
2264 TX, BIT16 ONES - HEALTH M CUSS CONFLICT OF 2ND TC SELF OR CHKSUM.
22642 TS, AV MSK ZERO M 6,0 FIND AV WD +2 C GET SET TO LOOK AT THE CHECKSUM WORD.
22643 LA ONES 2ND HALF M SUM CONFQ +3 BRANCH IF THERE IS ONE TC SELF WORD.
22646 LA CAC3 AV MSK SUM CONF Q
2265 SWE, BIT 1 Z,X6,1 32,L AV MSK 2ND TC SELF WAS AT END OF AVAIL WORD...
22653 SWS, B26T30 Z,X6 15,L C,+1 ...WAS IT ALSO AT END OF PARAGRAPH?
22656 SWE, ONES BIT 1 0 I COMMON
2266 SWE, D12 Z,X6 8 Z,AU1
22663 WA I SUSTAB Z,AU1 Z,AU1
22666 SM N,AU1 I COMMON N,AU1 MAY CREATE A PARAGRAPH JUST FOR CHKSUM.
2267 SUM CONFQ NA, AV MSK 6,0 ZERO M C,+2
22673 TS, BIT16 ONES HEALTH M C,+2 CUSS CONFLICT IN CHECKSUM WORD ITSELF.
22676 TX, AV MSK ZERO M - 6,0 RESERVE CHECKSUM WORD.
2268 SWE, CAC3 I TYP TAB 16 Z,X6
2269 LA, CAC3 ADDRESS M 6,0 C,+2 BRANCH WHEN MEMORY TYPE IS FOUND.
2271 TS Z,X6,1 - C,-1
2272 SWE, ONES B28T30 3,L AV MSK
2273 NA, AV MSK 6,0 B26MM BKSUM LOC -2 BRANCH IF 1ST ADDRESS IS NOT IN FIXED.
22742 LA ONES 2ND HALF M BKSUM LOC -1 BRANCH IF THERE IS ONE TC SELF.
2275 NA, CAC3 ADDRESS M 6,0 C,+2 BRANCH IF SECOND WORD IS IN FIXED TOO.
2277 SM HEALTH M BIT 15 HEALTH M SET WRONG-MEMORY-TYPE FLAG.
2279 SS ADDRESS M CAC3 HEALTH M IMITATE THE ACTION OF PASS 1 FOR A CON.
2281 BKSUM LOC SS ZERO M BIT 8 HEALTH M CLEAR SYMBOLIC-LOCATION FLAG.
2283 SWE, ONES B47T48MM 3 WORD M
2284 SWE, CAC3 L INSTRNT 16 Z,X6
2285 TS Z,SC Z,X4 6,2 NOW DO LOCATION VALUE PROCESSING.
2287 TX ADDRESS M - ADDR WDM DISTRIBUTE ADDRESS.
2289 I AGCMXR C SWE, CAC3 I AGC MXR 32 Z,MXR S
# Page 478
# @YUL SYSTEM ASSEMBLER AGC PASS 2 USER'S OWN PAGE NO. 48 PAGE 214
P22895 FINISH UP BNKSUM LOCATION(S), DISPLAY COUNT OF REMAINING WORDS IN BANK.
2290 MASKGRP S,1 F,1
2291 NA LOC M ONES C,+2
2292 SWE, CAC3M I BAD BASC 32 Z,SC EXIT NOW IF LOCATION IS BAD.
2294 LA ADDRESS M OCT 7777 FF BNKSUM BRANCH IF IN FIXED FIXED.
2296 TX, BANKMASK OCT 2000 - ADDR WD M CONVERT BANK NOTATION.
22972 TS OCT 3777 I COMMON FF BNKSUM +1
22974 WA OCT 3777 B 38 M I COMMON S
22976 WA OCT 3777 B 37 M I COMMON S MODIFY SUBTRACTION FOR FIXED-FIXED.
22978 FF BNKSUM SSL, ONEM ADDR WD M 10 C,-2 C
2302 WD I COMMON ADDR WD M I COMMON NUMBER OF WORDS LEFT IN BANK, IN BINARY.
2303 SWS, CHAR5M I COMMON A,2,L C,+1
2304 DT MID CAC 64 I COMMON +1
2305 SWS, CHAR5M I COMMON A,3,L C,+1
2306 DT B32MM I COMMON
2307 SWE, CAC3M L P2 D2AZS 32 Z,X4
2308 DA I COMMON I COMMON +1 4,5 NUMBER OF WDS LEFT IN BANK, IN DECIMAL.
2310 TS I GENL MXR Z,MXR N,X4 C CONVERT TO ALPHABETIC, SUPPRESS ZEROS.
2312 TS - - I AGCMXR C C DONE THUS TO SAVE MASKGRP CARDS--LAZY.
2313 SWS, C1T4M 4,5 A,4,L LINE +2 SET REMAINING-WORD COUNT IN PRINT.
23142 NA 2ND HALF M ONES C,+2
23144 SWE, CAC3M L AD ADRWD 16 Z,SC EXIT HERE WHEN THERE IS ONE TC SELF.
22146 WA ADDR WDM ONE 2ND HALF M FORM SECOND TC SELF WORD.
2215 SM ADDR WDM BIT 1 ADDR WDM
2216 SWE, CAC3M L PRIN 2PA 32 Z,SC MAKE ADR WD POSITIVE AND GO PRINT WORDS.