# 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,BANKMASK 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 FPREL 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. COSTANT FOR 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.