Source Code
These source-code files are part of a reconstructed copy of Aurora 88, the
final release of the Lunar Module (LM) Apollo Guidance Computer (AGC) system
test software.
They have been created via disassembly of binary dumps of original core rope memory modules, part numbers 2003972-011, 2003972-091, and 2003972-111, belonging to Steve Jurvetson. Since only binary dumps (rather than listings) of Aurora 88 are available as source material, all comments and labels are approximate. They have been taken from other AGC programs where possible, or, in some places, written from scratch to match what we believe would have been in the original listing. |
013997,000002: ## Copyright: Public domain.
013998,000003: ## Filename: AGC_BLOCK_TWO_SELF-CHECK.agc
013999,000004: ## Purpose: A section of Aurora 88.
014000,000005: ## It is part of the reconstructed source code for the final
014001,000006: ## release of the Lunar Module system test software. No original
014002,000007: ## listings of this program are available; instead, this file
014003,000008: ## was created via disassembly of dumps of Aurora 88 core rope
014004,000009: ## modules and comparison with other AGC programs.
014005,000010: ## Assembler: yaYUL
014006,000011: ## Contact: Ron Burkey <info@sandroid.org>.
014007,000012: ## Website: www.ibiblio.org/apollo/index.html
014008,000013: ## Mod history: 2023-06-30 MAS Created from Aurora 12.
014009,000014: ## 2023-07-12 MAS Updated for Aurora 88.
014010,000015:
014011,000016: 20,2000 BANK 20
014012,000017:
014013,000018: 20,2000 7652 SBIT1 EQUALS BIT1
014014,000019: 20,2000 7651 SBIT2 EQUALS BIT2
014015,000020: 20,2000 7650 SBIT3 EQUALS BIT3
014016,000021: 20,2000 7647 SBIT4 EQUALS BIT4
014017,000022: 20,2000 7646 SBIT5 EQUALS BIT5
014018,000023: 20,2000 7645 SBIT6 EQUALS BIT6
014019,000024: 20,2000 7644 SBIT7 EQUALS BIT7
014020,000025: 20,2000 7643 SBIT8 EQUALS BIT8
014021,000026: 20,2000 7642 SBIT9 EQUALS BIT9
014022,000027: 20,2000 7641 SBIT10 EQUALS BIT10
014023,000028: 20,2000 7640 SBIT11 EQUALS BIT11
014024,000029: 20,2000 7637 SBIT12 EQUALS BIT12
014025,000030: 20,2000 7636 SBIT13 EQUALS BIT13
014026,000031: 20,2000 7635 SBIT14 EQUALS BIT14
014027,000032: 20,2000 7634 SBIT15 EQUALS BIT15
014028,000033:
014029,000034: 20,2000 7657 S+ZERO EQUALS ZERO
014030,000035: 20,2000 7652 S+1 EQUALS BIT1
014031,000036: 20,2000 7651 S+2 EQUALS BIT2
014032,000037: 20,2000 6165 S+3 EQUALS THREE
014033,000038: 20,2000 7650 S+4 EQUALS FOUR
014034,000039: 20,2000 7227 S+5 EQUALS FIVE
014035,000040: 20,2000 6162 S+6 EQUALS SIX
014036,000041: 20,2000 7656 S+7 EQUALS SEVEN
014037,000042: 20,2000 5137 S8BITS EQUALS LOW8 # 00377
014038,000043: 20,2000 00051 CNTRCON OCTAL 00051 # USED IN CNTRCHK
014039,000044: 20,2001 00062 ERASCON1 OCTAL 00062 # USED IN ERASCHK
014040,000045: 20,2002 01374 ERASCON2 OCTAL 01374 # USED IN ERASCHK
014041,000046: 20,2003 01400 ERASCON6 OCTAL 01400 # USED IN ERASCHK
014042,000047: 20,2004 01462 ERASCON3 OCTAL 01462 # USED IN ERASCHK
014043,000048: 20,2005 01774 ERASCON4 OCTAL 01774 # USED IN ERASCHK
014044,000049: 20,2006 6426 S10BITS EQUALS LOW10 # 01777, USED IN ERASCHK
014045,000050: 20,2006 4421 SBNK03 EQUALS PRIO6 # 06000, USED IN ROPECHK
014046,000051: 20,2006 17777 S13BITS OCTAL 17777
014047,000052: 20,2007 25252 CONC+S1 OCTAL 25252 # USED IN CYCLSHFT
014048,000053: 20,2010 37737 OVCON OCTAL 37737 # USED IN RUPTCHK
014049,000054: 20,2011 37776 DVCON OCTAL 37776
014050,000055: 20,2012 52400 CONC+S2 OCTAL 52400 # USED IN CYCLSHFT
014051,000056: 20,2013 76777 ERASCON5 OCTAL 76777
014052,000057: 20,2014 77770 S-7 OCTAL 77770
014053,000058: 20,2015 6045 S-4 EQUALS NEG4
014054,000059: 20,2015 7663 S-3 EQUALS NEG3
014055,000060: 20,2015 7662 S-2 EQUALS NEG2
014056,000061: 20,2015 7661 S-1 EQUALS NEGONE
014057,000062: 20,2015 7660 S-ZERO EQUALS NEG0
014058,000063:
014059,000064: 20,2015 E3,1400 EBANK= 3
014060,000065: 20,2015 01371 ADRS1 ADRES SKEEP1
014061,000066:
014062,000067: 20,2016 00021 SRADRS ADRES SR
014063,000068:
014064,000069: 20,2017 30002 ERRORS CA Q
014065,000070: 20,2020 55364 TS SFAIL # SAVE Q FOR FAILURE LOCATION
014066,000071: 20,2021 25365 INCR ERCOUNT # KEEP TRACK OF NUMBER OF MALFUNCTIONS.
014067,000072: 20,2022 05315 TC ALARM
014068,000073: 20,2023 01102 OCT 01102 # SELF-CHECK MALFUNCTION INDICATOR
014069,000074: 20,2024 11361 CCS SMODE
014070,000075: 20,2025 37657 CA S+ZERO
014071,000076: 20,2026 55361 TS SMODE
014072,000077: 20,2027 02100 TC SELFCHK # GO TO IDLE LOOP
014073,000078: 20,2030 01364 TC SFAIL # CONTINUE WITH SELF-CHECK
014074,000079:
014075,000080: 20,2031 40000 +0CHK CS A
014076,000081: 20,2032 10000 -0CHK CCS A
014077,000082: 20,2033 12017 TCF ERRORS
014078,000083: 20,2034 12017 TCF ERRORS
014079,000084: 20,2035 12017 TCF ERRORS
014080,000085: 20,2036 00002 TC Q
014081,000086:
014082,000087: 20,2037 40000 +1CHK CS A
014083,000088: 20,2040 10000 -1CHK CCS A
014084,000089: 20,2041 12017 TCF ERRORS
014085,000090: 20,2042 12017 TCF ERRORS
014086,000091: 20,2043 10000 CCS A
014087,000092: 20,2044 12017 TCF ERRORS
014088,000093: 20,2045 00002 TC Q
014089,000094:
014090,000095: 20,2046 00006 SMODECHK EXTEND
014091,000096: 20,2047 23371 QXCH SKEEP1
014092,000097: 20,2050 04372 TC CHECKNJ # CHECK FOR NEW JOB
014093,000098: 20,2051 11361 CCS SMODE
014094,000099: 20,2052 02057 TC SOPTIONS
014095,000100: 20,2053 02050 TC SMODECHK +2 # TO BACKUP IDLE LOOP
014096,000101: 20,2054 02057 TC SOPTIONS
014097,000102: 20,2055 25366 INCR SCOUNT
014098,000103: 20,2056 01371 TC SKEEP1 # CONTINUE WITH SELF-CHECK
014099,000104:
014100,000105: 20,2057 62014 SOPTIONS AD S-7
014101,000106: 20,2060 00006 EXTEND
014102,000107: 20,2061 62064 BZMF +3 # FOR OPTIONS BELOW NINE.
014103,000108: 20,2062 04102 BNKOPTN TC POSTJUMP # GO TO ANOTHER BANK FOR OPTIONS ABOVE 8.
014104,000109: 20,2063 03000 CADR SBNKOPTN
014105,000110: 20,2064 25366 INCR SCOUNT # FOR OPTIONS BELOW NINE.
014106,000111: 20,2065 67656 AD S+7
014107,000112: 20,2066 50000 INDEX A
014108,000113: 20,2067 02070 TC SOPTION1
014109,000114: 20,2070 02101 SOPTION1 TC TC+TCF
014110,000115: 20,2071 02766 SOPTION2 TC IN-OUT1
014111,000116: 20,2072 03042 SOPTION3 TC COUNTCHK
014112,000117: 20,2073 03136 SOPTION4 TC ERASCHK
014113,000118: 20,2074 03306 SOPTION5 TC ROPECHK
014114,000119: 20,2075 03511 SOPTION6 TC MPNMBRS
014115,000120: 20,2076 03600 SOPTION7 TC DVCHECK
014116,000121: 20,2077 01371 SOPTON10 TC SKEEP1 # CONTINUE WITH SELF-CHECK
014117,000122:
014118,000123: 20,2100 02046 SELFCHK TC SMODECHK # ** CHARLEY, COME IN HERE
014119,000124:
014120,000125: # TC+TCF CHECKS ALL OF THE PULSES OF TCF AND ALL OF THE PULSES OF TC
014121,000126: # EXCEPT ABILITY TO TC TO ERASABLE.
014122,000127: # ALSO FIRST TIME CS FIXED MEMORY IS USED
014123,000128: 20,2101 02103 TC+TCF TC +2
014124,000129: 20,2102 02110 TC CCSCHK
014125,000130: 20,2103 12105 TCF +2 # $ TCF FIXED MEMORY
014126,000131: 20,2104 02017 TC ERRORS
014127,000132: 20,2105 46165 CS S+3 # $ CS FIXED MEMORY
014128,000133: 20,2106 00002 TC Q # $
014129,000134: 20,2107 02017 TC ERRORS
014130,000135:
014131,000136: # CCSCHK CHECKS ALL OF CCS EXCEPT RB WG.
014132,000137: # ALSO CHECKS TS ERASABLE, CS SC, AND CS ERASABLE MEMORY.
014133,000138: 20,2110 10000 CCSCHK CCS A # $ CCS SC, C(A) = -3
014134,000139: 20,2111 02017 TC ERRORS
014135,000140: 20,2112 02017 TC ERRORS
014136,000141: 20,2113 02115 TC +2
014137,000142: 20,2114 02017 TC ERRORS
014138,000143: 20,2115 10000 CCS A # $ C(A) = +2, RESULT OF CCS -NUMBER
014139,000144: 20,2116 02122 TC +4
014140,000145: 20,2117 02017 TC ERRORS
014141,000146: 20,2120 02017 TC ERRORS
014142,000147: 20,2121 02017 TC ERRORS
014143,000148: 20,2122 55371 TS SKEEP1 # $ TS ERASABLE
014144,000149: 20,2123 11371 CCS SKEEP1 # $ CCS ERASABLE, C(A) = +1, RESULT OF
014145,000150: 20,2124 02130 TC +4 # CCS +NUMBER
014146,000151: 20,2125 02017 TC ERRORS
014147,000152: 20,2126 02017 TC ERRORS
014148,000153: 20,2127 02017 TC ERRORS
014149,000154: 20,2130 10000 CCS A # $ C(A) = +0, RESULT OF CCS +1, CHECKS CI
014150,000155: 20,2131 02017 TC ERRORS
014151,000156: 20,2132 02135 TC +3
014152,000157: 20,2133 02017 TC ERRORS
014153,000158: 20,2134 02017 TC ERRORS
014154,000159: 20,2135 40000 CS A # $ CS SC
014155,000160: 20,2136 10000 CCS A # $ C(A) = -0, RESULT OF CCS +0
014156,000161: 20,2137 02017 TC ERRORS
014157,000162: 20,2140 02017 TC ERRORS
014158,000163: 20,2141 02017 TC ERRORS
014159,000164: 20,2142 10000 CCS A # $ RESULT OF CCS -0
014160,000165: 20,2143 02017 TC ERRORS
014161,000166: 20,2144 02147 TC +3
014162,000167: 20,2145 02017 TC ERRORS
014163,000168: 20,2146 02017 TC ERRORS
014164,000169: 20,2147 41371 CS SKEEP1 # $ CS ERASABLE. ALSO CHECKS BACK INTO
014165,000170: 20,2150 02040 TC -1CHK # ERASABLE SEQUENCE.
014166,000171:
014167,000172: # BZMFCHK CHECKS ALL PULSES OF BZMF.
014168,000173: # ALSO CHECKS CA FIXED MEMORY.
014169,000174: 20,2151 37642 BZMFCHK CAF SBIT9 # $ CA FIXED MEMORY
014170,000175: 20,2152 00006 EXTEND
014171,000176: 20,2153 62174 BZMF ERRBZMF
014172,000177: 20,2154 40000 CS A
014173,000178: 20,2155 00006 EXTEND
014174,000179: 20,2156 62160 BZMF +2 # $
014175,000180: 20,2157 02017 TC ERRORS
014176,000181: 20,2160 33430 CA S+MAX
014177,000182: 20,2161 67652 AD S+1
014178,000183: 20,2162 00006 EXTEND
014179,000184: 20,2163 62175 BZMF ERRBZMF2 # $ + OVERFLOW, CHECK 01-0000
014180,000185: 20,2164 37657 CA S+ZERO
014181,000186: 20,2165 00006 EXTEND
014182,000187: 20,2166 62170 BZMF +2 # $
014183,000188: 20,2167 02017 TC ERRORS
014184,000189: 20,2170 40000 CS A
014185,000190: 20,2171 00006 EXTEND
014186,000191: 20,2172 62176 BZMF +4 # $
014187,000192: 20,2173 02017 TC ERRORS
014188,000193: 20,2174 02017 ERRBZMF TC ERRORS # FROM BZMF WITH +NON-ZERO
014189,000194: 20,2175 02017 ERRBZMF2 TC ERRORS # OVERFLOW WITH +0
014190,000195:
014191,000196: # RESTORE1 AND 2 CHECKS INSTRUCTIONS (WITH STAR) ABILITY TO READ BACK INTO
014192,000197: # ERASABLE MEMORY. NOT NORMALLY INTERESTED IN CONTENTS OF A REGISTER.
014193,000198: # FIRST TIME MANY INSTRUCTIONS ARE USED.
014194,000199: # RESTORE1 ALSO CHECKS INDEX (WITHOUT EXTRACODE) ERASABLE, CA ERASABLE,
014195,000200: # AND MASK ERASABLE.
014196,000201: 20,2176 32016 RESTORE1 CAF SRADRS # ADDRESS OF SR
014197,000202: 20,2177 55377 TS SKEEP7
014198,000203: 20,2200 35137 CA S8BITS # 00377
014199,000204: 20,2201 51377 NDX SKEEP7 # $ INDEX ERASABLE *
014200,000205: 20,2202 54000 TS 0000 # TS SR, C(SR) = 00177
014201,000206: 20,2203 10021 CCS SR # C(SR) = 00077 *
014202,000207: 20,2204 51377 NDX SKEEP7 # CHECKS C(SKEEP7) CORRECT
014203,000208: 20,2205 40000 CS 0000 # C(SR) = 00037
014204,000209: 20,2206 60021 AD SR # C(SR) = 00017 *
014205,000210: 20,2207 00006 EXTEND
014206,000211: 20,2210 20021 MSU SR # C(SR) = 00007 *
014207,000212: 20,2211 00006 EXTEND
014208,000213: 20,2212 60021 SU SR # C(SR) = 00003 *
014209,000214: 20,2213 30021 CA SR # $ C(SR) = +1, C(A) = +3, CA ERASABLE *
014210,000215: 20,2214 70021 MASK SR # $ B(SR) = C(SR) = +1, MASK ERASABLE *
014211,000216: 20,2215 02037 TC +1CHK
014212,000217: 20,2216 00006 EXTEND
014213,000218: 20,2217 70021 MP SR
014214,000219: 20,2220 00006 EXTEND
014215,000220: 20,2221 10021 DV SR
014216,000221: 20,2222 30021 CA SR # $ CA ERASABLE
014217,000222: 20,2223 02037 TC +1CHK # MAKES SURE MASK, MP, AND DV DO NOT EDIT.
014218,000223:
014219,000224: # RESTORE2 ALSO CHECKS XCH ERASABLE,INDEX (WITH EXTRACODE) ERASABLE AND
014220,000225: # FIXED MEMORY, DCS ERASABLE, CA SC, AND DCA ERASABLE.
014221,000226: 20,2224 32015 RESTORE2 CAF ADRS1 # ADDRESS OF SKEEP1
014222,000227: 20,2225 55376 TS SKEEP6
014223,000228: 20,2226 37661 CA S-1
014224,000229: 20,2227 55371 TS SKEEP1 # -1
014225,000230: 20,2230 40000 CS A
014226,000231: 20,2231 57371 XCH SKEEP1 # $ XCH ERASABLE, C(SKEEP1) = +1
014227,000232: 20,2232 57372 XCH SKEEP2 # $ XCH ERASABLE, C(SKEEP2) = -1
014228,000233: 20,2233 00006 EXTEND
014229,000234: 20,2234 51376 NDX SKEEP6 # $ NDX ERASABLE *
014230,000235: 20,2235 30001 DCA 0000 # DCA ERASABLE *
014231,000236: 20,2236 00006 EXTEND
014232,000237: 20,2237 52015 NDX ADRS1 # $ NDX FIXED MEMORY *
014233,000238: 20,2240 40001 DCS 0000 # $ DCS ERASABLE MEMORY *
014234,000239: 20,2241 02040 TC -1CHK # MAKES SURE DCS ERASABLE OK
014235,000240: 20,2242 30001 CA L # $ CA SC
014236,000241: 20,2243 02037 TC +1CHK
014237,000242: 20,2244 00006 EXTEND
014238,000243: 20,2245 51376 NDX SKEEP6 # MAKE SURE C(SKEEP6) IS STILL CORRECT
014239,000244: 20,2246 30001 DCA 0000 # $ DCA ERASABLE
014240,000245: 20,2247 02037 TC +1CHK
014241,000246: 20,2250 30001 CA L
014242,000247: 20,2251 02040 TC -1CHK
014243,000248:
014244,000249: # RESTORE3 CHECKS ABILITY TO RESTORE INSTRUCTIONS BACK INTO ERASABLE
014245,000250: # MEMORY. IT IS ONLY NECESSARY TO RESTORE ONE INSTRUCTION BECAUSE THE
014246,000251: # G REGISTER DOES NOT CHANGE.
014247,000252: # ALSO CHECKS TC TO ERASABLE MEMORY.
014248,000253: 20,2252 37634 RESTORE3 CA SBIT15 # CS
014249,000254: 20,2253 55371 TS SKEEP1 # 40000
014250,000255: 20,2254 37651 CA S+2 # TC Q
014251,000256: 20,2255 55372 TS SKEEP2
014252,000257: 20,2256 37652 CA S+1 # +1
014253,000258: 20,2257 01371 TC SKEEP1 # $ TC ERASABLE
014254,000259: 20,2260 02040 TC -1CHK # FIRST TIME BACK FROM ERASABLE.
014255,000260: 20,2261 01371 TC SKEEP1
014256,000261: 20,2262 02032 TC -0CHK # SECOND TIME BACK FROM ERASABLE.
014257,000262:
014258,000263: # BZFCHK CHECKS ALL PULSES OF BZF.
014259,000264: 20,2263 37227 BZFCHK CAF S+5
014260,000265: 20,2264 00006 EXTEND
014261,000266: 20,2265 12310 BZF ERRBZF1 # $
014262,000267: 20,2266 40000 CS A
014263,000268: 20,2267 00006 EXTEND
014264,000269: 20,2270 12311 BZF ERRBZF2 # $
014265,000270: 20,2271 33430 CA S+MAX
014266,000271: 20,2272 67652 AD S+1 # 01-00000
014267,000272: 20,2273 00006 EXTEND
014268,000273: 20,2274 12312 BZF ERRBZF3 # $
014269,000274: 20,2275 40000 CS A
014270,000275: 20,2276 00006 EXTEND
014271,000276: 20,2277 12313 BZF ERRBZF4 # $
014272,000277: 20,2300 37657 CAF S+ZERO
014273,000278: 20,2301 00006 EXTEND
014274,000279: 20,2302 12304 BZF +2 # $
014275,000280: 20,2303 02017 TC ERRORS
014276,000281: 20,2304 40000 CS A
014277,000282: 20,2305 00006 EXTEND
014278,000283: 20,2306 12314 BZF +6 # $
014279,000284: 20,2307 02017 TC ERRORS
014280,000285: 20,2310 02017 ERRBZF1 TC ERRORS # +NON-ZERO
014281,000286: 20,2311 02017 ERRBZF2 TC ERRORS # -NON-ZERO
014282,000287: 20,2312 02017 ERRBZF3 TC ERRORS # 01-00000
014283,000288: 20,2313 02017 ERRBZF4 TC ERRORS # 10-37777
014284,000289:
014285,000290: # DXCH+DIM CHECKS ALL PULSES OF DXCH AND DIM.
014286,000291: # ALSO CHECKS TS WITH OVERFLOW, TS SC, CA SC, AND AD ERASABLE.
014287,000292: 20,2314 33430 DXCH+DIM CA S+MAX
014288,000293: 20,2315 67651 AD S+2 # OVERFLOW WITH +1
014289,000294: 20,2316 55371 TS SKEEP1 # $ TS WITH OVERFLOW, +1
014290,000295: 20,2317 02017 TC ERRORS
014291,000296: 20,2320 40000 CS A
014292,000297: 20,2321 55372 TS SKEEP2
014293,000298: 20,2322 43430 CS S+MAX
014294,000299: 20,2323 54001 TS L # $ TS SC, 40000
014295,000300: 20,2324 40000 CS A # 37777
014296,000301: 20,2325 53372 DXCH SKEEP1 # $ DXCH ERASABLE
014297,000302: 20,2326 02037 TC +1CHK
014298,000303: 20,2327 30001 CA L # $ CA SC
014299,000304: 20,2330 02040 TC -1CHK
014300,000305: 20,2331 00006 EXTEND
014301,000306: 20,2332 27371 DIM SKEEP1 # $ DIM ERASABLE, DIM + NUMBER, 37776
014302,000307: 20,2333 00006 EXTEND
014303,000308: 20,2334 27372 DIM SKEEP2 # $ DIM - NUMBER, 40001
014304,000309: 20,2335 33430 CA S+MAX # 37777
014305,000310: 20,2336 61372 AD SKEEP2 # $ AD ERASABLE, +1
014306,000311: 20,2337 02037 TC +1CHK
014307,000312: 20,2340 43430 CS S+MAX # 40000
014308,000313: 20,2341 61371 AD SKEEP1 # -1
014309,000314: 20,2342 02040 TC -1CHK
014310,000315: 20,2343 37652 CA S+1 # +1
014311,000316: 20,2344 00006 EXTEND
014312,000317: 20,2345 26000 DIM A # $ DIM SC, DIM +1
014313,000318: 20,2346 00006 EXTEND
014314,000319: 20,2347 26000 DIM A # $ DIM -0
014315,000320: 20,2350 02032 TC -0CHK
014316,000321: 20,2351 00006 EXTEND
014317,000322: 20,2352 26000 DIM A # $ DIM +0
014318,000323: 20,2353 02031 TC +0CHK
014319,000324:
014320,000325: # DAS+INCR CHECKS ALL PULSES OF DAS AND INCR.
014321,000326: # ALSO CHECKS DCA FIXED, LXCH SC, DCA ERASABLE, AD ERASABLE, DCS FIXED,
014322,000327: # DCS ERASABLE, AND XCH SC.
014323,000328: 20,2354 37661 DAS+INCR CA S-1
014324,000329: 20,2355 54001 DAS++ TS L # -1
014325,000330: 20,2356 37651 CA S+2 # +2
014326,000331: 20,2357 20001 DAS A # $ DAS SC, C(A) = +4 AND C(L) = -2
014327,000332: 20,2360 67663 AD S-3 # $ AD FIXED MEMORY
014328,000333: 20,2361 02037 TC +1CHK
014329,000334: 20,2362 37652 CA S+1
014330,000335: 20,2363 60001 AD L # $ AD SC, -1
014331,000336: 20,2364 02040 TC -1CHK
014332,000337: # DAS WITH INTERFLOW IN LOW ORDER AND NET OVERFLOW
014333,000338: 20,2365 00006 DAS+- EXTEND
014334,000339: 20,2366 33431 DCA S+MAX # $DCA FIXED MEMORY
014335,000340: 20,2367 53374 DXCH SKEEP3 # 37777, 40000
014336,000341: 20,2370 37662 CA S-2
014337,000342: 20,2371 54001 TS L
014338,000343: 20,2372 36165 CA S+3 # C(A) = +3, C(L) = -2
014339,000344: 20,2373 21374 DAS SKEEP3 # $ DAS ERASABLE
014340,000345: 20,2374 22000 LXCH A # $ LXCH SC
014341,000346: 20,2375 02031 TC +0CHK
014342,000347: 20,2376 30001 CA L
014343,000348: 20,2377 02037 TC +1CHK
014344,000349: 20,2400 00006 EXTEND
014345,000350: 20,2401 31374 DCA SKEEP3 # $ DCA ERASABLE
014346,000351: 20,2402 22000 LXCH A # C(A) = -1, C(L) = +1
014347,000352: 20,2403 02040 TC -1CHK
014348,000353: 20,2404 30001 CA L
014349,000354: 20,2405 02037 TC +1CHK
014350,000355: # INCRCHK CHECKS ALL INCR PULSES EXCEPT WOVR.
014351,000356: 20,2406 25374 INCRCHK INCR SKEEP4 # $ INCR ERASABLE, -0
014352,000357: 20,2407 61374 AD SKEEP4 # $ AD ERASABLE
014353,000358: 20,2410 02032 TC -0CHK
014354,000359: 20,2411 24000 INCR A # $ INCR SC, +1
014355,000360: 20,2412 02037 TC +1CHK
014356,000361: # DAS WITH OVERFLOW IN LOW ORDER AND NET UNDERFLOW
014357,000362: 20,2413 00006 DAS-+ EXTEND
014358,000363: 20,2414 43431 DCS S+MAX # $ DCS FIXED MEMORY
014359,000364: 20,2415 53372 DXCH SKEEP1 # 40000, 37777
014360,000365: 20,2416 36165 CA S+3 # +3
014361,000366: 20,2417 54001 TS L
014362,000367: 20,2420 40000 CS A # -3
014363,000368: 20,2421 21372 DAS SKEEP1 # $
014364,000369: 20,2422 02040 TC -1CHK
014365,000370: 20,2423 00006 EXTEND
014366,000371: 20,2424 41372 DCS SKEEP1 # $ DCS ERASABLE (+1, -2)
014367,000372: 20,2425 56001 XCH L # $ XCH SC (-2, +1)
014368,000373: 20,2426 67652 AD S+1
014369,000374: 20,2427 02040 TC -1CHK
014370,000375: 20,2430 30001 CA L
014371,000376: 20,2431 02037 TC +1CHK
014372,000377:
014373,000378: # MPCHK CHECKS ALL PULSES OF MP, AUG, AND ADS.
014374,000379: 20,2432 37652 MPCHK CA S+1
014375,000380: 20,2433 00006 EXTEND
014376,000381: 20,2434 24000 AUG A # $ AUG SC, +2
014377,000382: 20,2435 55375 TS SKEEP5 # +2
014378,000383: 20,2436 40000 CS A
014379,000384: 20,2437 54002 TS Q # -2
014380,000385: 20,2440 40000 CS A
014381,000386: 20,2441 00006 MP++ EXTEND
014382,000387: 20,2442 73430 MP S+MAX # $ MP FIXED MEMORY, +1, 37776
014383,000388: 20,2443 60001 AD L # 37777
014384,000389: 20,2444 00006 MP+- EXTEND
014385,000390: 20,2445 70002 MP Q # $ MP SC, -1, 40001
014386,000391: 20,2446 26001 ADS L # $ ADS SC, 40000
014387,000392: 20,2447 62011 AD DVCON
014388,000393: 20,2450 02040 TC -1CHK
014389,000394: 20,2451 30001 CA L
014390,000395: 20,2452 00006 MP-+ EXTEND
014391,000396: 20,2453 71375 MP SKEEP5 # $ MP ERASABLE, -1, 40001
014392,000397: 20,2454 55376 TS SKEEP6
014393,000398: 20,2455 00006 EXTEND
014394,000399: 20,2456 25376 AUG SKEEP6 # $ AUG ERASABLE, -2
014395,000400: 20,2457 60001 AD L # 40000
014396,000401: 20,2460 00006 MP-- EXTEND
014397,000402: 20,2461 71376 MP SKEEP6 # $ +1, 37776
014398,000403: 20,2462 02037 TC +1CHK
014399,000404: 20,2463 40001 CS L # 40001
014400,000405: 20,2464 62011 AD DVCON
014401,000406: 20,2465 02032 TC -0CHK
014402,000407: 20,2466 37652 CA S+1
014403,000408: 20,2467 27376 ADS SKEEP6 # $ ADS ERASABLE, +1
014404,000409: 20,2470 02040 TC -1CHK
014405,000410: 20,2471 31376 CA SKEEP6
014406,000411: 20,2472 02040 TC -1CHK
014407,000412:
014408,000413: # DVCH AND DVQXCHK CHECK ALL OF PULSES OF DV AND QXCH.
014409,000414: # ALSO CHECKS TS WITH UNDERFLOW
014410,000415: 20,2473 37635 DVCHK CA SBIT14 # 20000
014411,000416: 20,2474 55371 TS SKEEP1
014412,000417: 20,2475 60000 AD A # OVERFLOW
014413,000418: 20,2476 67652 AD S+1
014414,000419: 20,2477 54001 TS L # $ TS SC WITH OVERFLOW, +1
014415,000420: 20,2500 02017 TC ERRORS
014416,000421: 20,2501 40000 CS A
014417,000422: 20,2502 55372 TS SKEEP2 # -1
014418,000423: 20,2503 37660 CA S-ZERO # -0
014419,000424: 20,2504 23371 LXCH SKEEP1 # $ LXCH ERASABLE
014420,000425: 20,2505 00006 DV++ EXTEND
014421,000426: 20,2506 11371 DV SKEEP1 # $ DV ERASABLE, C(A) = 20000, C(L) = +0
014422,000427: 20,2507 40000 CS A
014423,000428: 20,2510 22000 LXCH A
014424,000429: 20,2511 02031 TC +0CHK
014425,000430: 20,2512 00006 DV-- EXTEND
014426,000431: 20,2513 11372 DV SKEEP2 # $ 20000, +0
014427,000432: 20,2514 55374 TS SKEEP4 # 20000
014428,000433: 20,2515 40000 CS A
014429,000434: 20,2516 55373 TS SKEEP3 # -(20000)
014430,000435: 20,2517 67635 AD SBIT14
014431,000436: 20,2520 02032 TC -0CHK
014432,000437: 20,2521 30001 CA L
014433,000438: 20,2522 02032 TC -0CHK
014434,000439: 20,2523 33430 DV+- CA S+MAX
014435,000440: 20,2524 54001 TS L
014436,000441: 20,2525 32006 CA S13BITS
014437,000442: 20,2526 00006 EXTEND
014438,000443: 20,2527 11373 DV SKEEP3 # $ -(37777), +(17777)
014439,000444: 20,2530 56001 XCH L
014440,000445: 20,2531 40000 CS A
014441,000446: 20,2532 00006 DV-+ EXTEND
014442,000447: 20,2533 11374 DV SKEEP4 # $ -(37777), -(17777)
014443,000448: 20,2534 62011 AD DVCON
014444,000449: 20,2535 02040 TC -1CHK
014445,000450: 20,2536 33430 CA S+MAX
014446,000451: 20,2537 56001 XCH L # ALSO PUTS 37777 IN L FOR DV-+,-
014447,000452: 20,2540 67635 AD SBIT14
014448,000453: 20,2541 02037 TC +1CHK
014449,000454: 20,2542 42006 DV-+,+ CS S13BITS # -(17777)
014450,000455: 20,2543 00006 EXTEND
014451,000456: 20,2544 11374 DV SKEEP4
014452,000457: 20,2545 60001 AD L # -(37775)
014453,000458: 20,2546 62011 AD DVCON
014454,000459: 20,2547 02037 TC +1CHK
014455,000460: 20,2550 56001 XCH L
014456,000461: 20,2551 02040 TC -1CHK # ALSO PUTS +0 IN L FOR DVQXCH
014457,000462: 20,2552 42011 DVQXCHK CS DVCON
014458,000463: 20,2553 54002 TS Q # 40001
014459,000464: 20,2554 40000 CS A
014460,000465: 20,2555 00006 EXTEND
014461,000466: 20,2556 10002 DV Q # $ DV SC, -(37777), +(37776)
014462,000467: 20,2557 00006 EXTEND
014463,000468: 20,2560 22001 QXCH L # $ QXCH SC, C(L) = 40001, C(Q) = 37776
014464,000469: 20,2561 60002 AD Q
014465,000470: 20,2562 02040 TC -1CHK
014466,000471: 20,2563 30001 CA L
014467,000472: 20,2564 63430 AD S+MAX
014468,000473: 20,2565 02037 TC +1CHK
014469,000474: 20,2566 00006 EXTEND
014470,000475: 20,2567 23371 QXCH SKEEP1 # $ QXCH ERAS., C(Q) = +1, C(SKEEP1) = +3
014471,000476: 20,2570 30002 CA Q
014472,000477: 20,2571 02037 TC +1CHK
014473,000478: 20,2572 41371 CS SKEEP1 # -3
014474,000479: 20,2573 67651 AD S+2
014475,000480: 20,2574 02040 TC -1CHK
014476,000481:
014477,000482: # MSUCHK CHECKS ALL PULSES OF MSU EXCEPT RB WG.
014478,000483: 20,2575 37657 MSUCHK CA S+ZERO
014479,000484: 20,2576 55371 TS SKEEP1 # +0
014480,000485: 20,2577 40000 CS A
014481,000486: 20,2600 55372 TS SKEEP2 # -0
014482,000487: 20,2601 00006 EXTEND
014483,000488: 20,2602 20000 MSU A # $ MSU SC, +0
014484,000489: 20,2603 02031 TC +0CHK
014485,000490: 20,2604 00006 EXTEND
014486,000491: 20,2605 21372 MSU SKEEP2 # $ MSU ERASABLE, +1
014487,000492: 20,2606 02037 TC +1CHK
014488,000493: 20,2607 00006 EXTEND
014489,000494: 20,2610 33431 DCA S+MAX
014490,000495: 20,2611 00006 EXTEND
014491,000496: 20,2612 20001 MSU L # $ CHECKS RUS WA, ALSO -1 FROM NEG. NO.
014492,000497: 20,2613 54000 TS A
014493,000498: 20,2614 02616 TC +2
014494,000499: 20,2615 02017 TC ERRORS
014495,000500: 20,2616 02040 TC -1CHK
014496,000501:
014497,000502: # MASKCHK FINISHES CHECKING MASK INSTRUCTION.
014498,000503: 20,2617 37656 MASKCHK CA S+7
014499,000504: 20,2620 54001 TS L
014500,000505: 20,2621 72014 MASK S-7 # $ MASK FIXED MEMORY
014501,000506: 20,2622 02031 TC +0CHK
014502,000507: 20,2623 37652 CA S+1
014503,000508: 20,2624 70001 MASK L # $ MASK SC
014504,000509: 20,2625 02037 TC +1CHK
014505,000510:
014506,000511: # NDX+SU FINISHES CHECKING BOTH INDEX INSTRUCTIONS. ALSO CHECKS ALL OF SU
014507,000512: # EXCEPT RB WG.
014508,000513: 20,2626 37652 NDX+SU CA S+1
014509,000514: 20,2627 54001 TS L
014510,000515: 20,2630 55371 TS SKEEP1
014511,000516: 20,2631 50000 NDX A # $ NDX SC
014512,000517: 20,2632 60000 AD 0000 # AD L, +2
014513,000518: 20,2633 00006 EXTEND
014514,000519: 20,2634 61371 SU SKEEP1 # $ SU ERASABLE
014515,000520: 20,2635 02037 TC +1CHK
014516,000521: 20,2636 00006 EXTEND
014517,000522: 20,2637 50001 NDX L # $ NDX SC
014518,000523: 20,2640 60000 SU 0000 # $ SU SC, SU L
014519,000524: 20,2641 02040 TC -1CHK
014520,000525:
014521,000526: # D--SC CHECKS DCS SC, DXCH SC, AND DCA SC.
014522,000527: 20,2642 37651 D--SC CA S+2
014523,000528: 20,2643 54001 TS L # +2
014524,000529: 20,2644 37652 CA S+1
014525,000530: 20,2645 00006 EXTEND
014526,000531: 20,2646 40001 DCS A # $ DCS SC, C(L) = -2
014527,000532: 20,2647 02040 TC -1CHK
014528,000533: # AFTER DXCH C(A) = B(Q) = +3, C(L) = B(A) = +0, C(Q) = B(L) = -1.
014529,000534: 20,2650 52002 DXCH L # $ DXCH SC
014530,000535: 20,2651 55373 TS SKEEP3
014531,000536: 20,2652 60002 AD Q
014532,000537: 20,2653 02037 TC +1CHK
014533,000538: 20,2654 30001 CA L
014534,000539: 20,2655 02031 TC +0CHK
014535,000540: 20,2656 37661 CA S-1
014536,000541: 20,2657 54002 TS Q
014537,000542: 20,2660 40000 CS A
014538,000543: 20,2661 00006 EXTEND
014539,000544: # AFTER DCA C(A) = C(L) = C(Q) = B(Q) = -1.
014540,000545: 20,2662 30002 DCA L # $ DCA SC
014541,000546: 20,2663 60002 AD Q
014542,000547: 20,2664 61373 AD SKEEP3
014543,000548: 20,2665 02037 TC +1CHK
014544,000549: 20,2666 30001 CA L
014545,000550: 20,2667 02040 TC -1CHK
014546,000551:
014547,000552: # D--LCHK CHECKS THAT OVERFLOW IS LOST IN PROCESS OF GOING THROUGH L REG.
014548,000553: # ALSO CHECKS THAT Q WILL HOLD 16 BITS
014549,000554: 20,2670 37662 D--LCHK CA S-2
014550,000555: 20,2671 54002 TS Q
014551,000556: 20,2672 33431 CA S-MAX
014552,000557: 20,2673 26002 ADS Q
014553,000558: 20,2674 40002 CS Q
014554,000559: 20,2675 54000 TS A
014555,000560: 20,2676 02017 TC ERRORS
014556,000561: 20,2677 00006 EXTEND
014557,000562: 20,2700 30002 DCA L
014558,000563: 20,2701 54000 TS A
014559,000564: 20,2702 02704 TC +2
014560,000565: 20,2703 02017 TC ERRORS
014561,000566: 20,2704 02040 TC -1CHK
014562,000567:
014563,000568: # CHECKS OVERFLOW, UNDERFLOW,END-AROUND-CARRY, AND SIGN CHANGE OF ADDER.
014564,000569: # ALSO CHECKS ADS SC WITH OVERFLOW AND TS A WITH UNDERFLOW
014565,000570: 20,2705 37635 ADDRCHK CA SBIT14 # 20000
014566,000571: 20,2706 54002 TS Q
014567,000572: 20,2707 26002 ADS Q # $ ADS SC, OVERFLOW
014568,000573: 20,2710 26002 ADS Q # UNDERFLOW
014569,000574: 20,2711 54000 TS A # $ TS SC WITH UNDERFLOW
014570,000575: 20,2712 02017 TC ERRORS
014571,000576: 20,2713 26002 ADS Q
014572,000577: 20,2714 02037 TC +1CHK
014573,000578:
014574,000579: # RUPTCHK CHECKS THAT INTERRUPT DOES NOT OCCUR WHILE OVERFLOW OR UNDERFLOW
014575,000580: # IS IN THE A REGISTER. ALSO CHECKS THAT INHINT RELINT WORK PROPERLY.
014576,000581: 20,2715 00004 RUPTCHK INHINT
014577,000582: 20,2716 37657 CA S+ZERO
014578,000583: 20,2717 54015 TS ZRUPT
014579,000584: 20,2720 00003 RELINT
014580,000585: 20,2721 60027 AD TIME4
014581,000586: 20,2722 55371 TS SKEEP1
014582,000587: 20,2723 41371 TENMS CS SKEEP1
014583,000588: 20,2724 60027 AD TIME4 # WAIT FOR NEXT TIME4 INCREMENT
014584,000589: 20,2725 00006 EXTEND
014585,000590: 20,2726 12723 BZF TENMS
014586,000591: 20,2727 00004 INHINT
014587,000592: 20,2730 30015 CA ZRUPT
014588,000593: 20,2731 00006 EXTEND
014589,000594: 20,2732 12734 BZF +2 # NO INTERRUPT.
014590,000595: 20,2733 02715 TC RUPTCHK # THERE WAS AN INTERRUPT. START AGAIN.
014591,000596: 20,2734 37652 CAF S+1 # 2 1/2 MS UNTILE NEXT T3 INTERRUPT.
014592,000597: 20,2735 04451 TC WAITLIST
014593,000598: 20,2736 E3,1400 EBANK= LST1
014594,000599: 20,2736 02761 40003 2CADR TSKADRS
014595,000600:
014596,000601: 20,2740 33430 CA S+MAX
014597,000602: 20,2741 62010 AD OVCON # CONTROLS TIME SPENT IN OF-UF LOOP
014598,000603: 20,2742 00003 RELINT
014599,000604: 20,2743 40000 WAIT CS A
014600,000605: 20,2744 10000 CCS A
014601,000606: 20,2745 02751 TC INHNTCHK
014602,000607: 20,2746 02755 RUPTCON ADRES C(BRUPT)
014603,000608: 20,2747 67651 AD S+2
014604,000609: 20,2750 02743 TC WAIT
014605,000610: 20,2751 00004 INHNTCHK INHINT # T3 RUPT SHOULD BE WAITING
014606,000611: 20,2752 55375 TS SKEEP5
014607,000612: 20,2753 02017 TC ERRORS
014608,000613: 20,2754 00003 RELINT
014609,000614: 20,2755 40015 C(BRUPT) CS ZRUPT # INTERRUPT SHOULD HAPPEN HERE
014610,000615: 20,2756 00006 EXTEND
014611,000616: 20,2757 12017 BZF ERRORS # MAKES SURE AN INTERRUPT DID HAPPEN
014612,000617: 20,2760 02765 TC +5 # END OF RUPTCHK
014613,000618: 20,2761 40015 TSKADRS CS ZRUPT
014614,000619: 20,2762 62746 AD RUPTCON
014615,000620: 20,2763 02040 TC -1CHK
014616,000621: 20,2764 04505 TC TASKOVER
014617,000622:
014618,000623: 20,2765 02046 TC SMODECHK
014619,000624:
014620,000625: # IN-OUT1 CHECKS ALL PULSES OF WRITE AND READ
014621,000626: 20,2766 37661 IN-OUT1 CA S-1
014622,000627: 20,2767 00006 WRITECHK EXTEND
014623,000628: 20,2770 01002 WRITE Q
014624,000629: 20,2771 22002 LXCH Q # PUT C(Q) IN L
014625,000630: 20,2772 02040 TC -1CHK
014626,000631: 20,2773 00006 READCHK EXTEND # C(L) = 77776
014627,000632: 20,2774 00001 READ L
014628,000633: 20,2775 02040 TC -1CHK
014629,000634: 20,2776 30001 CA L
014630,000635: 20,2777 02040 TC -1CHK
014631,000636:
014632,000637: # IN-OUT2 CHECKS ALL PULSES OF ROR AND WOR
014633,000638: 20,3000 46165 IN-OUT2 CS S+3
014634,000639: 20,3001 54001 RORCHK TS L # 77774
014635,000640: 20,3002 32011 CA DVCON # 37776
014636,000641: 20,3003 00006 EXTEND
014637,000642: 20,3004 04001 ROR L # $ ROR, -1
014638,000643: 20,3005 02040 TC -1CHK
014639,000644: 20,3006 32011 WORCHK CA DVCON # C(L) STILL 77774
014640,000645: 20,3007 00006 EXTEND
014641,000646: 20,3010 05001 WOR L # $ WOR, -1
014642,000647: 20,3011 02040 TC -1CHK
014643,000648: 20,3012 30001 CA L
014644,000649: 20,3013 02040 TC -1CHK
014645,000650:
014646,000651: # IN-OUT3 CHECKS ALL PULSES OF RAND, WAND, AND RXOR
014647,000652: 20,3014 42011 IN-OUT3 CS DVCON
014648,000653: 20,3015 54001 RANDCHK TS L # 40001
014649,000654: 20,3016 32006 CA S13BITS # 17777
014650,000655: 20,3017 00006 EXTEND
014651,000656: 20,3020 02001 RAND L # $ RAND, +1
014652,000657: 20,3021 02037 TC +1CHK
014653,000658: 20,3022 32006 WANDCHK CA S13BITS # C(L) STILL 40001
014654,000659: 20,3023 00006 EXTEND
014655,000660: 20,3024 03001 WAND L # $ WAND, +1
014656,000661: 20,3025 02037 TC +1CHK
014657,000662: 20,3026 47227 CS S+5
014658,000663: 20,3027 56001 XCH L # ALSO PUT -5 IN L FOR RXORCHK
014659,000664: 20,3030 02037 TC +1CHK
014660,000665: 20,3031 36162 RXORCHK CA S+6
014661,000666: 20,3032 00006 EXTEND
014662,000667: 20,3033 06001 RXOR L # $ RXOR, -3
014663,000668: 20,3034 67651 AD S+2
014664,000669: 20,3035 02040 TC -1CHK
014665,000670: 20,3036 30001 CA L
014666,000671: 20,3037 67650 AD S+4
014667,000672: 20,3040 02040 TC -1CHK
014668,000673:
014669,000674: 20,3041 02046 TC SMODECHK
014670,000675:
014671,000676: # COUNTCHK COUNTS UP 14 BIT NUMBER WITH SIGN.
014672,000677: # TAKES APPROXIMATELY 8.7 SECONDS.
014673,000678: # ** PUT IN CCS NEWJOB FOR ROPE.
014674,000679: 20,3042 00006 COUNTCHK EXTEND
014675,000680: 20,3043 33431 DCA S+MAX
014676,000681: 20,3044 53377 DXCH SKEEP6 # PUT 37777 IN SKEEP6 AND 40000 IN SKEEP7
014677,000682: 20,3045 31376 +LOOP CA SKEEP6
014678,000683: 20,3046 56002 XCH Q
014679,000684: 20,3047 00006 EXTEND
014680,000685: 20,3050 40002 DCS L
014681,000686: 20,3051 10000 CCS A
014682,000687: 20,3052 03061 TC -NMBR
014683,000688: 20,3053 03066 TC ENDCOUNT
014684,000689: 20,3054 55376 TS SKEEP6
014685,000690: 20,3055 61377 AD SKEEP7
014686,000691: 20,3056 02040 TC -1CHK
014687,000692: 20,3057 25377 INCR SKEEP7
014688,000693: 20,3060 03045 TC +LOOP
014689,000694: 20,3061 60001 -NMBR AD L
014690,000695: 20,3062 02040 TC -1CHK
014691,000696: 20,3063 04372 TC CHECKNJ # CHECK FOR NEW JOB
014692,000697: 20,3064 41376 CS SKEEP6
014693,000698: 20,3065 03046 TC +LOOP +1
014694,000699: 20,3066 31377 ENDCOUNT CA SKEEP7 # -0
014695,000700: 20,3067 61376 AD SKEEP6 # SKEEP6 SHOULD BE +0
014696,000701: 20,3070 02032 TC -0CHK
014697,000702:
014698,000703: # O-UFLOW COUNTS DOWN OVERFLOW AND UNDERFLOW NUMBERS.
014699,000704: # TAKES APPROXIMATELY 10.8 SECONDS
014700,000705: 20,3071 33431 O-UFLOW CA S-MAX
014701,000706: 20,3072 55375 TS SKEEP5 # 40000
014702,000707: 20,3073 40000 CS A
014703,000708: 20,3074 00004 OFLOOP INHINT
014704,000709: 20,3075 63430 AD S+MAX
014705,000710: 20,3076 67652 AD S+1
014706,000711: 20,3077 56002 XCH Q
014707,000712: 20,3100 10002 CCS Q
014708,000713: 20,3101 03116 TC -NMBRS
014709,000714: 20,3102 02017 TC ERRORS # CAN PUT IN CONSTANT
014710,000715: 20,3103 55373 TS SKEEP3
014711,000716: 20,3104 02017 TC ERRORS
014712,000717: 20,3105 31373 CA SKEEP3
014713,000718: 20,3106 61375 AD SKEEP5
014714,000719: 20,3107 02040 TC -1CHK
014715,000720: 20,3110 00003 RELINT
014716,000721: 20,3111 04372 TC CHECKNJ # CHECK FOR NEW JOB
014717,000722: 20,3112 31374 CA SKEEP4
014718,000723: 20,3113 00006 EXTEND
014719,000724: 20,3114 27375 DIM SKEEP5
014720,000725: 20,3115 03074 TC OFLOOP
014721,000726: 20,3116 55374 -NMBRS TS SKEEP4
014722,000727: 20,3117 03127 TC ENDOFUF
014723,000728: 20,3120 31374 CA SKEEP4
014724,000729: 20,3121 61375 AD SKEEP5
014725,000730: 20,3122 02040 TC -1CHK
014726,000731: 20,3123 31375 CA SKEEP5
014727,000732: 20,3124 63431 AD S-MAX
014728,000733: 20,3125 67661 AD S-1
014729,000734: 20,3126 03077 TC OFLOOP +3
014730,000735: 20,3127 31375 ENDOFUF CA SKEEP5
014731,000736: 20,3130 02032 TC -0CHK
014732,000737: 20,3131 41374 CS SKEEP4
014733,000738: 20,3132 62011 AD DVCON
014734,000739: 20,3133 02040 TC -1CHK
014735,000740: 20,3134 00003 RELINT
014736,000741:
014737,000742: 20,3135 02046 TC SMODECHK
014738,000743:
014739,000744: # SKEEP7 HOLDS LOWEST OF TWO ADDRESSES BEING CHECKED.
014740,000745: # SKEEP6 HOLDS B(X+1).
014741,000746: # SKEEP5 HOLDS B(X).
014742,000747: # SKEEP4 CONTROLS CHECKING OF NON-SWITCHABLE ERASABLE MEMORY WITH
014743,000748: # BANK NUMBERS IN EB.
014744,000749: # SKEEP3 HOLDS LAST ADDRESS BEING CHECKED (HIGHEST ADDRESS).
014745,000750: # SKEEP2 HOLDS C(EBANK) DURING CHECKNJ
014746,000751: # ERASCHK TAKES APPROXMATELY 7 SECONDS
014747,000752: 20,3136 37652 ERASCHK CA S+1
014748,000753: 20,3137 55374 TS SKEEP4
014749,000754: 20,3140 37657 0EBANK CA S+ZERO
014750,000755: 20,3141 54003 TS EBANK
014751,000756: 20,3142 32004 CA ERASCON3 # 01462
014752,000757: 20,3143 55377 TS SKEEP7 # STARTING ADDRESS
014753,000758: 20,3144 36426 CA S10BITS # 01777
014754,000759: 20,3145 55373 TS SKEEP3 # LAST ADDRESS CHECKED
014755,000760: 20,3146 03166 TC ERASLOOP
014756,000761:
014757,000762: 20,3147 32003 E134567B CA ERASCON6 # 01400
014758,000763: 20,3150 55377 TS SKEEP7 # STARTING ADDRESS
014759,000764: 20,3151 36426 CA S10BITS # 01777
014760,000765: 20,3152 55373 TS SKEEP3 # LAST ADDRESS CHECKED
014761,000766: 20,3153 03166 TC ERASLOOP
014762,000767:
014763,000768: 20,3154 32003 2EBANK CA ERASCON6 # 01400
014764,000769: 20,3155 55377 TS SKEEP7 # STARTING ADDRESS
014765,000770: 20,3156 32005 CA ERASCON4 # 01774
014766,000771: 20,3157 55373 TS SKEEP3 # LAST ADDRESS CHECKED
014767,000772: 20,3160 03166 TC ERASLOOP
014768,000773:
014769,000774: 20,3161 55374 NOEBANK TS SKEEP4 # +0
014770,000775: 20,3162 32001 CA ERASCON1 # 00062
014771,000776: 20,3163 55377 TS SKEEP7 # STARTING ADDRESS
014772,000777: 20,3164 32002 CA ERASCON2 # 01374
014773,000778: 20,3165 55373 TS SKEEP3 # LAST ADDRESS CHECKED
014774,000779:
014775,000780: 20,3166 03751 ERASLOOP TC ERASLP1
014776,000781: 20,3167 55357 ERASLP2 TS ERESTORE # IF RESTART, RESTORE C(X) AND C(X+1)
014777,000782: 20,3170 54001 TS L
014778,000783: 20,3171 24001 INCR L
014779,000784: 20,3172 50000 NDX A
014780,000785: 20,3173 52001 DXCH 0000 # PUTS OWN ADDRESS IN X AND X +1
014781,000786: 20,3174 13175 NOOP
014782,000787: 20,3175 51377 NDX SKEEP7
014783,000788: 20,3176 40001 CS 0001 # CS X+1
014784,000789: 20,3177 51377 NDX SKEEP7
014785,000790: 20,3200 60000 AD 0000 # AD X
014786,000791: 20,3201 02040 TC -1CHK
014787,000792: 20,3202 00006 EXTEND
014788,000793: 20,3203 51377 NDX SKEEP7
014789,000794: 20,3204 40001 DCS 0000 # COMPLEMENT OF ADDRESS OF X AND X+1
014790,000795: 20,3205 51377 NDX SKEEP7
014791,000796: 20,3206 52001 DXCH 0000 # PUT COMPLEMENT OF ADDRESS OF X AND X+1
014792,000797: 20,3207 51377 NDX SKEEP7
014793,000798: 20,3210 40000 CS 0000 # CS X
014794,000799: 20,3211 51377 NDX SKEEP7
014795,000800: 20,3212 60001 AD 0001 # AD X+1
014796,000801: 20,3213 02040 TC -1CHK
014797,000802: 20,3214 00006 EXTEND
014798,000803: 20,3215 31376 DCA SKEEP5
014799,000804: 20,3216 03760 TC ERASLP3
014800,000805: 20,3217 00003 ERASLP4 RELINT
014801,000806: 20,3220 30003 CA EBANK # STORES C(EBANK)
014802,000807: 20,3221 55372 TS SKEEP2
014803,000808: 20,3222 04372 TC CHECKNJ # CHECK FOR NEW JOB
014804,000809: 20,3223 31372 CA SKEEP2 # REPLACES B(EBANK)
014805,000810: 20,3224 54003 TS EBANK
014806,000811: 20,3225 25377 INCR SKEEP7
014807,000812: 20,3226 41377 CS SKEEP7
014808,000813: 20,3227 61373 AD SKEEP3
014809,000814: 20,3230 00006 EXTEND
014810,000815: 20,3231 13233 BZF +2
014811,000816: 20,3232 03166 TC ERASLOOP # GO TO NEXT ADDRESS IN SAME BANK
014812,000817: 20,3233 11374 CCS SKEEP4
014813,000818: 20,3234 03161 TC NOEBANK
014814,000819: 20,3235 25374 INCR SKEEP4 # PUT +1 IN SKEEP4
014815,000820: 20,3236 30003 CA EBANK
014816,000821: 20,3237 67642 AD SBIT9
014817,000822: 20,3240 54003 TS EBANK
014818,000823: 20,3241 62013 AD ERASCON5 # 76377 CHECK FOR BANK E3
014819,000824: 20,3242 00006 EXTEND
014820,000825: 20,3243 13154 BZF 2EBANK
014821,000826: 20,3244 10003 CCS EBANK
014822,000827: 20,3245 03147 TC E134567B # GO TO EBANKS 1,3,4,5,6, AND 7
014823,000828: 20,3246 32003 CA ERASCON6 # END OF ERASCHK
014824,000829: 20,3247 54003 TS EBANK
014825,000830: # CNTRCHK PERFORMS A CS OF ALL REGISTERS FROM OCT. 61 THROUGH OCT. 10.
014826,000831: # INCLUDED ARE ALL COUNTERS, T6-1, CYCLE AND SHIFT, AND ALL RUPT REGISTERS
014827,000832: 20,3250 32000 CNTRCHK CAF CNTRCON # 00051
014828,000833: 20,3251 55372 CNTRLOOP TS SKEEP2
014829,000834: 20,3252 67647 AD SBIT4 # +10 OCTAL
014830,000835: 20,3253 50000 INDEX A
014831,000836: 20,3254 40000 CS 0000
014832,000837: 20,3255 11372 CCS SKEEP2
014833,000838: 20,3256 03251 TC CNTRLOOP
014834,000839:
014835,000840: # CYCLSHFT CHECKS THE CYCLE AND SHIFT REGISTERS
014836,000841: 20,3257 32007 CYCLSHFT CA CONC+S1 # 25252
014837,000842: 20,3260 54020 TS CYR # C(CYR) = 12525
014838,000843: 20,3261 54022 TS CYL # C(CYL) = 52524
014839,000844: 20,3262 54021 TS SR # C(SR) = 12525
014840,000845: 20,3263 54023 TS EDOP # C(EDOP) = 00125
014841,000846: 20,3264 60020 AD CYR # 37777 C(CYR) = 45252
014842,000847: 20,3265 60022 AD CYL # 00-12524 C(CYL) = 25251
014843,000848: 20,3266 60021 AD SR # 00-25251 C(SR) = 05252
014844,000849: 20,3267 60023 AD EDOP # 00-25376 C(EDOP) = +0
014845,000850: 20,3270 62012 AD CONC+S2 # C(CONC+S2) = 52400
014846,000851: 20,3271 02040 TC -1CHK
014847,000852: 20,3272 60020 AD CYR # 45252
014848,000853: 20,3273 60022 AD CYL # 72523
014849,000854: 20,3274 60021 AD SR # 77775
014850,000855: 20,3275 60023 AD EDOP # 77775
014851,000856: 20,3276 67652 AD S+1 # 77776
014852,000857: 20,3277 02040 TC -1CHK
014853,000858:
014854,000859: 20,3300 25367 INCR SCOUNT +1
014855,000860: 20,3301 02046 TC SMODECHK
014856,000861: 20,3302 03306 TC ROPECHK
014857,000862:
014858,000863: # SKEEP1 HOLDS SUM
014859,000864: # SKEEP2 HOLDS PRESENT CONTENTS OF ADDRESS IN ROPECHK AND SHOWSUM ROUTINES
014860,000865: # SKEEP2 HOLDS BANK NUMBER IN LOW ORDER BITS DURING SHOWSUM DISPLAY
014861,000866: # SKEEP3 HOLDS PRESENT ADDRESS (00000 TO 01777 IN COMMON FIXED BANKS)
014862,000867: # (04000 TO 07777 IN FXFX BANKS)
014863,000868: # SKEEP3 HOLDS BUGGER WORD DURING SHOWSUM DISPLAY
014864,000869: # SKEEP4 HOLDS BANK NUMBER
014865,000870: # SKEEP5 COUNTS 2 SUCCESSIVE TC SELF WORDS
014866,000871: # SKEEP6 CONTROLS ROPECHK OR SHOWSUM OPTION
014867,000872: # SKEEP7 CONTROLS WHEN ROUNTINE IS IN COMMON FIXED OR FIXED FIXED BANKS
014868,000873:
014869,000874: 20,3303 05206 STSHOSUM TC GRABDSP
014870,000875: 20,3304 05214 TC PREGBSY
014871,000876: 20,3305 03310 TC +3
014872,000877: 20,3306 37660 ROPECHK CA S-ZERO
014873,000878: 20,3307 55376 TS SKEEP6 # ROPECHK OPTION
014874,000879: 20,3310 37657 CA S+ZERO
014875,000880: 20,3311 55374 TS SKEEP4 # BANK NUMBER
014876,000881: 20,3312 37652 CA S+1
014877,000882: 20,3313 55377 COMMFX TS SKEEP7
014878,000883: 20,3314 37657 CA S+ZERO
014879,000884: 20,3315 55371 TS SKEEP1
014880,000885: 20,3316 55373 TS SKEEP3
014881,000886: 20,3317 37652 CA S+1
014882,000887: 20,3320 55375 TS SKEEP5 # COUNTS DOWN 2 TC SELF WORDS
014883,000888: 20,3321 31373 COMADRS CA SKEEP3
014884,000889: 20,3322 61374 AD SKEEP4
014885,000890: 20,3323 04116 TC DATACALL
014886,000891: 20,3324 03350 TC ADSUM
014887,000892: 20,3325 67640 AD SBIT11 # 02000
014888,000893: 20,3326 03361 TC ADRSCHK
014889,000894:
014890,000895: 20,3327 40000 FXFX CS A
014891,000896: 20,3330 55377 TS SKEEP7
014892,000897: 20,3331 00006 EXTEND
014893,000898: 20,3332 13335 BZF +3
014894,000899: 20,3333 37637 CA SBIT12 # 04000, STARTING ADDRESS OF BANK 02
014895,000900: 20,3334 03336 TC +2
014896,000901: 20,3335 34421 CA SBNK03 # 06000, STARTING ADDRESS OF BANK 03
014897,000902: 20,3336 55373 TS SKEEP3
014898,000903: 20,3337 37657 CA S+ZERO
014899,000904: 20,3340 55371 TS SKEEP1
014900,000905: 20,3341 37652 CA S+1
014901,000906: 20,3342 55375 TS SKEEP5 # COUNTS DOWN 2 TC SELF WORDS
014902,000907: 20,3343 00006 FXADRS EXTEND
014903,000908: 20,3344 51373 NDX SKEEP3
014904,000909: 20,3345 30001 DCA 0000
014905,000910: 20,3346 03350 TC ADSUM
014906,000911: 20,3347 03361 TC ADRSCHK
014907,000912:
014908,000913: 20,3350 55372 ADSUM TS SKEEP2
014909,000914: 20,3351 61371 AD SKEEP1
014910,000915: 20,3352 55371 TS SKEEP1
014911,000916: 20,3353 37657 CAF S+ZERO
014912,000917: 20,3354 61371 AD SKEEP1
014913,000918: 20,3355 55371 TS SKEEP1
014914,000919: 20,3356 41372 CS SKEEP2
014915,000920: 20,3357 61373 AD SKEEP3
014916,000921: 20,3360 00002 TC Q
014917,000922:
014918,000923: 20,3361 10000 ADRSCHK CCS A
014919,000924: 20,3362 03372 TC CONTINU
014920,000925: 20,3363 03372 TC CONTINU
014921,000926: 20,3364 03372 TC CONTINU
014922,000927: 20,3365 11375 CCS SKEEP5
014923,000928: 20,3366 03373 TC CONTINU +1
014924,000929: 20,3367 30001 CA L
014925,000930: 20,3370 03350 TC ADSUM
014926,000931: 20,3371 03433 TC SOPTION # GO TO ROPECHK SHOSUM OPTION
014927,000932: 20,3372 37652 CONTINU CA S+1 # MAKE SURE TWO CONSECUTIVE TC SELF WORDS
014928,000933: 20,3373 55375 TS SKEEP5
014929,000934: 20,3374 11376 CCS SKEEP6 # +1 IN SKEEP6, SHOWSUM VIA EXECUTIVE
014930,000935: 20,3375 10067 CCS NEWJOB
014931,000936: 20,3376 04317 TC CHANG1
014932,000937: 20,3377 03401 TC +2
014933,000938: 20,3400 04372 TC CHECKNJ # -0 IN SKEEP6 FOR ROPECHK
014934,000939:
014935,000940: 20,3401 25373 ADRS+1 INCR SKEEP3
014936,000941: 20,3402 11377 CCS SKEEP7
014937,000942: 20,3403 03321 TC COMADRS
014938,000943: 20,3404 03321 TC COMADRS
014939,000944: 20,3405 03343 TC FXADRS
014940,000945: 20,3406 03343 TC FXADRS
014941,000946:
014942,000947: 20,3407 31374 NXTBNK CA SKEEP4
014943,000948: 20,3410 67640 AD SBIT11
014944,000949: 20,3411 55374 TS SKEEP4
014945,000950: 20,3412 03415 TC +3
014946,000951: 20,3413 37634 CA SBIT15
014947,000952: 20,3414 55374 TS SKEEP4
014948,000953: 20,3415 63436 AD NOBANKNO # FIRST BANK NOT USED.
014949,000954: 20,3416 00006 EXTEND
014950,000955: 20,3417 13426 BZF ENDSUMS
014951,000956: 20,3420 11377 CCS SKEEP7
014952,000957: 20,3421 03313 TC COMMFX
014953,000958: 20,3422 37652 CA S+1
014954,000959: 20,3423 03327 TC FXFX
014955,000960: 20,3424 37644 CA SBIT7 # CAN BE ANY NUMBER LARGER THAN 36 DECIMAL
014956,000961: 20,3425 03313 TC COMMFX
014957,000962:
014958,000963: 20,3426 11376 ENDSUMS CCS SKEEP6
014959,000964: 20,3427 03310 TC ROPECHK +2 # START SHOWSUM AGAIN
014960,000965: 20,3430 37777 S+MAX OCTAL 37777 # ** S+MAX AND S-MAX MUST BE TOGETHER
014961,000966: 20,3431 40000 S-MAX OCTAL 40000 # FOR DOUBLE PRECISION CHECKING.
014962,000967: 20,3432 03510 TC MPNMBRS -1 # ROPECHK IS COMPLETED
014963,000968:
014964,000969: 20,3433 11376 SOPTION CCS SKEEP6 # DECIDE ON ROPECHK OR SHOWSUM OPTION
014965,000970: 20,3434 03466 TC SDISPLAY
014966,000971: 20,3435 00501 VNCON OCTAL 00501 # USED IN SHOWSUM. DISPLAY 3 REGISTERS.
014967,000972: 20,3436 33777 NOBANKNO OCTAL 33777 # * CONSTANT, COMPLEMENT OF LAST BANK +1.
014968,000973: # CHANGE TO 33777 IF BANK 21 IS LAST BANK USED
014969,000974: 20,3437 11371 BNKCHK CCS SKEEP1 # WHEN C(SKEEP6) = -0
014970,000975: 20,3440 03444 TC +4
014971,000976: 20,3441 41466 SCADR FCADR SDISPLAY # * CONSTANT, USED IN SHOWSUM ONLY
014972,000977: 20,3442 03444 TC +2
014973,000978: 20,3443 37661 CA S-1 # FOR BANK 00
014974,000979: 20,3444 55371 TS SKEEP1
014975,000980: 20,3445 31374 CA SKEEP4
014976,000981: 20,3446 05111 TC LEFT5
014977,000982: 20,3447 40000 CS A
014978,000983: 20,3450 61371 AD SKEEP1
014979,000984: 20,3451 02040 TC -1CHK
014980,000985: 20,3452 03407 TC NXTBNK
014981,000986:
014982,000987: # INITIALIZE SKEEP6 TO +1 TO PERFORM SHOWSUM
014983,000988: # START OF ROUTINE THAT DISPLAYS SUM OF EACH BANK
014984,000989: 20,3453 37652 SHOWSUM CAF S+1
014985,000990: 20,3454 55376 TS SKEEP6 # SHOWSUM OPTION
014986,000991: 20,3455 37657 CAF S+ZERO
014987,000992: 20,3456 03766 TC SHOWSUM1
014988,000993: 20,3457 00004 SHOWSUM3 INHINT
014989,000994: 20,3460 37640 CAF PRIO2
014990,000995: 20,3461 04276 TC NOVAC
014991,000996: 20,3462 1360 EBANK= SELFRET
014992,000997: 20,3462 03303 40002 2CADR STSHOSUM
014993,000998:
014994,000999: 20,3464 00003 RELINT
014995,001000: 20,3465 04353 TC ENDOFJOB
014996,001001:
014997,001002: 20,3466 31374 SDISPLAY CA SKEEP4
014998,001003: 20,3467 05111 TC LEFT5 # CYCLES LEFT 5 PLACES
014999,001004: 20,3470 57372 XCH SKEEP2 # SKEEP2 HOLDS BANK NUMBER DURING DISPLAY
015000,001005: 20,3471 55373 TS SKEEP3 # SKEEP3 HOLDS BUGGER WORD DURING DISPLAY
015001,001006: 20,3472 32015 NOKILL CAF ADRS1 # ADDRESS OF SKEEP1
015002,001007: 20,3473 54142 TS MPAC +2
015003,001008: 20,3474 33435 CAF VNCON # DISPLAY 3 REGISTERS
015004,001009: 20,3475 05011 TC NVSUB
015005,001010: 20,3476 03506 TC SBUSY
015006,001011: 20,3477 05176 TC FLASHON
015007,001012: 20,3500 05042 TC ENDIDLE
015008,001013: 20,3501 03504 TC +3 # FINISHED WITH SHOWSUM
015009,001014: 20,3502 03407 TC NXTBNK
015010,001015: 20,3503 03472 TC NOKILL # SO CAN LOAD WITHOUT KILLING SHOWSUM
015011,001016: 20,3504 03770 TC SDISPLY1
015012,001017: 20,3505 04353 SDISPLY2 TC ENDOFJOB
015013,001018:
015014,001019: 20,3506 33441 SBUSY CAF SCADR
015015,001020: 20,3507 05231 TC NVSUBUSY
015016,001021:
015017,001022: 20,3510 02046 TC SMODECHK
015018,001023:
015019,001024: # MULTIPLY SUBROUTINE TAKES APPROXIMATELY 19 SECONDS.
015020,001025: # (37777) X (37777 THROUGH 00001)
015021,001026: # C(A) COUNTS DOWN. C(L) COUNTS UP.
015022,001027: 20,3511 33430 MPNMBRS CAF S+MAX
015023,001028: 20,3512 55372 TS SKEEP2
015024,001029: 20,3513 33430 CAF S+MAX
015025,001030: 20,3514 00006 EXTEND
015026,001031: 20,3515 71372 MP SKEEP2
015027,001032: 20,3516 60001 AD L # C(A) = 37777
015028,001033: 20,3517 63431 AD S-MAX
015029,001034: 20,3520 02032 TC -0CHK
015030,001035: 20,3521 04372 TC CHECKNJ # CHECK FOR NEW JOB
015031,001036: 20,3522 11372 CCS SKEEP2
015032,001037: 20,3523 55372 TS SKEEP2
015033,001038: 20,3524 11372 CCS SKEEP2
015034,001039: 20,3525 03513 TC MPNMBRS +2
015035,001040: # (-1) X (37777 THROUGH 00001)
015036,001041: 20,3526 33430 CAF S+MAX
015037,001042: 20,3527 55372 TS SKEEP2
015038,001043: 20,3530 37661 MPHIGH1 CAF S-1
015039,001044: 20,3531 00006 EXTEND
015040,001045: 20,3532 71372 MP SKEEP2 # C(A) = -0
015041,001046: 20,3533 02032 TC -0CHK
015042,001047: 20,3534 30001 CA L
015043,001048: 20,3535 61372 AD SKEEP2
015044,001049: 20,3536 02032 TC -0CHK
015045,001050: 20,3537 04372 TC CHECKNJ # CHECK FOR NEW JOB
015046,001051: 20,3540 11372 CCS SKEEP2
015047,001052: 20,3541 55372 TS SKEEP2
015048,001053: 20,3542 11372 CCS SKEEP2
015049,001054: 20,3543 03530 TC MPHIGH1
015050,001055:
015051,001056: # INTERCHANGE MULTIPLIER AND MULTIPLICAND
015052,001057: # (37777 THROUGH 00001) X (37777)
015053,001058: # C(A) COUNTS DOWN. C(L) COUNTS UP.
015054,001059: 20,3544 33430 CAF S+MAX
015055,001060: 20,3545 55371 TS SKEEP1
015056,001061: 20,3546 31371 MPAGAIN CA SKEEP1
015057,001062: 20,3547 00006 EXTEND
015058,001063: 20,3550 73430 MP S+MAX
015059,001064: 20,3551 60001 AD L # C(A) = 37777
015060,001065: 20,3552 63431 AD S-MAX
015061,001066: 20,3553 02032 TC -0CHK
015062,001067: 20,3554 04372 TC CHECKNJ # CHECK FOR NEW JOB
015063,001068: 20,3555 11371 CCS SKEEP1
015064,001069: 20,3556 55371 TS SKEEP1
015065,001070: 20,3557 11371 CCS SKEEP1
015066,001071: 20,3560 03546 TC MPAGAIN
015067,001072: # (37777 THROUGH 00001) X (-1)
015068,001073: 20,3561 33430 CAF S+MAX
015069,001074: 20,3562 55371 TS SKEEP1
015070,001075: 20,3563 31371 MPHIGH2 CA SKEEP1
015071,001076: 20,3564 00006 EXTEND
015072,001077: 20,3565 77661 MP S-1
015073,001078: 20,3566 02032 TC -0CHK
015074,001079: 20,3567 30001 CA L
015075,001080: 20,3570 61371 AD SKEEP1
015076,001081: 20,3571 02032 TC -0CHK
015077,001082: 20,3572 04372 TC CHECKNJ # CHECK FOR NEW JOB
015078,001083: 20,3573 11371 CCS SKEEP1
015079,001084: 20,3574 55371 TS SKEEP1
015080,001085: 20,3575 11371 CCS SKEEP1
015081,001086: 20,3576 03563 TC MPHIGH2
015082,001087:
015083,001088: 20,3577 02046 TC SMODECHK
015084,001089:
015085,001090: # ONCE THROUGH DIVIDE SUBROUTINE TAKES APPROXIMATELY 0.01 SECOND.
015086,001091: # TOTAL TIME SPENT IN DIVIDE SUBROUTINE IS APPROXIMATELY 21.5 SECONDS
015087,001092: # DIVIDE +-/17777/ +-/37777/ BY +-/20000/. THE CONTENTS OF THE A REGISTER
015088,001093: # AND THE L REGISTER WILL HAVE OPPOSITE SIGNS BEFORE DIVISION. THE
015089,001094: # QUOTIENT SHOULD BE +-/37774/ DEPENDING ON THE SIGN OF A AND THE SIGN
015090,001095: # OF THE DIVISOR. THE REMAINDER = +-1 DEPENDING ON THE SIGN OF A
015091,001096: 20,3600 47637 DVCHECK CS SBIT12 # -(04000)
015092,001097: 20,3601 55374 TS SKEEP4
015093,001098: 20,3602 25374 DVLOOP INCR SKEEP4
015094,001099: 20,3603 37635 DV1CHK CA SBIT14 # 20000
015095,001100: 20,3604 55371 TS SKEEP1
015096,001101: 20,3605 40000 CS A
015097,001102: 20,3606 55372 TS SKEEP2
015098,001103: 20,3607 43430 DV1++ CS S+MAX
015099,001104: 20,3610 54001 TS L # 40000
015100,001105: 20,3611 32006 CA S13BITS
015101,001106: 20,3612 00006 EXTEND
015102,001107: 20,3613 11371 DV SKEEP1 # +37774, +1
015103,001108: 20,3614 55377 TS SKEEP7 # 37774
015104,001109: 20,3615 33431 CA S-MAX
015105,001110: 20,3616 56001 XCH L # ALSO PUT 40000 IN L
015106,001111: 20,3617 02037 TC +1CHK
015107,001112: 20,3620 32006 DV1+- CA S13BITS # 17777
015108,001113: 20,3621 00006 EXTEND
015109,001114: 20,3622 11372 DV SKEEP2 # -37774, +1
015110,001115: 20,3623 61377 AD SKEEP7
015111,001116: 20,3624 02032 TC -0CHK
015112,001117: 20,3625 33430 CA S+MAX
015113,001118: 20,3626 56001 XCH L # ALSO PUT 37777 IN L
015114,001119: 20,3627 02037 TC +1CHK
015115,001120: 20,3630 42006 DV1-+ CS S13BITS # 60000
015116,001121: 20,3631 00006 EXTEND
015117,001122: 20,3632 11371 DV SKEEP1 # -37774, -1
015118,001123: 20,3633 55376 TS SKEEP6
015119,001124: 20,3634 61377 AD SKEEP7
015120,001125: 20,3635 02032 TC -0CHK
015121,001126: 20,3636 33430 CA S+MAX
015122,001127: 20,3637 56001 XCH L # ALSO PUT 37777 IN L
015123,001128: 20,3640 02040 TC -1CHK
015124,001129: 20,3641 42006 DV1-- CS S13BITS # 60000
015125,001130: 20,3642 00006 EXTEND
015126,001131: 20,3643 11372 DV SKEEP2 # +37774, -1
015127,001132: 20,3644 61376 AD SKEEP6
015128,001133: 20,3645 02032 TC -0CHK
015129,001134: 20,3646 33430 CA S+MAX
015130,001135: 20,3647 56001 XCH L # ALSO PUT 37777 IN L FOR DV2
015131,001136: 20,3650 02040 TC -1CHK
015132,001137: 20,3651 31376 CA SKEEP6 # -37774
015133,001138: 20,3652 67662 AD S-2 # -37776
015134,001139: 20,3653 63430 AD S+MAX
015135,001140: 20,3654 02037 TC +1CHK
015136,001141:
015137,001142: # DIVIDE +17777 + 37777 BY +20000. THE RESULT SHOULD BE +37777 WITH
015138,001143: # +17777 REMAINDER.
015139,001144: 20,3655 32006 DV2CHK CA S13BITS
015140,001145: 20,3656 00006 EXTEND
015141,001146: 20,3657 11371 DV SKEEP1
015142,001147: 20,3660 63431 AD S-MAX
015143,001148: 20,3661 02032 TC -0CHK
015144,001149: 20,3662 47635 CS SBIT14 # -20000
015145,001150: 20,3663 60001 AD L
015146,001151: 20,3664 02040 TC -1CHK
015147,001152:
015148,001153: # DIVIDE +37776 BY +37776. THE RESULT SHOULD BE +37777 AND THE
015149,001154: # REMAINDER SHOULD BE +37776.
015150,001155: 20,3665 37657 DV4CHK CA S+ZERO
015151,001156: 20,3666 54001 TS L
015152,001157: 20,3667 32011 CA DVCON
015153,001158: 20,3670 55371 TS SKEEP1 # 37776
015154,001159: 20,3671 00006 EXTEND
015155,001160: 20,3672 11371 DV SKEEP1
015156,001161: 20,3673 40000 CS A
015157,001162: 20,3674 62011 AD DVCON
015158,001163: 20,3675 02040 TC -1CHK
015159,001164: 20,3676 30001 CA L # 37776
015160,001165: 20,3677 63431 AD S-MAX
015161,001166: 20,3700 02040 TC -1CHK
015162,001167:
015163,001168: # DIVIDE SAME (ZERO). THE CONTENTS OF THE A REGISTER AND L REGISTER WILL
015164,001169: # HAVE OPPOSITE SIGNS BEFORE DIVISION. THE QUOTIENT WILL BE + OR - MAX.,
015165,001170: # DEPENDING UPON THE SIGN OF THE L REGISTER AND THE SIGN OF THE DIVISOR.
015166,001171: # C(L) REMAINS THE SAME BECAUSE IT IS THE DIVIDEND.
015167,001172: 20,3701 37657 DV5CHK CA S+ZERO
015168,001173: 20,3702 55371 TS SKEEP1 # +0
015169,001174: 20,3703 54001 TS L
015170,001175: 20,3704 40000 CS A
015171,001176: 20,3705 55372 TS SKEEP2 # -0
015172,001177: 20,3706 00006 DV5++ EXTEND
015173,001178: 20,3707 11371 DV SKEEP1 # +37777, +0
015174,001179: 20,3710 55377 TS SKEEP7 # 37777
015175,001180: 20,3711 30001 CA L
015176,001181: 20,3712 02031 TC +0CHK
015177,001182: 20,3713 40000 DV5+- CS A
015178,001183: 20,3714 00006 EXTEND
015179,001184: 20,3715 11372 DV SKEEP2 # 40000, +0
015180,001185: 20,3716 55376 TS SKEEP6 # 40000
015181,001186: 20,3717 61377 AD SKEEP7
015182,001187: 20,3720 02032 TC -0CHK
015183,001188: 20,3721 40000 CS A
015184,001189: 20,3722 56001 XCH L # ALSO PUT -0 IN L
015185,001190: 20,3723 02031 TC +0CHK
015186,001191: 20,3724 00006 DV5-+ EXTEND
015187,001192: 20,3725 11371 DV SKEEP1 # 40000, -0
015188,001193: 20,3726 61377 AD SKEEP7
015189,001194: 20,3727 02032 TC -0CHK
015190,001195: 20,3730 30001 CA L
015191,001196: 20,3731 02032 TC -0CHK
015192,001197: 20,3732 00006 DV5-- EXTEND
015193,001198: 20,3733 11372 DV SKEEP2 # 37777, -0
015194,001199: 20,3734 61376 AD SKEEP6
015195,001200: 20,3735 02032 TC -0CHK
015196,001201: 20,3736 30001 CA L
015197,001202: 20,3737 02032 TC -0CHK
015198,001203: 20,3740 31376 CA SKEEP6 # CHECK QUOTIENT
015199,001204: 20,3741 62011 AD DVCON
015200,001205: 20,3742 02040 TC -1CHK
015201,001206:
015202,001207: 20,3743 04372 TC CHECKNJ # CHECK FOR NEW JOB
015203,001208: 20,3744 31374 CA SKEEP4
015204,001209: 20,3745 00006 EXTEND
015205,001210: 20,3746 63602 BZMF DVLOOP
015206,001211: 20,3747 25370 INCR SCOUNT +2
015207,001212: 20,3750 02100 TC SELFCHK # START SELF-CHECK AGAIN
015208,001213:
015209,001214:
MAS 2023: The following chunks of code (down to ENDSLFS1) were added as patches between Aurora 85 and Aurora 88. They were placed here at the end of the bank so as to not change addresses of existing symbols. |
015213,001218:
015214,001219: 20,3751 00004 ERASLP1 INHINT
015215,001220: 20,3752 00006 EXTEND
015216,001221: 20,3753 51377 INDEX SKEEP7
015217,001222: 20,3754 30001 DCA 0000
015218,001223: 20,3755 53376 DXCH SKEEP5 # STORES C(X) AND C(X-1) IN SKEEP6 AND 5.
015219,001224: 20,3756 31377 CA SKEEP7
015220,001225: 20,3757 03167 TC ERASLP2
015221,001226:
015222,001227: 20,3760 51377 ERASLP3 NDX SKEEP7
015223,001228: 20,3761 52001 DXCH 0000 # PUT B(X) AND B(X+1) BACK INTO X AND X+1
015224,001229: 20,3762 37657 CA S+ZERO
015225,001230: 20,3763 55357 TS ERESTORE # IF RESTART, DO NOT RESTORE C(X), C(X+1)
015226,001231: 20,3764 03217 TC ERASLP4
015227,001232:
015228,001233:
015229,001234:
015230,001235: 20,3765 02100 SELFADRS GENADR SELFCHK # SELFCHK RETURN ADDRESS. SHOULD BE PUT
015231,001236: # IN SELFRET WHEN GOING FROM SELFCHK TO
015232,001237: # SHOWSUM AND PUT IN SKEEP1 WHEN GOING
015233,001238: # FROM SHOWSUM TO SELF-CHECK.
015234,001239:
015235,001240:
015236,001241:
015237,001242: 20,3766 04102 SHOWSUM1 TC POSTJUMP
015238,001243: 20,3767 35431 CADR SHOWSUM2
015239,001244:
015240,001245:
015241,001246:
015242,001247: 20,3770 05303 SDISPLY1 TC FREEDSP
015243,001248: 20,3771 33765 CA SELFADRS # INITIALIZE SKEEP1 TO GO TO SELFCHK.
015244,001249: 20,3772 55371 TS SKEEP1
015245,001250: 20,3773 03505 TC SDISPLY2
015246,001251:
015247,001252: 20,3774 ENDSLFS1 EQUALS
015248,001253:
015249,001254: 01,3000 SETLOC ENDFAILS
015250,001255:
015251,001256: 01,3000 55371 SBNKOPTN TS SKEEP1
015252,001257: 01,3001 40000 CS A # GO TO BACKUP IDLE LOOP IF C(SMODE) IS
015253,001258: 01,3002 67655 AD OCT11 # GREATER THAN OCTAL 11
015254,001259: 01,3003 00006 EXTEND
015255,001260: 01,3004 63013 BZMF TOSMODE -2
015256,001261: 01,3005 37657 CA S+ZERO # ZERO SMODE FOR OPTIONS ABOVE 8.
015257,001262: 01,3006 55361 TS SMODE
015258,001263: 01,3007 31371 CA SKEEP1
015259,001264: 01,3010 50000 NDX A
015260,001265: 01,3011 03011 TC SOPTON11 -1
015261,001266: 01,3012 03034 SOPTON11 TC DSKYCHK
015262,001267:
015263,001268: 01,3013 37657 CA S+ZERO
015264,001269: 01,3014 55361 TS SMODE
015265,001270: 01,3015 04102 TOSMODE TC POSTJUMP
015266,001271: 01,3016 40046 CADR SMODECHK
015267,001272:
015268,001273: # THE FOLLOWING CONSTANTS ARE USED BY DSKYCHK.
015269,001274: 01,3017 05265 DSKYCODE OCTAL 05265 # 00
015270,001275: 01,3020 04143 OCTAL 04143 # 11
015271,001276: 01,3021 05471 OCTAL 05471 # 22
015272,001277: 01,3022 05573 OCTAL 05573 # 33
015273,001278: 01,3023 04757 OCTAL 04757 # 44
015274,001279: 01,3024 05736 OCTAL 05736 # 55
015275,001280: 01,3025 05634 OCTAL 05634 # 66
015276,001281: 01,3026 05163 OCTAL 05163 # 77
015277,001282: 01,3027 05675 OCTAL 05675 # 88
015278,001283: 01,3030 05777 OCTAL 05777 # 99
015279,001284: 01,3031 07265 +-ZERO OCTAL 07265
015280,001285: 01,3032 00013 11DEC. OCTAL 00013
015281,001286:
015282,001287: # BITS 2 AND 6 TURN ON THE COMPUTER ACTIVITY AND VERB-NOUN FLASH.
015283,001288: 01,3033 00042 S11CHAN OCTAL 00042
015284,001289:
015285,001290: 01,3034 37654 DSKYCHK CAF TEN
015286,001291: 01,3035 55373 TS SKEEP3
015287,001292: 01,3036 00004 INHINT
015288,001293: 01,3037 37652 CAF S+1 # SET UP TEN MS INTERRUPT
015289,001294: 01,3040 04451 TC WAITLIST
015290,001295: 01,3041 03075 02003 2CADR NXTNMBR
015291,001296:
015292,001297: 01,3043 00003 RELINT
015293,001298: 01,3044 03015 TC TOSMODE # GO TO IDLE LOOP
015294,001299:
015295,001300: 01,3045 55373 SDSPTAB TS SKEEP3
015296,001301: 01,3046 00004 INHINT
015297,001302: 01,3047 51373 NDX SKEEP3
015298,001303: 01,3050 43017 CS DSKYCODE
015299,001304: 01,3051 54307 SBLANKS TS DSPTAB
015300,001305: 01,3052 54310 TS DSPTAB +1
015301,001306: 01,3053 54311 TS DSPTAB +2
015302,001307: 01,3054 54312 TS DSPTAB +3
015303,001308: 01,3055 54313 TS DSPTAB +4
015304,001309: 01,3056 54314 TS DSPTAB +5
015305,001310: 01,3057 54315 TS DSPTAB +6
015306,001311: 01,3060 54316 TS DSPTAB +7
015307,001312: 01,3061 54317 TS DSPTAB +8D
015308,001313: 01,3062 54320 TS DSPTAB +9D
015309,001314: 01,3063 54321 TS DSPTAB +10D
015310,001315: 01,3064 33032 CA 11DEC.
015311,001316: 01,3065 54303 TS NOUT
015312,001317:
015313,001318: 01,3066 00004 DSKYWAIT INHINT
015314,001319: 01,3067 37641 CAF BIT10 # 5.12 SECOND WAIT
015315,001320: 01,3070 04451 TC WAITLIST
015316,001321: 01,3071 03075 02003 2CADR NXTNMBR
015317,001322:
015318,001323: 01,3073 00003 RELINT
015319,001324: 01,3074 04505 TC TASKOVER
015320,001325:
015321,001326: 01,3075 11373 NXTNMBR CCS SKEEP3
015322,001327: 01,3076 03045 TC SDSPTAB # 9 THROUGH 0
015323,001328: 01,3077 03104 TC -SIGN # -ZEROS
015324,001329: 01,3100 03121 TC +SIGN # +ZEROS
015325,001330: 01,3101 11372 CCS SKEEP2
015326,001331: 01,3102 03135 TC NODSPLAY # PUTS BLANKS IN DSKY DISPLAY
015327,001332: 01,3103 03141 TC LITESOUT # TURN OFF LIGHTS
015328,001333:
015329,001334: 01,3104 47652 -SIGN CS S+1
015330,001335: 01,3105 55373 TS SKEEP3
015331,001336: 01,3106 33033 CA S11CHAN # TURN ON VERB-NOUN FLASH
015332,001337: 01,3107 00006 EXTEND # AND COMPUTER ACTIVITY LIGHTS.
015333,001338: 01,3110 05011 WOR DSALMOUT
015334,001339: 01,3111 43031 CS +-ZERO
015335,001340: 01,3112 00004 INHINT
015336,001341: 01,3113 54307 TS DSPTAB
015337,001342: 01,3114 54312 TS DSPTAB +3
015338,001343: 01,3115 54314 TS DSPTAB +5
015339,001344: 01,3116 36165 CAF THREE
015340,001345: 01,3117 54303 TS NOUT
015341,001346: 01,3120 03066 TC DSKYWAIT
015342,001347: 01,3121 47657 +SIGN CS ZERO
015343,001348: 01,3122 55373 TS SKEEP3
015344,001349: 01,3123 37652 CA S+1
015345,001350: 01,3124 55372 TS SKEEP2
015346,001351: 01,3125 00004 INHINT
015347,001352: 01,3126 43031 CS +-ZERO
015348,001353: 01,3127 54310 TS DSPTAB +1
015349,001354: 01,3130 54313 TS DSPTAB +4
015350,001355: 01,3131 54315 TS DSPTAB +6
015351,001356: 01,3132 36165 CAF THREE
015352,001357: 01,3133 54303 TS NOUT
015353,001358: 01,3134 03066 TC DSKYWAIT
015354,001359:
015355,001360: 01,3135 55372 NODSPLAY TS SKEEP2 # +0
015356,001361: 01,3136 47637 CS BIT12 # BLANKS
015357,001362: 01,3137 00004 INHINT
015358,001363: 01,3140 03051 TC SBLANKS # PUTS BLANKS IN ALL DISPLAYS
015359,001364:
015360,001365: 01,3141 43033 LITESOUT CS S11CHAN
015361,001366: 01,3142 00006 EXTEND
015362,001367: 01,3143 03011 WAND DSALMOUT # TURN OFF COMPUTER ACTIVITY LIGHT.
015363,001368: 01,3144 04505 TC TASKOVER # END OF DSKYCHK
015364,001369:
015365,001370: 01,3145 ENDSLFS2 EQUALS
End of include-file AGC_BLOCK_TWO_SELF-CHECK.agc. Parent file is MAIN.agc