YUL_SYSTEM_ASSEMBLER_AGC4_PASS_2.argus
# Copyright: Public domain.
# Filename: YUL_SYSTEM_ASSEMBLER_AGC4_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: 335-359
# Mod history: 2016-10-06 JL Created.
# 2016-12-20 JL Transcribed pages 335-341.
# 2016-12-21 JL Transcribed pages 342-346.
# 2016-12-22 JL Transcribed pages 347-359.
# 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 AGC4 PASS 2
# Page 335
# @YUL SYSTEM ASSEMBLER AGC4 PASS 2 USER'S OWN PAGE NO. 1 PAGE 71
R000001 WE ARE DEEPLY INDEBTED TO THE ONE, THE ONLY, THE GREAT JOHN SHAW FOR THE FOLLOWING STRONG MAGIC....
R0002 JSOCTL
0003 SETLOC,2 SIZ PASS 2 B1
0004 MASKGRP,4 S,1 F,1
R0005 THE AGC4 PART OF PASS 2 CONTAINS THE CUSS LIST AND CUSSES FOR AGC4, TOGETHER WITH CODING TO PLANT A
R0007 MODIFIED CUSS LIST AT THE BEGINNING OF BANK 2, AND CODING TO PROCESS INSTRUCTIONS AND CLERICAL CODES FOR AGC4.
R0009 THE CUSS LIST AND CUSSES ARE LOADED INTO BANK 5 ALONG WITH CODING TO CONVERT THE CUSS LIST FROM THE
R0011 FOLLOWING MIXED-CONSTANT FORMAT:
R0012 OP CODE: FOR EACH OF 3 CUSSES, A POISON BIT AND A 3-BIT CUSS LENGTH.
R0013 A ADDRESS: DEMAND BIT AND SUBADDRESS OF CUSS 1,
R0014 B ADDRESS: DEMAND BIT AND SUBADDRESS OF CUSS 2,
R0015 C ADDRESS: DEMAND BIT AND SUBADDRESS OF CUSS 3
R0016 TO A CAC-WORD FORMAT IN WHICH EACH CAC CONTAINS THE DEMAND BIT, POISON BIT, LENGTH AND SUBADDRESS OF A CUSS.
R0018 THE CONVERSION IS REQUIRED ONLY TO MAKE USE OF EXISTING MASKS IN GENERAL PASS 2.
R0020 THE PROCESSING CODING IN THE BANK 1 PORTION OF AGC4 PASS 2 HAS THE FOLLOWING FUNCTIONS:
R0022 1) FOR ALL WORDS, TO SET IN PRINT THE WORD AND ITS LOCATION, AND ANNOUNCE END OF BANK OR END OF BLOCK IF
R0024 APPROPRIATE.
R0025 2) FOR INSTRUCTIONS, TO TRANSLATE THE ADDRESS FIELD AND REDUCE IT IF ITS VALUE IS IN ONE OF THE BANKS
R0027 03-34, NOTING BANK ERROR IF APPROPRIATE. SUPPLY IMPLIED ADDRESS IF REQUIRED. CUSS POLISH INDEXING IF IT IS
R0029 SPECIFIED.
R0030 FOR BASIC INSTRUCTIONS, CHECK THAT "CAF" AND "OVIND" REFER TO FIXED AND "CCS", "TS" TO 0-1777, UNLESS
R0032 PRECEDED BY "INDEX", CHECK THAT EXTRACODES ARE INDEXED, AND FLAG "ADRES", "CADR", "XCADR" CODES AND POLISH AND
R0034 STORE ADDRESSES AS CONSTANTS. FLAG UNINDEXED BASIC INSTRUCTIONS.
R0035 FOR POLISH OPERATOR WORDS, TO TRANSLATE THE ADDRESS FIELD IF IT IS AN OPERATOR WORD COUNT, OR FORM A
R0037 WORD FROM THE TWO OPERATORS OTHERWISE, ADDING 1 AND COMPLEMENTING. CUSS ALL ERRORS OF THE SECOND OPERATOR.
R0039 3) FOR CONSTANTS, TO FLAG THEM AS SUCH AND CHECK ON MAGNITUDE.
R0040 4) FOR SETLOC, EQUALS, MEMORY, BLOCK, SUBRO, AND ERASE, TO SET APPROPRIATE ADDRESSES IN PRINT.
# Page 336
# @YUL SYSTEM ASSEMBLER AGC4 PASS 2 USER'S OWN PAGE NO. 2 PAGE 72
P0042 QUANTITIES FILLED IN BY THE AGC4 PART OF PASS 2 FOR REFERENCE BY GENERAL PASS 2.
0044 A4 PROC OP CAC AGC4 INST AGC4 1P AGC4 PREL
0045 A4 D1 PARS FLDEC 16383.0, 16384.0
0046 FXBIN -16383
0047 A4 K1 MAX OCT -77777
0048 A4 D2 PARS FLDEC 268 435 455.0, 268 435 456.0
0049 FXBIN -268 435 455
0050 A4 PROC 2P CAC AGC4 2P AGC4 PLEB
0051 A4 K2 MAX OCT -77 7777 7777
0052 A4 MAX LOC OCT -71777
0053 A4 CON MSX OCT -77, 7777 7777
0054 A4 PRET FL OCT 0000 0010
0055 A4 FLG MSK OCT 7400 0077
0056 A4 CONS FL OCT 0000 0020
0057 AGC4 MXR MASKBASE S,1 F,1
00572 A4 MISC FL OCT 0000 0030
# Page 337
# @YUL SYSTEM ASSEMBLER AGC4 PASS 2 USER'S OWN PAGE NO. 3 PAGE 73
P0058 FIELD AND SHIFT MASKS FOR AGC4 PART OF PASS 2.
00582 SETLOC,4 768 B5
0059 B,BIT1M OCT 4
0060 B,BIT7M OCT 004
0061 B,BIT17M DEC 00008
0062 B,BIT25M OCT -4000 0000
0063 B,BIT28M OCT -400 0000
0064 B,BIT31M OCT -40 0000
0065 B,BIT32M OCT -20 0000
0066 B,BIT33M OCT -10 0000
0067 B,B25T29M OCT -7600 0000
0068 B,B25T31M OCT -7740 0000
0069 B,B34T36M OCT -7 0000
0070 B,B34T48M OCT -77777
0071 B,B39T48M OCT -1777
0072 B,B42T48M OCT -177
0073 B,CHAR1M OCT 77
0074 B,CHAR5M OCT -7700 0000
0075 B,CHAR8M OCT -77
0076 B,C1T4M OCT 7777 7777
0077 B,C3T4M OCT 0000 7777
0078 SPECMAG M EQUALS B34T48M
0079 B,BANKMASK OCT -76000
00801 B,B35T48M OCT -37777
# Page 338
# @YUL SYSTEM ASSEMBLER AGC4 PASS 2 USER'S OWN PAGE NO. 4 PAGE 74
P0081 FURTHER SHIFT MASKS FOR AGC4 PART OF PASS 2.
00818 S,BIT2M OCT 2
0082 S,BIT38M OCT -2000
00821 S,BIT39M OCT -1000
00822 S,BIT40M OCT -400
0083 S,B2T5M OCT 36
0084 S,B6T16M OCT 0177 74
0085 S,B18T21M OCT 0000 017
0086 S,B22T25M OCT 0000 0007 4
0087 S,B22T32M OCT -7 7760 0000
0088 S,B28T30M OCT -700 0000
0089 S,B34T37M OCT -7 4000
0090 S,B35T41M OCT -37600
0092 S,B38T48M OCT -3777
0093 S,B40T42M OCT -700
0094 S,ACO1 OCT 07
0095 S,ACO2 OCT 0007
0096 S,ACO3 OCT 0000 07
0097 S,ACO4 OCT 0000 0007
0098 ACO5 EQUALS B28T30M
0099 ACO6 EQUALS B34T36M
00992 ACO7 EQUALS B40T42M
0100 S,CHAR3M OCT 0000 77
0101 S,CHAR4M OCT 0000 0077
0102 S,CHAR7M OCT -7700
0103 S,C3T6M OCT 0000 7777 7777
0104 S,ONESM OCT 7777 7777 7777 7777
01042 S,THREEM OCT -3
# Page 339
# @YUL SYSTEM ASSEMBLER AGC4 PASS 2 USER'S OWN PAGE NO. 5 PAGE 75
P0105 CONSTANTS AND EQUIVALENCES FOR THE AGC4 PART OF PASS 2.
01052 SETLOC,2
R0106 NUMERICAL CONSTANTS.
0107 SPECOND 2 OCT -0400 0000
0108 SPECOND 3 OCT -0600 0000
0109 SPECOND 4 OCT -1000 0000
0110 SPECOND 5 OCT -1200 0000
0111 SPECOND 6 OCT -1400 0000
0112 SPECOND 7 OCT -1600 0000
0113 SPECON 11 OCT -2200 0000
0114 SPECON 12 OCT -2400 0000
0115 2 POLOP 7 OCT -0340 0000
0116 2 POLOP 17 OCT -0740 0000
0117 2 POLOP 27 OCT -1340 0000
0118 PL 77776 OCT +77776
0119 PL 72000 OCT +72000
0120 PL 71777 OCT +71777
0121 PL 57776 OCT +57776
0122 PLUS 1776 OCT +1776
0124 OCT 77776 OCT -77776
0125 MIN 37777 OCT -37777
0126 OCT 32000 OCT -32000
0127 OP CODE 4 EQUALS BIT 34
0129 OCT 6000 OCT -6000
0130 OCT 5777 OCT -5777
0132 DEC 48 FLG DEC 48
0135 CHAR 2 OCT 0077
0136 OP COUNT OCT -77777
01361 C3T6 OCT 0000 7777 7777
01362 OCT 17777 OCT -17777
# Page 340
# @YUL SYSTEM ASSEMBLER AGC4 PASS 2 USER'S OWN PAGE NO. 6 PAGE 76
P0137 ALPHABETIC CONSTANTS.
0138 END BL MC ALF EB MC
0139 HI EQUALS ALF =00,0000
0140 ALF 6000 EQUALS SPECOND 3
0141 COMMA C2 ALF 0,0000
0142 COMMA C8 ALF 00,
0143 MINUS C8 ALF -
0144 BLOTS EQUALS BLOT WORD
R0145 ADDRESS CONSTANTS AND MISCELLANEOUS.
0146 IMPAD BAS SPEC IMPLADS
0148 IMPLADS CAC 1 0 -
0149 CAC 14 2 -
0150 CAC 21 15 -
0151 CAC 3071 -
0152 SAV ADREF RESERVE 2
0153 ADDITIVE RESERVE 1
0154 MAX ADRES RESERVE 1
0156 ADRE CUSS ASSIGN 4,0
# Page 341
# @YUL SYSTEM ASSEMBLER AGC4 PASS 2 USER'S OWN PAGE NO. 7 PAGE 77
P0157 SUBROUTINE IN PASS 2 FOR AGC4 TO FORM A WORD FROM AN OPERATION CODE AND AN ADDRESS (BASIC INSTRUC-
R0159 TIONS AND ADDRESS CONSTANTS), OR FROM TWO POLISH OPERATOR CODES (POLISH OPERATOR WORDS). THE OPERATION CODE(S)
R0161 AND SOME ASSOCIATED INFORMATION BITS ARE TAKEN FROM THE HEALTH WORD OF THE CURRENT POPO ITEM. THE ADDRESS IS
R0163 OBTAINED FROM THE CARD VIA A GENERAL SUBROUTINE IN PASS 2 CALLED PROC ADR. IMPLIED ADDRESSES, BANK ERRORS, AND
R0165 INAPPROPRIATE ADDRESSES ARE CHECKED FOR, AND ADDRESS VALUE CUSSING IS DONE.
0167 AGC4 INST TX AGC4 MXR - Z,MXR USE MASKBASE FOR THIS MACHINE.
0169 NA, BIT 32M HEALTH ZERO POLISH OP BRANCH IF A POLISH OPERATOR WORD.
0171 SWE, B34T36M HEALTH 12 WORD INSERT BASIC OP CODE INTO WORD.
0173 SWS, BIT1M HEALTH 10,L CUSS LIST +30 MAYBE CUSS ILLEGAL OP CODE ASTERISK.
0175 NA, BIT 31M HEALTH ONES NO IMPLAD BRANCH IF NO IMPLIED ADDRESS.
0177 IMPLAD NA ADDRESS 1 BLANKS C,+3
0178 NA ADDRESS 2 BLANKS C,+2
0179 TS IMPAD BAS Z,X6 C,+2 PROCEED IF ADDRESS FIELD IS BLANK.
0181 TS, BIT 1M ONES CUSS LIST +21 C,-1 OTHERWISE CUSS MILDLY AND PROCEED.
0183 SWS, B22T25M HEALTH 5,L C,+1
0184 SWE, B34T48M 6,0 0 ADDRESS SUPPLY IMPLIED ADDRESS.
01852 BS ZERO ADDRESS ADR WD
0186 NA, BIT 25M HEALTH ONES NOT SQUAR BRANCH UNLESS OP CODE IS "SQUARE".
0188 SQUARE NA, BIT 7M SWITCH ZERO NOT SQUAR +2 BR IF EXTRACODE "SQUARE" IS INDEXED.
0190 TS, BIT 1M ONES CUSS LIST +12 NOT SQUAR +2 CUSS OTHERWISE.
0192 NOT SQUAR SWS, BIT 28M HEALTH 2 SWITCH SET CURRENT INDEX BIT FOR "EXTEND".
01932 SWS, BIT17M SWITCH 10 CUSS LIST +2 CUSS INDEXING ON NON-EXTRACODE IMPLADS.
0194 TS, CHAR5M ZERO HEALTH BASIC SBA CLEAR FALSE SPECIAL CONDITION FLAGS.
0196 NO IMPLAD TN ADDRESS 1 2 SAV ADREF SAVE ADDRESS FIELD IN CASE OF POLADRES.
0198 LA, B25T29M HEALTH SPECOND 5 NON CONST BRANCH IF SPECIAL CONDITION 5 OR LESS.
0200 LA, B25T29M SPECON 13 HEALTH NON CONST BRANCH IF SPECIAL CONDITION 13 OR MORE.
0202 ADR CONST SM WORD DEC 6 FLAG WORD PUT CONSTANT FLAG ON ADDRESS CONSTANT.
0204 LA, B25T29M HEALTH SPECOND 7 NON CONST +1 BRANCH IF CODE = ADRES OR CADR.
02052 LA, B25T29M HEALTH SPECON 11 POL STORE BRANCH IF CODE IS NOT XCADR.
02054 TS, SPECMAGM SPECON 13 WORD NON CONST +2 SET UP 47777 IN WORD AND ALLOW -ADDRESS.
0206 POL STORE TS ONE ADDITIVE RITE NORM C GO FISH FOR ",1" OR ",2".
0208 LA, CHAR8M ADDRESS 2 ZERO NO POLIX NO INDEXING IF LAST CHAR IS 0.
0210 LA, CHAR8M THREE ADDRESS 2 NO POLIX NOR IF IT IS 3 OR MORE.
0212 TS, CHAR8M ADDRESS 2 ADDITIVE RITE NORM +1 C IT WAS 1 OR 2 AND NOW WE SEEK A COMMA.
0214 NA, CHAR8M ADDRESS 2 COMMA C8 NO POLIX
0215 POLE INDX TS, BIT1M ONES ADDITIVE RITE NORM +1 C INDICATE INDEXING AND REMOVE COMMA.
0217 NA, B25T29M HEALTH SPECON 11 POLISH AD
0218 STORE AD SWS, BIT38M ADDITIVE 37 ADDITIVE
0219 WA ADDITIVE OCT 32000 ADDITIVE ADD 32000 (DIRECT) OR 34000 (INDEXED).
0221 TS PLUS 1776 MAX ADRES OP CK STOR SET MAX, CHECK OP WORD COUNT IF NEEDED.
0223 NO POLIX TN SAV ADREF 2 ADDRESS 1 RESTORE ADDRESS FIELD IF NO INDEXING.
0225 TS ONE ADDITIVE POLE INDX +1 GO TO FIND WHETHER POLISH OR STORE.
# Page 342
# @YUL SYSTEM ASSEMBLER AGC4 PASS 2 USER'S OWN PAGE NO. 8 PAGE 78
P0227 INACTIVE ADDRESS CHECK AND LIMIT SETUP FOR POLISH ADDRESSES.
02272 POLISH AD NA, CHAR1M CARD +2 BIT 1 C,+3 BRANCH IF NO MINUS IN COL 17.
02274 SWS, BIT 1M SWITCH 16,L CUSS LIST +22 CUSS MINUS IF FIRST ADDRESS OF EQUATION.
022751 BS ZERO ONE MIN ADRES MINIMUM MAGNITUDE IS ONE IF MINUS.
022754 NA, BIT17M SWITCH ONES C,+4 BRANCH IF NOT FIRST ADDRESS OF EQUATION.
022756 LA OP COUNT ZERO C,+2 BRANCH IF LAST OPERATOR WORD COUNT OK.
022758 SM CUSS LIST +23 BIT 17 CUSS LIST +23 CUSS BAD OPERATOR WORD COUNT.
02276 SS ZERO BIT 17 SWITCH RESET PERMISSION BIT FOR MINUS POLADS.
0228 LA ADDITIVE BIT 1 PO DIRECT TEST FOR INACTIVE ADDRESS IF UNINDEXED.
0230 TX PL 57776 - MAX ADRES MAXIMUM AUGMENTER FOR POLISH INDEXED.
02311 POL SIGN T NA, CHAR1M CARD +2 BIT 1 MAX AD SET TEST STORE AND/OR POLISH INDEXED ADDR.
02313 TS PL 72000 MIN ADRES MAX AD SET FORCE RANGE ERROR IF MINUS SIGN HERE.
0232 PO DIRECT TS PL 77776 MAX ADRES RITE NORM C MAXIMUM VALUE FOR POLISH UNINDEXED.
0234 NA ADDRESS 1 BLANKS ACTIVE
02342 NA ADDRESS 2 BLANKS C,+2
02344 SM CUSS LIST +11 BIT 17 CUSS LIST +11 POLAD W/ BL ADR FLD MAY BE BLANK CARD.
0235 NA ADDRESS 2 MINUS C8 ACTIVE
0236 TN SAV ADREF 2 ADDRESS 1 RESTORE ADDRESS FIELD IF INACTIVE.
0238 TS, SPECMAGM ONES WORD GUD BASIC MINUS ZERO REPRESENTS INACTIVE ADDRESS.
0240 ACTIVE TS SPEC MAG MIN ADRES MAX AD SET (PERMITTED UNTIL OPS ARE EXAMINED).
0242 NON CONST NA, B34T36M WORD OP CODE 4 C,+2 BRANCH TO PERMIT NEGATIVE ADDRESS.
0244 TS PL 71777 MAX ADRES MAX AD SET MAX FOR ALL CASES BUT POLISH AND STORE.
0246 TS OCT 7777 MIN ADRES C,-1 ALLOW -7777 TO 71777 EXCEPT ON CS, MP.
0248 MAX AD SET TX GENL MXR - Z,MXR
0249 TS Z,SC Z,X6 PROC ADR TRANSLATE ADDRESS FIELD.
0251 TN SAV ADREF 2 ADDRESS 1 RESTORE ORIGINAL ADDRESS FIELD FOR PRNT.
0253 TS ZERO MIN ADRES AGC4 INST C RESTORE MIN ADR VALUE AND MXR.
0255 SWS, BIT 17M HEALTH 8 CUSS LIST CUSS LACK OF "D" IN DECIMAL SUBFIELD.
0257 LA ONES ADDRESS BAD BASIC MEANINGLESS OR ATROCIOUS ADDRESS.
0259 LN ADR WD MAX ADRES CONST Q BRANCH IF NO RANGE ERROR.
0261 LN PL 72000 ADR WD C,+2
0262 RNG ERROR TS, BIT33M ONES CUSS LIST +11 PRB ADRES C PRINT BAD-SIZE ADDRESS IF POSSIBLE.
0264 TS, BIT17M ONES CUSS LIST +3 BAD BASIC CUSS RANGE ERROR IN ADDRESS VALUE.
0266 CONST Q LA WORD BIT 17 INSTROP BRANCH IF NO CONSTANT FLAG.
0268 LA, B25T29M HEALTH SPECOND 6 BASIC SBA BRANCH IF CODE IS "ADRES".
0271 LA, B25T29M HEALTH SPECOND 7 CADR
02712 LA, B25T29M SPECON 12 HEALTH BASIC ADR BRANCH IF CODE IS XCADR.
02714 PO STOR AD LA ADDRESS OCT 1777 C,+4 INTERPRETIVE MAY ADDRESS ERASABLE ....
027152 LA ADDITIVE BIT 1 C,+2
027154 LA ADDRESS OCT 17777 C,+2 ...WITH SOME LATITUDE IF INDEXED...
02716 LA ADDRESS MIN 37777 RNG ERROR .... OR UPPER HALF OF SWITCHED BANKS.
0272 WA, B35T48M ADDRESS ADDITIVE WORD USE ADDITIVE ON POLISH OR STORE ADDRESS.
0274 LA ADDITIVE BIT 1 C,+2
0275 WA, B35T48M WORD ADDRESS WORD USE 2 X ADDRESS IF INDEXED.
02762 NA, CHAR1M CARD +2 BIT 1 GUD BASIC BRANCH IF NO MINUS SIGN IN COLUMN 17.
02764 WD WORD TWO WORD SINCE INTERPRETER DOES NOT CCS THESE.
0277 TS, C1T4M ZERO LINE +6 GUD BASIC +1 CLEAR ADDRESS IMAGE AND GO TO PRINT.
0279 CADR TS, SPECMAGM ADDRESS WORD GUD BASIC USE ADDRESS AS IS FOR CADR.
# Page 343
# @YUL SYSTEM ASSEMBLER AGC4 PASS 2 USER'S OWN PAGE NO. 9 PAGE 79
P0293 SPECIFIC PROCESSING FOR BASIC INSTRUCTIONS.
0294 INSTROP LN ZERO ADR WD C,+3 BRANCH IF POSITIVE ADDRESS VALUE.
0296 NA, BIT 7M SWITCH ZERO C,+2
0297 SM CUSS LIST +12 BIT 1 CUSS LIST +12 CUSS IF NO INDEX BEFORE MINUS ADDRESS.
0299 LA, B25T29M HEALTH ZERO BASIC ADR BRANCH IF THERE ARE NO SPECIAL CONDS.
0301 LA, B25T29M HEALTH SPECOND 2 CAF OVIND
0302 LA, B25T29M HEALTH SPECOND 3 CCS
0303 LA, B25T29M HEALTH SPECOND 4 INDEX
03032 LA, B25T29M HEALTH SPECOND 5 TS
0304 XTRACODE NA, BIT7M SWITCH ZERO BASIC ADR
0305 TS, BIT 1M ONES CUSS LIST +12 BASIC ADR CUSS UNINDEXED EXTRACODE.
03062 TS NA, BIT7M SWITCH ZERO BASIC ADR BYPASS CHECK IF INSTRUCTION IS INDEXED.
03064 LA ADDRESS OCT 1777 BASIC ADR
03066 TS, BIT17M ONES CUSS LIST +11 BASIC ADR FIXED MEM ADRES INAPPROPRIATE FOR TS.
0307 INDEX TS, BIT28M ONES SWITCH BASIC ADR SET CURRENT INDEX BIT.
0309 CCS NA, BIT 7M SWITCH ZERO BASIC ADR NO CHECK ON INDEXED CCS.
0311 LA ADDRESS OCT 1777 BASIC ADR BRANCH IF VALUE CORRECT FOR CCS.
0313 TS, BIT 33M ONES CUSS LIST +11 PRB ADRES C
0314 TS, BIT17M ONES CUSS LIST +12 BASIC ADR CUSS CCS REFERENCE TO FIXED.
03152 CAF OVIND SWS, BIT 33M HEALTH 5 CUSS LIST +23 WARN OF OVIND'S COMING OBSOLESCENCE.
0316 NA, BIT 7M SWITCH ZERO BASIC ADR NO CHECK ON INDEXED CAF OR OVIND.
0318 LA OCT 2000 ADDRESS BASIC ADR BRANCH IF VALUE CORRECT FOR CAF, OVIND.
0320 SM CUSS LIST +11 BIT 17 CUSS LIST +11 CUSS INAPPROPRIATE ADDRESS.
0322 BASIC ADR LN ZERO ADR WD BASIC SBA BRANCH IF POSITIVE ADDRESS.
0324 NA WORD ZERO C,+2
0325 TX SPEC MAG - WORD +0 MUST BECOME -0 FOR SUBTRACTION.
0327 WD WORD ADDRESS WORD ADD IN NEGATIVE ADDRESS.
0329 TS, C1T4M ZERO LINE +6 GUD BASIC +1 CLEAR ADDRESS IMAGE AND GO TO PRINT.
0331 BASIC SBA LA ADDRESS OCT 5777 CUSS BANK +1 BRANCH IF ADDRESS NOT IN A BANK.
0333 TX, BANKMASK OCT 6000 - ADR WD PUT SUBADDRESS IN 6000-7777 CLASS.
0335 LA LOCATION OCT 5777 CUSS BANK +1 BRANCH IF LOCATION IS NOT IN A BANK.
0339 NA, BANKMASK LOCATION ADDRESS C,+2 BRANCH ON BANK ERROR.
0341 TS - - CUSS BANK +1 GO TO ASSEMBLE WORD.
0343 TX Z,R5 - Z,X6 PUT BANK INDICATOR 5 IN X6.
03442 SWS, BIT2 M SWITCH 5,L CUSS LIST +11 SET POISON BIT OF BANK CUSS = -INDEXED.
03444 HA CUSS LIST +11 B1B2 CUSS LIST +11 CALL FOR BANK ERROR CUSS.
0345 SWS, B38T48M CUSS LIST +11 32 Z,X6
0346 SWS, ACO4 ADDRESS 11,L 6,2
0347 CUSS BANK SWS, ACO5 ADDRESS 8,L 6,2 INSERT BANK NUMBER IN BANK CUSS.
03502 WA, SPECMAGM WORD ADR WD WORD PUT ADDRESS OR SUBADDRESS IN WORD.
# Page 344
# @YUL SYSTEM ASSEMBLER AGC4 PASS 2 USER'S OWN PAGE NO. 10 PAGE 80
P0351 PRINTING PROCEDURES FOR BASIC INSTRUCTIONS AND ADDRESS CONSTANTS.
0352 GUD BASIC SS ZERO C1T4 LINE +6 CLEAR ADDRESS FIELD OF PRINT IMAGE.
0354 NA, CHAR1M CARD +2 BIT 1 C,+2 BRANCH IF NO MINUS SIGN IN COLUMN 17.
0356 HA WORD SPEC MAG WORD COMPLEMENT NEGATIVE INSTRUCTION.
0358 SWS, ACO1 WORD 33,L LINE +6
0359 SWS, ACO2 WORD 30,L LINE +6
0360 SWS, ACO3 WORD 27,L LINE +6
0361 SWS, ACO4 WORD 24,L LINE +6 PUT BASIC CODE ADDRESS INTO PRINT IMAGE.
0363 LA DEC 6 FLAG WORD ACON PRNT BRANCH IF WORD IS AN ADDRESS CONSTANT.
0365 INST PRNT SWS, CHAR7M WORD 6 LINE +5 PRINT OP CODE OF INSTRUCTION.
036602 NA, BIT 7M SWITCH ZERO C,+2 BRANCH ON INDEXED INSTRUCTION.
036604 TX, CHAR1M DEC 48 FLG - WORD MARK AS SUBJECT TO BAD REFERENCE CHECK.
03661 SWS, CHAR3M ADDRESS 20,L WORD SUPPLY BANK INDICATOR TO SIMULATOR.
03663 SWS, CHAR4M WORD 6 WORD STORE IT TWICE TO MAKE PARITY OK.
0367 SWS, BIT7M SWITCH 21,L SWITCH MOVE CURRENT INDEX BIT TO PREVIOUS.
0369 TS, BIT28M ZERO SWITCH BC CHECK CLEAR CURRENT INDEX BIT.
0371 BAD BASIC SS BLOTS C1T4 LINE +6 BLOT OUT BAD ADDRESS FIELD.
0373 LA WORD BIT 17 C,+2
0374 TS, CHAR8M BLOTS LINE +5 NAUGHTY BLOT FIRST DIGIT OF BAD CONSTANT.
0376 NA, B25T29M HEALTH SPECOND 4 C,+2
0377 TS, BIT 7M ONES SWITCH C,+2 SET PREVIOUS INDEX BIT IF INDEX.
0379 SS ZERO BIT 7 SWITCH CLEAR PREVIOUS INDEX BIT.
0381 NA, CHAR1M CARD +2 BIT 1 C,+2 BRANCH IF NO MINUS SIGN IN COLUMN 17.
0383 HA WORD SPEC MAG WORD COMPLEMENT GOOD OP OF BAD NEG. INSTR.
0385 SWS, CHAR7M WORD 6 LINE +5 PRINT GOOD OP CODE IN BAD INSTRUCTION.
0387 NAUGHTY TS W BAD WORD WORD BC CHECK
0388 ACON PRNT SWS, CHAR8M WORD 12 LINE +5 PRINT FIRST DIGIT OF CONSTANT.
0390 BC CHECK NA, CHAR1M CARD +2 BIT 1 C,+2
0391 TS, BIT 1M ZERO CUSS LIST +12 C,+2 CLEAR "SHOULD-BE-INDEXED" CUSS IF MINUS.
0393 NA, CHAR1M CARD +2 BLANKS QUEER C17 CUSS IF NEITHER BLANK OR MINUS IN CC 17.
0395 NA, CHAR1M CARD J COLUMN 1 C,+2
0396 TS, BIT 1M ZERO CUSS LIST +12 C,+2 CLEAR "SHOULD-BE-INDEXED" CUSS IF LFTVR.
0398 NA, CHAR1M CARD BLANKS QUEER C1 CUSS IF NEITHER BLANK NOR J IN COLUMN 1.
0400 NA, CHAR8M CARD +2 BLANKS QUEER C24 CUSS IF COLUMN 24 NON-BLANK.
0402 INSTR XIT TS MOD RETRN Z,SC RSTOR MXR C RETURN TO GENERAL PROCEDURE.
# Page 345
# @YUL SYSTEM ASSEMBLER AGC4 PASS 2 USER'S OWN PAGE NO. 11 PAGE 81
P0404 WHEN ADDRESS IS WRONG BUT NOT ATROCIOUS, TELL THE MAN WHAT IT IS.
0405 PRB ADRES TX Z,R5 - Z,X4 C BANK INDICATOR 5 TO X4.
0407 SS CUSS LIST +11 B38T48 Z,X4 C SET UP ADDRESS OF ADR CUSS.
0409 TX HI EQUALS - ADRECUSS +1 C INITIALIZE TO ALF =00,0000.
0411 SS ADDRESS B46T48 ADRECUSS +1 C
0412 SWS, B40T42M ADDRESS 3,L ADRECUSS +1 C
0413 SWS, B34T36M ADDRESS 6,L ADRECUSS +1 C
0414 SWS, B28T30M ADDRESS 9,L ADRECUSS +1 C PUT ADDRESS OR SUBADDRESS INTO CUSS.
0416 LA OCT 6000 ADDRESS ACUSS BNK C BRANCH IF ADDRESS IS IN A BANK.
0418 SWS, C3T6M ADRECUSS +1 A,2,L ADRECUSS +1 C MOVE UP NON-BANK ADDRESS.
04191 SS BLANKS CHAR 2 ADRECUSS +1 C
0420 SS BLANKS C7T8 ADRECUSS +1
0421 ACUSS BNK SM ADRECUSS +1 ALF 6000 ADRECUSS +1 C PUT SUBADDRESS IN THE RANGE 6000-7777.
0423 SWS, ACO2 ADDRESS 23,L ADRECUSS +1 C PUT BANK NUMBER INTO CUSS.
0425 SWS, ACO3 ADDRESS 20,L ADRECUSS +1
R0426 MINOR SUBROUTINE IN AGC4 PASS 2 TO RIGHT-NORMALIZE THE ADDRESS FIELD BY SHIFTING END-OFF. EXITS IF
R0428 THE FIELD IS OR BECOMES ALL BLANK.
0429 RITE NORM NA, CHAR8M ADDRESS 2 BLANKS END RNORM C BRANCH IF FINISHED.
0431 SWS, ONESM ADDRESS 1 A,1 ADDRESS 1 C
0432 SWS, ONESM ADDRESS 2 A,1 ADDRESS 2 C
0433 SS ADDRESS 1 CHAR1 ADDRESS 2 C
0434 SS BLANKS CHAR1 ADDRESS 1 C SHIFT RIGHT ONE CHARACTER.
0436 NA ADDRESS 1 BLANKS RITE NORM C
0437 NA ADDRESS 2 BLANKS RITE NORM C REPEAT UNLESS ALL BLANK.
0439 END RNORM TX - - -
R04392 OPERATOR WORD COUNT CHECKING FOR STORE ADDRESSES.
04393 OP CK STOR NA, BIT17M SWITCH ONES POL SIGN T EXIT IF NOT BEGINNING OF EQUATION.
04395 LA OP COUNT ZERO C,+2
04397 SM CUSS LIST +23 BIT 17 CUSS LIST +23 CUSS BAD OPERATOR WORD COUNT.
04399 TS,BIT17M ZERO SWITCH POL SIGN T
# Page 346
# @YUL SYSTEM ASSEMBLER AGC4 PASS 2 USER'S OWN PAGE NO. 12 PAGE 82
P0440 AGC4 PASS 2 PROCESSING FOR POLISH OPERATOR WORDS.
0441 POLISH OP SWE, B35T41M HEALTH 17 WORD SET UP 7-BIT LEFT OPERATOR.
04421 TS, BIT17M ONES SWITCH SEL STAR 1 REVOKE PERMISSION FOR MINUS ADDRESSES.
04422 SWS, BIT 40M HEALTH 29 WORD MOVE INDEX BIT TO GENERAL OPERATOR.
04423 SWS, BIT17M HEALTH 6 CUSS LIST +22 CUSS INDEXING OF MISCELLANEOUS OPERATOR.
04424 SPECON 13 OCT -2604 7777
04425 SWS, BIT 39M HEALTH 28 WORD MOVE INDEX BIT TO UNARY OPERATOR.
04426 SEL STAR 1 SSL, THREEM HEALTH 24 C,-4 C BRANCH ON TYPE OF FIRST OPERATOR.
0443 NA, B25T31M HEALTH 2 POLOP 7 NOT COUNT BRANCH UNLESS SECOND HALF IS OP WORD CT.
0445 TX GENL MXR - Z,MXR
0446 TS Z,SC Z,X6 PROC ADR TRANSLATE ADDRESS FIELD.
0448 TS ADDRESS OP COUNT AGC4 INST C SET OP COUNT (PERHAPS TO ONES).
0449 SWS, BIT 17M HEALTH 8 CUSS LIST MAYBE CUSS "D" ERROR.
0451 LA ONES ADDRESS BAD POLE BRANCH IF MEANINGLESS OR ATROCIOUS ADR.
0453 LA ADDRESS OCT 177 OK COUNT BRANCH IF COUNT IS 127 OR LESS.
0455 LN PL 72000 ADR WD C,+2 BRANCH IF ADDRESS IS UNPRINTABLE.
0457 TS, BIT 33M ONES CUSS LIST +11 PRB ADRES C PRINT OVERSIZE ADDRESS.
04582 TX ONES - OP COUNT GUARANTEE OP COUNT CUSS.
0459 TS, BIT 17M ONES CUSS LIST +3 BAD POLE CUSS RANGE ERROR IN ADDRESS VALUE.
0461 OK COUNT TS, B42T48M ADDRESS WORD SEL STAR 2 +2 SET UP COUNT AS OPERATOR 2.
04624 NOT COUNT NA OP COUNT ZERO C,+2 BRANCH IF OP COUNT MIGHT STILL MAKE IT.
04626 TS ONES OP COUNT C,+2 GUARANTEE BAD COUNT IF TWAS TOO SMALL.
04628 WD OP COUNT ONE OP COUNT
0463 NA, B25T31M HEALTH 2 POLOP 17 C,+2
0464 TS, BIT 33M ONES CUSS LIST +2 BAD POLE CUSS MEANINGLESS ADDRESS FIELD.
0466 NA, B25T31M HEALTH 2 POLOP 27 TWO POLES
0467 SM CUSS LIST +21 BIT 17 CUSS LIST +21 CUSS UNPOLISH ADDRESS FIELD SYMBOL.
0469 BAD POLE SM WORD BIT 1 WORD INDICATE BADNESS OF RIGHT OPERATOR.
# Page 347
# @YUL SYSTEM ASSEMBLER AGC4 PASS 2 USER'S OWN PAGE NO. 13 PAGE 83
P04702 GENERAL PROCESSING OF RIGHT OPERATOR.
0471 TWO POLES SWS, B42T48M HEALTH 17 WORD SET UP 7-BIT RIGHT OPERATOR.
04721 TN ADDRESS 1 2 SAV ADREF
04722 TS Z,SC,4 - RITE NORM C RIGHT-NORMALIZE ADDRESS FIELD AND SKIP.
04723 SM WORD TWO WORD APPLY INDEX BIT TO GENERAL OPERATOR.
04724 SM CUSS LIST +22 BIT 33 CUSS LIST +22 CUSS INDEXING OF MISCELLANEOUS OPERATOR.
04725 B46T48 OCT -7
04726 SM WORD FOUR WORD APPLY INDEX BIT TO UNARY OPERATOR.
04727 NA, CHAR8M ADDRESS 2 ASTRISKS C,+2 BRANCH IF OPERATOR 2 IS NOT INDEXED.
04728 SEL STAR 2 SSL, THREEM WORD 0 C,-5 C BRANCH ON TYPE OF SECOND OPERATOR.
04729 TN SAV ADREF 2 ADDRESS 1 RESTORE ADDRESS FIELD FOR PRINTING.
0473 WD, SPECMAGM OCT 77776 WORD WORD ADD ONE AND COMPLEMENT.
0475 LA, SPECMAGM WORD MIN 37777 POLE OFLO BR IF BOTH OPS = 177 (VERY QUEER).
0477 NA, CHAR1M CARD +2 BIT 1 C,+2
0478 HA WORD SPEC MAG WORD COMPLEMENT WORD IF "-" IN COL 17.
0480 SS ZERO C1T4 LINE +6 CLEAR ADDRESS FIELD PRINT IMAGE.
0482 SWS, CHAR8M WORD 12 LINE +5 PRINT 1ST CHARACTER OF OPERATOR WORD.
0484 SWS, ACO1 WORD 33,L LINE +6
0485 SWS, ACO2 WORD 30,L LINE +6 PRINT REST OF LEFT OPERATOR.
0487 LA BIT 1 WORD BAD POLE 2 BRANCH IF 2ND OPERATOR IS BAD.
0489 SWS, ACO3 WORD 27,L LINE +6
0490 SWS, ACO4 WORD 24,L LINE +6 PRINT REST OF OPERATOR WORD.
0492 TS, CHAR1M DEC 5 FLAG WORD BC CHECK PLANT FLAG OF POLAND, JOIN MAIN PROC.
0494 BAD POLE 2 TS, C3T4M BLOTS LINE +6 NAUGHTY BLOT OUT RIGHT OPERATOR, JOIN MAIN PROC.
0496 POLE OFLO SM CUSS LIST +21 BIT 33 CUSS LIST +21 CUSS OVERFLOW OF OPERATOR WORD.
0498 TS BIT 1 WORD BAD BASIC SET TO BLOT OUT WORD LIKE CONSTANT.
# Page 348
# @YUL SYSTEM ASSEMBLER AGC4 PASS 2 USER'S OWN PAGE NO. 14 PAGE 84
P0500 SUBROUTINE IN PASS 2 FOR AGC4 TO SET IN PRINT THE LOCATION OF AN INSTRUCTION OR CONSTANT, WITH BANK
R0502 NUMBER IF ANY AND WITH A NOTATION FOR END OF BLOCK OR BANK IF REQUIRED. BLOTS OUT LOCATION FIELD IF BAD LOC.
0504 AGC4 PLEB NA LOCATION ONES C,+2 C BRANCH IF THERES A VALID LOCATION.
0506 SS BLOTS C1T4 LINE +5 BLOT OUT LOCATION FIELD AND EXIT.
0508 TX AGC4 MXR - Z,MXR C
0509 SS ZERO C1T4 LINE +5 C
0510 TX LOCATION - COMMON C
0511 TX COMMON - COMMON +1 C
0512 LA COMMON OCT 5777 END BANK Q C BRANCH IF LOCATION IS NOT IN A BANK.
0514 TX COMMA C8 - LINE +4 C
0515 SWS, ACO6 COMMON 1 LINE +4 C
0516 SWS, ACO7 COMMON 4 LINE +4 C SET BANK NUMBER IN PRINT.
0518 SM COMMON OCT 6000 COMMON +1 C PUT SUBADDRESS IN THE CLASS 6000 - 7777.
0520 END BANK Q NA, B39T48M COMMON +1 ONES C,+2 C
0522 TS, C1T4M END BL MC LINE +4 PRINT LOC C MARK LINE "EB" FOR END OF BLOCK OR BANK.
0526 TX L TYP TAB - Z,X6 C
0527 LA, SPECMAGM COMMON 6,0 C,+2 C BRANCH WHEN MEMORY TYPE CATEGORY FOUND.
0529 TS Z,X6,1 - C,-1 C
0530 NA, SPECMAGM COMMON 6,0 PRINT LOC C BRANCH IF NOT END OF MINOR BLOCK.
0532 SWS, C1T4M END BL MC A,4,L LINE +4 C MARK LINE "MC" FOR MEMORY TYPE CHANGE.
0534 PRINT LOC SWS, ACO1 COMMON +1 33,L LINE +5 C
0535 SWS, ACO2 COMMON +1 30,L LINE +5 C
0536 SWS, ACO3 COMMON +1 27,L LINE +5 C
0537 SWS, ACO4 COMMON +1 24,L LINE +5 C
0538 RSTOR MXR TX GENL MXR - Z,MXR SET UP LOCATION IN PRINT AND EXIT.
# Page 349
# @YUL SYSTEM ASSEMBLER AGC4 PASS 2 USER'S OWN PAGE NO. 15 PAGE 85
P0540 SUBROUTINE IN PASS 2 FOR AGC4 TO SET UP A SINGLE-PRECISION CONSTANT IN WORD AND IN PRINT. THIS
P0542 SUBROUTINE DOES NOT CARE WHETHER THE WORD IS SIGNED OR NOT, BUT DEMANDS THE OUTPUT OF DEC/OCT CONST IN NUMBER.
0544 AGC4 1P NA NUMBER W BAD WORD GOOD 1P C BRANCH IF WORD IS VALID.
0546 SS BLOTS CHAR 8 LINE +5 C
0547 SS BLOTS C1T4 LINE +6 C BLOT OUT WORD IN PRINT.
0549 TX W BAD WORD - WORD SEND ALONG BAD NEWS AND EXIT.
0551 GOOD 1P TX AGC4 MXR - Z,MXR C
0552 EX NUMBER D2T12 WORD C ISOLATE MAGNITUDE.
0554 LA BIT 1 NUMBER C,+2 C
0555 HA WORD SPEC MAG WORD C COMPLEMENT NEGATIVE WORD.
0557 A4 BIN ALF SS ZERO C1T4 LINE +6 C
0558 SWS, CHAR8M WORD 12 LINE +5 C
0559 SWS, ACO1 WORD 33,L LINE +6 C
0560 SWS, ACO2 WORD 30,L LINE +6 C
0561 SWS, ACO3 WORD 27,L LINE +6 C
0562 SWS, ACO4 WORD 24,L LINE +6 C SET WORD IN PRINT.
0564 TS, CHAR1M DEC6 FLAG WORD RSTOR MXR C APPLY INTERNAL CONSTANT FLAG AND EXIT.
R0566 SUBROUTINE IN PASS 2 FOR AGC4 TO PROCESS A DOUBLE-PRECISION CONSTANT. USING THE OUTPUT OF DEC
R0568 CONST OR OCT CONST, AND DISTINGUISHING BETWEEN THE SIGNED AND UNSIGNED POSSIBILITIES (FOR OCTAL CONSTANTS ONLY),
R0570 SETS UP THE HIGH-ORDER PART IN WORD AND THE LOW-ORDER PART IN 2ND HALF, SETS THE HIGH-ORDER PART IN PRINT, AND
R0572 SETS UP THE LOW-ORDER PART IN PRINTABLE FORM IN 2ND ALF AND 2ND ALF +1.
0573 AGC4 2P NA NUMBER W BAD WORD GOOD 2P C BRANCH IF CONSTANT IS VALID.
0575 TN BLOTS 2 2ND ALF C PREPARE BLOTS FOR LOW-ORDER PART.
0578 TS W BAD WORD 2ND HALF AGC4 1P +1 C GO TO JOIN SINGLE-PRECISION SADNESS.
0580 GOOD 2P TX AGC4 MXR - Z,MXR C
0581 NA E NUMBER ZERO C,+3 C BRANCH IF NUMBER IS SIGNED.
0583 SWE, B34T48M NUMBER 15 WORD C
0584 TS SPEC MAG COMMON C,+3 C SET UP UNSIGNED CONSTANT.
0586 SWE, B35T48M NUMBER 14 WORD C
0587 TX MIN 37777 - COMMON C SET UP SIGNED CONSTANT.
0589 EX NUMBER COMMON 2ND HALF C ISOLATE LOW-ORDER PART.
0591 LA BIT 1 NUMBER C,+3 C BRANCH IF NO MINUS SIGN.
0593 HA WORD SPEC MAG WORD C
0594 HA 2ND HALF SPEC MAG 2ND HALF C COMPLEMENT HALVES OF NEGATIVE CONSTANT.
0596 SWE, CHAR8M 2ND HALF 12 2ND ALF C
0597 SWE, ACO1 2ND HALF 33,L 2ND ALF +1 C
0598 SWE, ACO2 2ND HALF 30,L 2ND ALF +1 C
0599 SWE, ACO3 2ND HALF 27,L 2ND ALF +1 C
0600 SWE, ACO4 2ND HALF 24,L 2ND ALF +1 C MAKE PRINTABLE VERSION OF LOW-ORDER PRT.
0602 TS, CHAR 1M DEC6 FLAG 2ND HALF A4 BIN ALF C GO TO JOIN SINGLE-PRECISION PROCEDURE.
# Page 350
# @YUL SYSTEM ASSEMBLER AGC4 PASS 2 USER'S OWN PAGE NO. 16 PAGE 86
R0604 SUBROUTINE IN PASS 2 FOR AGC4 TO SET IN PRINT A RIGHT-HAND LOCATION FOR SUCH AS SETLOC. PUTS IN
R0606 THE BANK INDICATOR, IF ANY. BLOTS OUT AN INVALID LOCATION.
0607 AGC4 PREL NA LOCATION ONES C,+2 C
0608 SS BLOTS C3T6 LINE +6 BLOT OUT BAD LOCATION AND EXIT.
0610 TX AGC4 MXR - Z,MXR C
0611 SS ZERO C3T6 LINE +6 C
0612 TX LOCATION - COMMON C ISOLATE LOCATION VALUE.
0614 LA COMMON OCT 5777 PRINT VAL C BRANCH IF ADDRESS IS NOT IN A BANK.
0616 TX COMMA C2 - LINE +6 C
0617 SWS, CHAR8M COMMON 13 LINE +5 C
0618 SWS, ACO1 COMMON 32,L LINE +6 C SET BANK NUMBER IN PRINT.
0620 SM COMMON OCT 6000 COMMON C PUT SUBADDRESS IN THE RANGE 6000-7777.
0622 PRINT VAL SWS, ACO3 COMMON 21,L LINE +6 C
0623 SWS, ACO4 COMMON 18,L LINE +6 C
0624 SWS, ACO5 COMMON 15,L LINE +6 C
0625 SWS, ACO6 COMMON 12,L LINE +6 C
0626 TX GENL MXR - Z,MXR SET LOCATION IN PRINT AND EXIT.
# Page 351
# @YUL SYSTEM ASSEMBLER AGC4 PASS 2 USER'S OWN PAGE NO. 17 PAGE 87
P0628 BANK 5 PORTION OF AGC4 PASS 2. ENTER IN COSEQUENCE MODE WITH AGC4 MXR IN Z,MXR, ADDRESS CUSSALOG IN
R0630 AU2, AND ADDRESS CUSS LIST IN AU1. BANK INDICATOR 5 IS LEFT IN R5. BANK 5 ALSO CONTAINS MASKS FOR AGC4 PASS 2.
0631 SETLOC,3 0 B5
0632 UNSCRAMB SWE, B38T48M N,AU2 0 N,AU1 C ZERO DEMAND BITS, MOVE SUBADDR OF CUSS3.
0634 SWS, B34T37M N,AU2 25 N,AU1 C MOVE POISON BIT AND LENGTH OF CUSS 3.
0636 SWS, B22T32M N,AU2 4,L N,AU1 C MOVE SUBADDRESS OF CUSS 2.
0638 SWS, B18T21M N,AU2 13 N,AU1 C MOVE POISON BIT AND LENGTH OF CUSS 2.
0640 SWS, B6T16M N,AU2 8,L N,AU1 C MOVE SUBADDRESS OF CUSS 1.
0642 SWS, B2T5M N,AU2,1 1 N,AU1,1 C MOVE POISON BIT AND LENGTH OF CUSS 1.
0644 NA N,AU2 SENTINEL UNSCRAMB C
0645 TX Z,AU2 - Z,R5 S SET BANK INDICATOR 5 IN R5, EXIT.
0647 CUSSALOG M,D,44E CDNO CUSS D ERR CUSS ILOP CUSS
0648 M,D,EDD LEFL CUSS CNFL CUSS TYPL CUSS
0649 M,D,DCD BADL CUSS IPOX CUSS MGLA CUSS
0650 M,D,CD4 UDEF CUSS ASIZ CUSS IRAD CUSS
0651 M,D,DFE LEFM CUSS PRED CUSS NFIT CUS1
0652 M,D,EFF NFIT CUS2 STYP CUS1 STYP CUS2
0653 M,D,EEE SCNF CUS1 SCNF CUS2 SOVS CUS1
0654 M,D,EEE SOVS CUS2 SMD CUS1 SMD CUS2
0655 M,D,FFE SME CUS1 SME CUS2 SMIT CUS1
0656 M,D,EEE SMIT CUS2 SNDE CUS1 ARBL CUSS
0657 M,D,EGF SIDL CUS1 SBDE CUS1 SMDE CUS1
0658 M,D,C52 ADRE BANK INAP CUSS ADR CUSS
0659 M,D,545 SBIX CUSS CCSF CUSS IDBC CUSS
0660 M,D,5D5 MTD CUSS RANG CUSS FRAC CUSS
0661 M,D,54E MFD CUSS LONB CUSS UND1 CUSS
0662 M,D,GEE NDE1 CUSS LNSY CUSS SNDE CUS2
0663 M,D,GEF SBDE CUS2 SIDL CUS2 SMDE CUS2
0664 M,D,FED SSNP CUSS BNLF CUSS NSCH CUSS
0665 M,D,CDF BFUL CUSS ILOC CUSS TOLA CUSS
0666 M,D,GFE MEMT CUSS NMC1 CUSS CAFS CUSS
0667 M,D,444 QC1 CUSS QC17 CUSS QC24 CUSS
0668 M,D,4FD IMAD CUSS POLE CUSS POVF CUSS
06681 M,D,FEE P1N CUSS IPX1 CUSS IPX2 CUSS
06682 M,D,ED4 NMC2 CUSS OPCW CUSS OVND CUSS
06683 RESERVE 6
06687 M,D,D00 IXOP CUSS
06688 M,D,D5E SNNR CUSS MCPS CUSS CEHS CUSS
0669 SENTINEL DEC BB00 FFFF
# Page 352
# @YUL SYSTEM ASSEMBLER AGC4 PASS 2 USER'S OWN PAGE NO. 18 PAGE 88
P0670 CUSSES FOR AGC4, SHOWN IN THE ORDER OF THEIR CALLS IN THE CUSS LIST.
0672 CDNO CUSS ALF,4 CARD NUMBER OUT OF SEQUENCE
0673 D ERR CUSS ALF,4 NO "D" IN DECIMAL SUBFIELD
0674 ILOP CUSS ALF,5 ILLEGAL OR MIS-SPELLED OPERATION CODE
0675 LEFL CUSS ALF,5 IMPROPER LEFTOVER LOCATION FIELD FORMAT
0676 CNFL CUSS ALF,4 CONFLICT IN USE OF THIS LOCATION
0677 TYPL CUSS ALF,4 LOCATION IS IN WRONG MEMORY TYPE
0678 BADL CUSS ALF,4 OVERSIZE OR ILL-DEFINED LOCATION
0679 IPIX CUSS ALF,3 ILLEGAL POLISH INDEXING
0680 MGLA CUSS ALF,4 ADDRESS FIELD IS MEANINGLESS
0681 UDEF CUSS ALF,3 " " IS UNDEFINED
0682 ASIZ CUSS ALF,4 RANGE ERROR IN VALUE OF ADDRESS
0683 IRAD CUSS ALF,4 IRREGULAR BUT ACCEPTABLE ADDRESS
# Page 353
# @YUL SYSTEM ASSEMBLER AGC4 PASS 2 USER'S OWN PAGE NO. 19 PAGE 89
P0684 AGC4 CUSSES CONTINUED.
0685 LEFM CUSS ALF,4 LEFTOVER WON'T FIT IN MEMORY
0686 PRED CUSS ALF,5 ATTEMPT TO PREDEFINE LOCATION SYMBOL FAI
0687 ALF LED
0688 NFIT CUS1 ALF,5 " " WON'T FIT IN SYMBOL TABLE
0689 NFIT CUS2 ALF,5 " " WON'T FIT IN SYMBOL TABLE
0690 STYP CUS1 ALF,5 " " ASSOCIATED WITH WRONG MEMORY
0691 ALF TYPE
0692 STYP CUS2 ALF,5 " " ASSOCIATED WITH WRONG MEMORY
0693 ALF TYPE
0694 SCNF CUS1 ALF,5 " " ASSOCIATED WITH CONFLICT
0695 SCNF CUS2 ALF,5 " " ASSOCIATED WITH CONFLICT
0696 SOVS CUS1 ALF,5 " " GIVEN OVERSIZE DEFINITION
# Page 354
# @YUL SYSTEM ASSEMBLER AGC4 PASS 2 USER'S OWN PAGE NO. 20 PAGE 90
P0697 AGC4 CUSSES CONTINUED.
0698 SOVS CUS2 ALF,5 " " GIVEN OVERSIZE DEFINITION
0699 SMD CUS1 ALF,5 " " GIVEN MULTIPLE DEFINITIONS
0700 SMD CUS2 ALF,5 " " GIVEN MULTIPLE DEFINITIONS
0701 SME CUS1 ALF,5 " " ASSOCIATED WITH MULTIPLE ERRO
0702 ALF RS
0703 SME CUS2 ALF,5 " " ASSOCIATED WITH MULTIPLE ERRO
0704 ALF RS
0705 SMIT CUS1 ALF,5 " " IS IN MISCELLANEOUS TROUBLE
0706 SMIT CUS2 ALF,5 " " IS IN MISCELLANEOUS TROUBLE
0707 SNDE CUS1 ALF,5 " " WAS NEARLY DEFINED BY EQUALS
0708 ARBL CUSS ALF,5 ADDRESS DEPENDS ON UNKNOWN LOCATION
# Page 355
# @YUL SYSTEM ASSEMBLER AGC4 PASS 2 USER'S OWN PAGE NO. 21 PAGE 91
P0709 AGC4 CUSSES CONTINUED.
0710 SIDL CUS1 ALF,5 " " IS INDEFINABLY LEFTOVER
0711 SBDE CUS1 ALF,5 " " MULTIPLY DEFINED INCLUDING NE
07111 ALF,2 ARLY BY EQUALS
0712 SMDE CUS1 ALF,5 " " MULTIPLY DEFINED INCLUDING BY
07121 ALF EQUALS
0713 ADRE BANK ALF,3 ADDRESS IS IN BANK 00
0714 INAP CUSS ALF,5 ADDRESS IS INAPPROPRIATE FOR OP CODE
0715 ADR CUSS ALF,2 ADDRESS
0716 SBIX CUSS ALF,5 THIS INSTRUCTION SHOULD BE INDEXED
0717 CCSF CUSS ALF,4 CCS CANNOT REFER TO FIXED MEMORY
0718 IDBC CUSS ALF,5 INEXACT DECIMAL-TO-BINARY CONVERSION
0719 MTD CUSS ALF,5 MORE THAN 10 DIGITS IN DECIMAL CONSTANT
0720 RANG CUSS ALF,4 RANGE ERROR IN CONSTANT FIELD
# Page 356
# @YUL SYSTEM ASSEMBLER AGC4 PASS 2 USER'S OWN PAGE NO. 22 PAGE 92
P07201 AGC4 CUSSES CONTINUED.
0721 FRAC CUSS ALF,5 FRACTIONAL PART LOST BY TRUNCATION
0723 MFD CUSS ALF,5 MORE THAN 14 DIGITS IN OCTAL CONSTANT
0724 LONB CUSS ALF,4 LOCATION FIELD SHOULD BE BLANK
0725 UND1 CUSS ALF,5 " " WAS UNDEFINED IN PASS 1
0726 NDE1 CUSS ALF,5 " " WAS NEARLY DEFINED BY EQUALS
0727 ALF,2 IN PASS 1
0728 LNSY CUSS ALF,5 LOCATION FIELD SHOULD BE SYMBOLIC
0729 SNDE CUS2 ALF,5 " " WAS NEARLY DEFINED BY EQUALS
0730 SBDE CUS2 ALF,5 " " MULTIPLY DEFINED INCLUDING NE
07301 ALF,2 ARLY BY EQUALS
0731 SIDL CUS2 ALF,5 " " IS INDEFINABLY LEFTOVER
# Page 357
# @YUL SYSTEM ASSEMBLER AGC4 PASS 2 USER'S OWN PAGE NO. 23 PAGE 93
P07311 AGC4 CUSSES CONTINUED.
0732 SMDE CUS2 ALF,5 " " MULTIPLY DEFINED INCLUDING BY
0733 ALF EQUALS
0734 SSNP CUSS ALF,5 " " SHOULDN'T HAVE BEEN PREDEFINE
0735 ALF D
0736 BNLF CUSS ALF,5 NUMERIC LOCATION FIELD IS ILLEGAL HERE
0737 NSCH CUSS ALF,4 NO SUCH BANK IN THIS MACHINE
0738 BFUL CUSS ALF,3 THIS BANK IS FULL
0739 ILOC CUSS ALF,4 ILLEGAL LOCATION FIELD FORMAT
0740 TOLA CUSS ALF,5 CARD IGNORED BECAUSE IT'S TOO LATE IN TH
0741 ALF E DECK
0742 MEMT CUSS ALF,5 CARD IGNORED BECAUSE IT MAKES MEMORY TAB
0743 ALF,2 LE TOO LONG
0744 NMC1 CUSS ALF,5 NO MATCH FOUND FOR CARD NUMBER OR ACCEPT
07441 ALF OR TEXT
0746 CAFS CUSS ALF,5 FIRST CARD NUMBER NOT LESS THAN SECOND
# Page 358
# @YUL SYSTEM ASSEMBLER AGC4 PASS 2 USER'S OWN PAGE NO. 24 PAGE 94
P0747 AGC4 CUSSES CONTINUED.
0748 QC1 CUSS ALF,4 QUEER INFORMATION IN COLUMN 1
0749 QC17 CUSS ALF,4 QUEER INFORMATION IN COLUMN 17
0750 QC24 CUSS ALF,4 QUEER INFORMATION IN COLUMN 24
0751 IMAD CUSS ALF,4 BLANK ADDRESS FIELD EXPECTED
0753 POLE CUSS ALF,5 ADDRESS FIELD SHOULD CONTAIN A POLISH OP
0754 ALF ERATOR
0755 POVF CUSS ALF,4 OVERFLOW IN POLISH OPERATOR WORD
0756 P1N CUSS ALF,5 FIRST ADDRESS OF AN EQUATION MUST BE POS
0757 ALF ITIVE
0758 IPX1 CUSS ALF,5 FIRST POLISH OPERATOR ILLEGALLY INDEXED
0759 IPX2 CUSS ALF,5 SECOND POLISH OPERATOR ILLEGALLY INDEXED
0760 NMC2 CUSS ALF,5 NO MATCH FOUND FOR SECOND CARD NUMBER
# Page 359
# @YUL SYSTEM ASSEMBLER AGC4 PASS 2 USER'S OWN PAGE NO. 25 PAGE 95
P0761 AGC4 CUSSES CONTINUED.
0762 OPCW CUSS ALF,4 LAST OPERATOR WORD COUNT WRONG
0763 OVND CUSS ALF,4 THIS CODE MAY BECOME OBSOLETE
0797 IXOP CUSS ALF,4 ASTERISK ILLEGAL ON THIS OP CODE
0800 SNNR CUSS ALF,4 SUBROUTINE NAME NOT RECOGNIZED
0801 MCPS CUSS ALF,5 MULTIPLE CALLS IN ONE PROGRAM OR SUBRO
0802 CEHS CUSS ALF,5 CONFLICT WITH EARLIER HEAD SPECIFICATION