Source Code
These source-code files are part of a reconstructed copy of Sundial E, the
final release of the Block II Command Module (CM) Apollo Guidance Computer
(AGC) system test software.
They have been created via disassembly of binary dumps of original core rope memory modules, part numbers 2003053-121, 2003053-151, and 2003972-211, belonging to the MIT Museum. Since only binary dumps (rather than listings) of Sundial 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. |
012091,000002: ## Copyright: Public domain.
012092,000003: ## Filename: AGC_BLOCK_TWO_SELF-CHECK.agc
012093,000004: ## Purpose: A section of Sundial E.
012094,000005: ## It is part of the reconstructed source code for the final
012095,000006: ## release of the Block II Command Module system test software. No
012096,000007: ## original listings of this program are available; instead, this
012097,000008: ## file was created via disassembly of dumps of Sundial core rope
012098,000009: ## modules and comparison with other AGC programs.
012099,000010: ## Assembler: yaYUL
012100,000011: ## Contact: Ron Burkey <info@sandroid.org>.
012101,000012: ## Website: www.ibiblio.org/apollo/index.html
012102,000013: ## Mod history: 2023-06-22 MAS Created from Aurora 12.
012103,000014: ## 2023-06-30 MAS Updated for Sundial E.
012104,000015: ## 2023-07-03 MAS Added note for patches introduced in Sundial D.
012105,000016:
012106,000017:
012107,000018: 10,2000 BANK 10
012108,000019:
012109,000020: 10,2000 7652 SBIT1 EQUALS BIT1
012110,000021: 10,2000 7651 SBIT2 EQUALS BIT2
012111,000022: 10,2000 7650 SBIT3 EQUALS BIT3
012112,000023: 10,2000 7647 SBIT4 EQUALS BIT4
012113,000024: 10,2000 7646 SBIT5 EQUALS BIT5
012114,000025: 10,2000 7645 SBIT6 EQUALS BIT6
012115,000026: 10,2000 7644 SBIT7 EQUALS BIT7
012116,000027: 10,2000 7643 SBIT8 EQUALS BIT8
012117,000028: 10,2000 7642 SBIT9 EQUALS BIT9
012118,000029: 10,2000 7641 SBIT10 EQUALS BIT10
012119,000030: 10,2000 7640 SBIT11 EQUALS BIT11
012120,000031: 10,2000 7637 SBIT12 EQUALS BIT12
012121,000032: 10,2000 7636 SBIT13 EQUALS BIT13
012122,000033: 10,2000 7635 SBIT14 EQUALS BIT14
012123,000034: 10,2000 7634 SBIT15 EQUALS BIT15
012124,000035:
012125,000036: 10,2000 7657 S+ZERO EQUALS ZERO
012126,000037: 10,2000 7652 S+1 EQUALS BIT1
012127,000038: 10,2000 7651 S+2 EQUALS BIT2
012128,000039: 10,2000 6165 S+3 EQUALS THREE
012129,000040: 10,2000 7650 S+4 EQUALS FOUR
012130,000041: 10,2000 7227 S+5 EQUALS FIVE
012131,000042: 10,2000 6162 S+6 EQUALS SIX
012132,000043: 10,2000 7656 S+7 EQUALS SEVEN
012133,000044: 10,2000 5466 S8BITS EQUALS LOW8 # 00377
012134,000045: 10,2000 00051 CNTRCON OCTAL 00051 # USED IN CNTRCHK
012135,000046: 10,2001 00062 ERASCON1 OCTAL 00062 # USED IN ERASCHK
012136,000047: 10,2002 01374 ERASCON2 OCTAL 01374 # USED IN ERASCHK
012137,000048: 10,2003 01400 ERASCON6 OCTAL 01400 # USED IN ERASCHK
012138,000049: 10,2004 01462 ERASCON3 OCTAL 01462 # USED IN ERASCHK
012139,000050: 10,2005 01774 ERASCON4 OCTAL 01774 # USED IN ERASCHK
012140,000051: 10,2006 6426 S10BITS EQUALS LOW10 # 01777, USED IN ERASCHK
012141,000052: 10,2006 4421 SBNK03 EQUALS PRIO6 # 06000, USED IN ROPECHK
012142,000053: 10,2006 17777 S13BITS OCTAL 17777
012143,000054: 10,2007 25252 CONC+S1 OCTAL 25252 # USED IN CYCLSHFT
012144,000055: 10,2010 37737 OVCON OCTAL 37737 # USED IN RUPTCHK
012145,000056: 10,2011 37776 DVCON OCTAL 37776
012146,000057: 10,2012 52400 CONC+S2 OCTAL 52400 # USED IN CYCLSHFT
012147,000058: 10,2013 76777 ERASCON5 OCTAL 76777
012148,000059: 10,2014 77770 S-7 OCTAL 77770
012149,000060: 10,2015 6045 S-4 EQUALS NEG4
012150,000061: 10,2015 7663 S-3 EQUALS NEG3
012151,000062: 10,2015 7662 S-2 EQUALS NEG2
012152,000063: 10,2015 7661 S-1 EQUALS NEGONE
012153,000064: 10,2015 7660 S-ZERO EQUALS NEG0
012154,000065:
012155,000066: 10,2015 E3,1400 EBANK= 3
012156,000067: 10,2015 01371 ADRS1 ADRES SKEEP1
012157,000068:
012158,000069: 10,2016 00021 SRADRS ADRES SR
012159,000070: 10,2017 02101 SELFADRS ADRES SELFCHK # SELFCHK RETURN ADDRESS. SHOULD BE PUT
012160,000071: # IN SELFRET WHEN GOING FROM SELFCHK TO
012161,000072: # SHOWSUM AND PUT IN SKEEP1 WHEN GOING
012162,000073: # FROM SHOWSUM TO SELF-CHECK.
012163,000074:
012164,000075: 10,2020 30002 ERRORS CA Q
012165,000076: 10,2021 55364 TS SFAIL # SAVE Q FOR FAILURE LOCATION
012166,000077: 10,2022 25365 INCR ERCOUNT # KEEP TRACK OF NUMBER OF MALFUNCTIONS.
012167,000078: 10,2023 05644 TC ALARM
012168,000079: 10,2024 01102 OCT 01102 # SELF-CHECK MALFUNCTION INDICATOR
012169,000080: 10,2025 11361 CCS SMODE
012170,000081: 10,2026 37657 CA S+ZERO
012171,000082: 10,2027 55361 TS SMODE
012172,000083: 10,2030 02101 TC SELFCHK # GO TO IDLE LOOP
012173,000084: 10,2031 01364 TC SFAIL # CONTINUE WITH SELF-CHECK
012174,000085:
012175,000086: 10,2032 40000 +0CHK CS A
012176,000087: 10,2033 10000 -0CHK CCS A
012177,000088: 10,2034 12020 TCF ERRORS
012178,000089: 10,2035 12020 TCF ERRORS
012179,000090: 10,2036 12020 TCF ERRORS
012180,000091: 10,2037 00002 TC Q
012181,000092:
012182,000093: 10,2040 40000 +1CHK CS A
012183,000094: 10,2041 10000 -1CHK CCS A
012184,000095: 10,2042 12020 TCF ERRORS
012185,000096: 10,2043 12020 TCF ERRORS
012186,000097: 10,2044 10000 CCS A
012187,000098: 10,2045 12020 TCF ERRORS
012188,000099: 10,2046 00002 TC Q
012189,000100:
012190,000101: 10,2047 00006 SMODECHK EXTEND
012191,000102: 10,2050 23371 QXCH SKEEP1
012192,000103: 10,2051 04372 TC CHECKNJ # CHECK FOR NEW JOB
012193,000104: 10,2052 11361 CCS SMODE
012194,000105: 10,2053 02060 TC SOPTIONS
012195,000106: 10,2054 02051 TC SMODECHK +2 # TO BACKUP IDLE LOOP
012196,000107: 10,2055 02060 TC SOPTIONS
012197,000108: 10,2056 25366 INCR SCOUNT
012198,000109: 10,2057 01371 TC SKEEP1 # CONTINUE WITH SELF-CHECK
012199,000110:
012200,000111: 10,2060 62014 SOPTIONS AD S-7
012201,000112: 10,2061 00006 EXTEND
012202,000113: 10,2062 62065 BZMF +3 # FOR OPTIONS BELOW NINE.
012203,000114: 10,2063 04103 BNKOPTN TC POSTJUMP # GO TO ANOTHER BANK FOR OPTIONS ABOVE 8.
012204,000115: 10,2064 03120 CADR SBNKOPTN
012205,000116: 10,2065 25366 INCR SCOUNT # FOR OPTIONS BELOW NINE.
012206,000117: 10,2066 67656 AD S+7
012207,000118: 10,2067 50000 INDEX A
012208,000119: 10,2070 02071 TC SOPTION1
012209,000120: 10,2071 02102 SOPTION1 TC TC+TCF
012210,000121: 10,2072 02766 SOPTION2 TC IN-OUT1
012211,000122: 10,2073 03042 SOPTION3 TC COUNTCHK
012212,000123: 10,2074 03136 SOPTION4 TC ERASCHK
012213,000124: 10,2075 03306 SOPTION5 TC ROPECHK
012214,000125: 10,2076 03515 SOPTION6 TC MPNMBRS
012215,000126: 10,2077 03604 SOPTION7 TC DVCHECK
012216,000127: 10,2100 01371 SOPTON10 TC SKEEP1 # CONTINUE WITH SELF-CHECK
012217,000128:
012218,000129: 10,2101 02047 SELFCHK TC SMODECHK # ** CHARLEY, COME IN HERE
012219,000130:
012220,000131: # TC+TCF CHECKS ALL OF THE PULSES OF TCF AND ALL OF THE PULSES OF TC
012221,000132: # EXCEPT ABILITY TO TC TO ERASABLE.
012222,000133: # ALSO FIRST TIME CS FIXED MEMORY IS USED
012223,000134: 10,2102 02104 TC+TCF TC +2
012224,000135: 10,2103 02111 TC CCSCHK
012225,000136: 10,2104 12106 TCF +2 # $ TCF FIXED MEMORY
012226,000137: 10,2105 02020 TC ERRORS
012227,000138: 10,2106 46165 CS S+3 # $ CS FIXED MEMORY
012228,000139: 10,2107 00002 TC Q # $
012229,000140: 10,2110 02020 TC ERRORS
012230,000141:
012231,000142: # CCSCHK CHECKS ALL OF CCS EXCEPT RB WG.
012232,000143: # ALSO CHECKS TS ERASABLE, CS SC, AND CS ERASABLE MEMORY.
012233,000144: 10,2111 10000 CCSCHK CCS A # $ CCS SC, C(A) = -3
012234,000145: 10,2112 02020 TC ERRORS
012235,000146: 10,2113 02020 TC ERRORS
012236,000147: 10,2114 02116 TC +2
012237,000148: 10,2115 02020 TC ERRORS
012238,000149: 10,2116 10000 CCS A # $ C(A) = +2, RESULT OF CCS -NUMBER
012239,000150: 10,2117 02123 TC +4
012240,000151: 10,2120 02020 TC ERRORS
012241,000152: 10,2121 02020 TC ERRORS
012242,000153: 10,2122 02020 TC ERRORS
012243,000154: 10,2123 55371 TS SKEEP1 # $ TS ERASABLE
012244,000155: 10,2124 11371 CCS SKEEP1 # $ CCS ERASABLE, C(A) = +1, RESULT OF
012245,000156: 10,2125 02131 TC +4 # CCS +NUMBER
012246,000157: 10,2126 02020 TC ERRORS
012247,000158: 10,2127 02020 TC ERRORS
012248,000159: 10,2130 02020 TC ERRORS
012249,000160: 10,2131 10000 CCS A # $ C(A) = +0, RESULT OF CCS +1, CHECKS CI
012250,000161: 10,2132 02020 TC ERRORS
012251,000162: 10,2133 02136 TC +3
012252,000163: 10,2134 02020 TC ERRORS
012253,000164: 10,2135 02020 TC ERRORS
012254,000165: 10,2136 40000 CS A # $ CS SC
012255,000166: 10,2137 10000 CCS A # $ C(A) = -0, RESULT OF CCS +0
012256,000167: 10,2140 02020 TC ERRORS
012257,000168: 10,2141 02020 TC ERRORS
012258,000169: 10,2142 02020 TC ERRORS
012259,000170: 10,2143 10000 CCS A # $ RESULT OF CCS -0
012260,000171: 10,2144 02020 TC ERRORS
012261,000172: 10,2145 02150 TC +3
012262,000173: 10,2146 02020 TC ERRORS
012263,000174: 10,2147 02020 TC ERRORS
012264,000175: 10,2150 41371 CS SKEEP1 # $ CS ERASABLE. ALSO CHECKS BACK INTO
012265,000176: 10,2151 02041 TC -1CHK # ERASABLE SEQUENCE.
012266,000177:
012267,000178: # BZMFCHK CHECKS ALL PULSES OF BZMF.
012268,000179: # ALSO CHECKS CA FIXED MEMORY.
012269,000180: 10,2152 37642 BZMFCHK CAF SBIT9 # $ CA FIXED MEMORY
012270,000181: 10,2153 00006 EXTEND
012271,000182: 10,2154 62175 BZMF ERRBZMF
012272,000183: 10,2155 40000 CS A
012273,000184: 10,2156 00006 EXTEND
012274,000185: 10,2157 62161 BZMF +2 # $
012275,000186: 10,2160 02020 TC ERRORS
012276,000187: 10,2161 33430 CA S+MAX
012277,000188: 10,2162 67652 AD S+1
012278,000189: 10,2163 00006 EXTEND
012279,000190: 10,2164 62176 BZMF ERRBZMF2 # $ + OVERFLOW, CHECK 01-0000
012280,000191: 10,2165 37657 CA S+ZERO
012281,000192: 10,2166 00006 EXTEND
012282,000193: 10,2167 62171 BZMF +2 # $
012283,000194: 10,2170 02020 TC ERRORS
012284,000195: 10,2171 40000 CS A
012285,000196: 10,2172 00006 EXTEND
012286,000197: 10,2173 62177 BZMF +4 # $
012287,000198: 10,2174 02020 TC ERRORS
012288,000199: 10,2175 02020 ERRBZMF TC ERRORS # FROM BZMF WITH +NON-ZERO
012289,000200: 10,2176 02020 ERRBZMF2 TC ERRORS # OVERFLOW WITH +0
012290,000201:
012291,000202: # RESTORE1 AND 2 CHECKS INSTRUCTIONS (WITH STAR) ABILITY TO READ BACK INTO
012292,000203: # ERASABLE MEMORY. NOT NORMALLY INTERESTED IN CONTENTS OF A REGISTER.
012293,000204: # FIRST TIME MANY INSTRUCTIONS ARE USED.
012294,000205: # RESTORE1 ALSO CHECKS INDEX (WITHOUT EXTRACODE) ERASABLE, CA ERASABLE,
012295,000206: # AND MASK ERASABLE.
012296,000207: 10,2177 32016 RESTORE1 CAF SRADRS # ADDRESS OF SR
012297,000208: 10,2200 55377 TS SKEEP7
012298,000209: 10,2201 35466 CA S8BITS # 00377
012299,000210: 10,2202 51377 NDX SKEEP7 # $ INDEX ERASABLE *
012300,000211: 10,2203 54000 TS 0000 # TS SR, C(SR) = 00177
012301,000212: 10,2204 10021 CCS SR # C(SR) = 00077 *
012302,000213: 10,2205 51377 NDX SKEEP7 # CHECKS C(SKEEP7) CORRECT
012303,000214: 10,2206 40000 CS 0000 # C(SR) = 00037
012304,000215: 10,2207 60021 AD SR # C(SR) = 00017 *
012305,000216: 10,2210 00006 EXTEND
012306,000217: 10,2211 20021 MSU SR # C(SR) = 00007 *
012307,000218: 10,2212 00006 EXTEND
012308,000219: 10,2213 60021 SU SR # C(SR) = 00003 *
012309,000220: 10,2214 30021 CA SR # $ C(SR) = +1, C(A) = +3, CA ERASABLE *
012310,000221: 10,2215 70021 MASK SR # $ B(SR) = C(SR) = +1, MASK ERASABLE *
012311,000222: 10,2216 02040 TC +1CHK
012312,000223: 10,2217 00006 EXTEND
012313,000224: 10,2220 70021 MP SR
012314,000225: 10,2221 00006 EXTEND
012315,000226: 10,2222 10021 DV SR
012316,000227: 10,2223 30021 CA SR # $ CA ERASABLE
012317,000228: 10,2224 02040 TC +1CHK # MAKES SURE MASK, MP, AND DV DO NOT EDIT.
012318,000229:
012319,000230: # RESTORE2 ALSO CHECKS XCH ERASABLE,INDEX (WITH EXTRACODE) ERASABLE AND
012320,000231: # FIXED MEMORY, DCS ERASABLE, CA SC, AND DCA ERASABLE.
012321,000232: 10,2225 32015 RESTORE2 CAF ADRS1 # ADDRESS OF SKEEP1
012322,000233: 10,2226 55376 TS SKEEP6
012323,000234: 10,2227 37661 CA S-1
012324,000235: 10,2230 55371 TS SKEEP1 # -1
012325,000236: 10,2231 40000 CS A
012326,000237: 10,2232 57371 XCH SKEEP1 # $ XCH ERASABLE, C(SKEEP1) = +1
012327,000238: 10,2233 57372 XCH SKEEP2 # $ XCH ERASABLE, C(SKEEP2) = -1
012328,000239: 10,2234 00006 EXTEND
012329,000240: 10,2235 51376 NDX SKEEP6 # $ NDX ERASABLE *
012330,000241: 10,2236 30001 DCA 0000 # DCA ERASABLE *
012331,000242: 10,2237 00006 EXTEND
012332,000243: 10,2240 52015 NDX ADRS1 # $ NDX FIXED MEMORY *
012333,000244: 10,2241 40001 DCS 0000 # $ DCS ERASABLE MEMORY *
012334,000245: 10,2242 02041 TC -1CHK # MAKES SURE DCS ERASABLE OK
012335,000246: 10,2243 30001 CA L # $ CA SC
012336,000247: 10,2244 02040 TC +1CHK
012337,000248: 10,2245 00006 EXTEND
012338,000249: 10,2246 51376 NDX SKEEP6 # MAKE SURE C(SKEEP6) IS STILL CORRECT
012339,000250: 10,2247 30001 DCA 0000 # $ DCA ERASABLE
012340,000251: 10,2250 02040 TC +1CHK
012341,000252: 10,2251 30001 CA L
012342,000253: 10,2252 02041 TC -1CHK
012343,000254:
012344,000255: # RESTORE3 CHECKS ABILITY TO RESTORE INSTRUCTIONS BACK INTO ERASABLE
012345,000256: # MEMORY. IT IS ONLY NECESSARY TO RESTORE ONE INSTRUCTION BECAUSE THE
012346,000257: # G REGISTER DOES NOT CHANGE.
012347,000258: # ALSO CHECKS TC TO ERASABLE MEMORY.
012348,000259: 10,2253 37634 RESTORE3 CA SBIT15 # CS
012349,000260: 10,2254 55371 TS SKEEP1 # 40000
012350,000261: 10,2255 37651 CA S+2 # TC Q
012351,000262: 10,2256 55372 TS SKEEP2
012352,000263: 10,2257 37652 CA S+1 # +1
012353,000264: 10,2260 01371 TC SKEEP1 # $ TC ERASABLE
012354,000265: 10,2261 02041 TC -1CHK # FIRST TIME BACK FROM ERASABLE.
012355,000266: 10,2262 01371 TC SKEEP1
012356,000267: 10,2263 02033 TC -0CHK # SECOND TIME BACK FROM ERASABLE.
012357,000268:
012358,000269: # BZFCHK CHECKS ALL PULSES OF BZF.
012359,000270: 10,2264 37227 BZFCHK CAF S+5
012360,000271: 10,2265 00006 EXTEND
012361,000272: 10,2266 12311 BZF ERRBZF1 # $
012362,000273: 10,2267 40000 CS A
012363,000274: 10,2270 00006 EXTEND
012364,000275: 10,2271 12312 BZF ERRBZF2 # $
012365,000276: 10,2272 33430 CA S+MAX
012366,000277: 10,2273 67652 AD S+1 # 01-00000
012367,000278: 10,2274 00006 EXTEND
012368,000279: 10,2275 12313 BZF ERRBZF3 # $
012369,000280: 10,2276 40000 CS A
012370,000281: 10,2277 00006 EXTEND
012371,000282: 10,2300 12314 BZF ERRBZF4 # $
012372,000283: 10,2301 37657 CAF S+ZERO
012373,000284: 10,2302 00006 EXTEND
012374,000285: 10,2303 12305 BZF +2 # $
012375,000286: 10,2304 02020 TC ERRORS
012376,000287: 10,2305 40000 CS A
012377,000288: 10,2306 00006 EXTEND
012378,000289: 10,2307 12315 BZF +6 # $
012379,000290: 10,2310 02020 TC ERRORS
012380,000291: 10,2311 02020 ERRBZF1 TC ERRORS # +NON-ZERO
012381,000292: 10,2312 02020 ERRBZF2 TC ERRORS # -NON-ZERO
012382,000293: 10,2313 02020 ERRBZF3 TC ERRORS # 01-00000
012383,000294: 10,2314 02020 ERRBZF4 TC ERRORS # 10-37777
012384,000295:
012385,000296: # DXCH+DIM CHECKS ALL PULSES OF DXCH AND DIM.
012386,000297: # ALSO CHECKS TS WITH OVERFLOW, TS SC, CA SC, AND AD ERASABLE.
012387,000298: 10,2315 33430 DXCH+DIM CA S+MAX
012388,000299: 10,2316 67651 AD S+2 # OVERFLOW WITH +1
012389,000300: 10,2317 55371 TS SKEEP1 # $ TS WITH OVERFLOW, +1
012390,000301: 10,2320 02020 TC ERRORS
012391,000302: 10,2321 40000 CS A
012392,000303: 10,2322 55372 TS SKEEP2
012393,000304: 10,2323 43430 CS S+MAX
012394,000305: 10,2324 54001 TS L # $ TS SC, 40000
012395,000306: 10,2325 40000 CS A # 37777
012396,000307: 10,2326 53372 DXCH SKEEP1 # $ DXCH ERASABLE
012397,000308: 10,2327 02040 TC +1CHK
012398,000309: 10,2330 30001 CA L # $ CA SC
012399,000310: 10,2331 02041 TC -1CHK
012400,000311: 10,2332 00006 EXTEND
012401,000312: 10,2333 27371 DIM SKEEP1 # $ DIM ERASABLE, DIM + NUMBER, 37776
012402,000313: 10,2334 00006 EXTEND
012403,000314: 10,2335 27372 DIM SKEEP2 # $ DIM - NUMBER, 40001
012404,000315: 10,2336 33430 CA S+MAX # 37777
012405,000316: 10,2337 61372 AD SKEEP2 # $ AD ERASABLE, +1
012406,000317: 10,2340 02040 TC +1CHK
012407,000318: 10,2341 43430 CS S+MAX # 40000
012408,000319: 10,2342 61371 AD SKEEP1 # -1
012409,000320: 10,2343 02041 TC -1CHK
012410,000321: 10,2344 37652 CA S+1 # +1
012411,000322: 10,2345 00006 EXTEND
012412,000323: 10,2346 26000 DIM A # $ DIM SC, DIM +1
012413,000324: 10,2347 00006 EXTEND
012414,000325: 10,2350 26000 DIM A # $ DIM -0
012415,000326: 10,2351 02033 TC -0CHK
012416,000327: 10,2352 00006 EXTEND
012417,000328: 10,2353 26000 DIM A # $ DIM +0
012418,000329: 10,2354 02032 TC +0CHK
012419,000330:
012420,000331: # DAS+INCR CHECKS ALL PULSES OF DAS AND INCR.
012421,000332: # ALSO CHECKS DCA FIXED, LXCH SC, DCA ERASABLE, AD ERASABLE, DCS FIXED,
012422,000333: # DCS ERASABLE, AND XCH SC.
012423,000334: 10,2355 37661 DAS+INCR CA S-1
012424,000335: 10,2356 54001 DAS++ TS L # -1
012425,000336: 10,2357 37651 CA S+2 # +2
012426,000337: 10,2360 20001 DAS A # $ DAS SC, C(A) = +4 AND C(L) = -2
012427,000338: 10,2361 67663 AD S-3 # $ AD FIXED MEMORY
012428,000339: 10,2362 02040 TC +1CHK
012429,000340: 10,2363 37652 CA S+1
012430,000341: 10,2364 60001 AD L # $ AD SC, -1
012431,000342: 10,2365 02041 TC -1CHK
012432,000343: # DAS WITH INTERFLOW IN LOW ORDER AND NET OVERFLOW
012433,000344: 10,2366 00006 DAS+- EXTEND
012434,000345: 10,2367 33431 DCA S+MAX # $DCA FIXED MEMORY
012435,000346: 10,2370 53374 DXCH SKEEP3 # 37777, 40000
012436,000347: 10,2371 37662 CA S-2
012437,000348: 10,2372 54001 TS L
012438,000349: 10,2373 36165 CA S+3 # C(A) = +3, C(L) = -2
012439,000350: 10,2374 21374 DAS SKEEP3 # $ DAS ERASABLE
012440,000351: 10,2375 22000 LXCH A # $ LXCH SC
012441,000352: 10,2376 02032 TC +0CHK
012442,000353: 10,2377 30001 CA L
012443,000354: 10,2400 02040 TC +1CHK
012444,000355: 10,2401 00006 EXTEND
012445,000356: 10,2402 31374 DCA SKEEP3 # $ DCA ERASABLE
012446,000357: 10,2403 22000 LXCH A # C(A) = -1, C(L) = +1
012447,000358: 10,2404 02041 TC -1CHK
012448,000359: 10,2405 30001 CA L
012449,000360: 10,2406 02040 TC +1CHK
012450,000361: # INCRCHK CHECKS ALL INCR PULSES EXCEPT WOVR.
012451,000362: 10,2407 25374 INCRCHK INCR SKEEP4 # $ INCR ERASABLE, -0
012452,000363: 10,2410 61374 AD SKEEP4 # $ AD ERASABLE
012453,000364: 10,2411 02033 TC -0CHK
012454,000365: 10,2412 24000 INCR A # $ INCR SC, +1
012455,000366: 10,2413 02040 TC +1CHK
012456,000367: # DAS WITH OVERFLOW IN LOW ORDER AND NET UNDERFLOW
012457,000368: 10,2414 00006 DAS-+ EXTEND
012458,000369: 10,2415 43431 DCS S+MAX # $ DCS FIXED MEMORY
012459,000370: 10,2416 53372 DXCH SKEEP1 # 40000, 37777
012460,000371: 10,2417 36165 CA S+3 # +3
012461,000372: 10,2420 54001 TS L
012462,000373: 10,2421 40000 CS A # -3
012463,000374: 10,2422 21372 DAS SKEEP1 # $
012464,000375: 10,2423 02041 TC -1CHK
012465,000376: 10,2424 00006 EXTEND
012466,000377: 10,2425 41372 DCS SKEEP1 # $ DCS ERASABLE (+1, -2)
012467,000378: 10,2426 56001 XCH L # $ XCH SC (-2, +1)
012468,000379: 10,2427 67652 AD S+1
012469,000380: 10,2430 02041 TC -1CHK
012470,000381: 10,2431 30001 CA L
012471,000382: 10,2432 02040 TC +1CHK
012472,000383:
012473,000384: # MPCHK CHECKS ALL PULSES OF MP, AUG, AND ADS.
012474,000385: 10,2433 37652 MPCHK CA S+1
012475,000386: 10,2434 00006 EXTEND
012476,000387: 10,2435 24000 AUG A # $ AUG SC, +2
012477,000388: 10,2436 55375 TS SKEEP5 # +2
012478,000389: 10,2437 40000 CS A
012479,000390: 10,2440 54002 TS Q # -2
012480,000391: 10,2441 40000 CS A
012481,000392: 10,2442 00006 MP++ EXTEND
012482,000393: 10,2443 73430 MP S+MAX # $ MP FIXED MEMORY, +1, 37776
012483,000394: 10,2444 60001 AD L # 37777
012484,000395: 10,2445 00006 MP+- EXTEND
012485,000396: 10,2446 70002 MP Q # $ MP SC, -1, 40001
012486,000397: 10,2447 26001 ADS L # $ ADS SC, 40000
012487,000398: 10,2450 62011 AD DVCON
012488,000399: 10,2451 02041 TC -1CHK
012489,000400: 10,2452 30001 CA L
012490,000401: 10,2453 00006 MP-+ EXTEND
012491,000402: 10,2454 71375 MP SKEEP5 # $ MP ERASABLE, -1, 40001
012492,000403: 10,2455 55376 TS SKEEP6
012493,000404: 10,2456 00006 EXTEND
012494,000405: 10,2457 25376 AUG SKEEP6 # $ AUG ERASABLE, -2
012495,000406: 10,2460 60001 AD L # 40000
012496,000407: 10,2461 00006 MP-- EXTEND
012497,000408: 10,2462 71376 MP SKEEP6 # $ +1, 37776
012498,000409: 10,2463 02040 TC +1CHK
012499,000410: 10,2464 40001 CS L # 40001
012500,000411: 10,2465 62011 AD DVCON
012501,000412: 10,2466 02033 TC -0CHK
012502,000413: 10,2467 37652 CA S+1
012503,000414: 10,2470 27376 ADS SKEEP6 # $ ADS ERASABLE, +1
012504,000415: 10,2471 02041 TC -1CHK
012505,000416: 10,2472 31376 CA SKEEP6
012506,000417: 10,2473 02041 TC -1CHK
012507,000418:
012508,000419: # DVCH AND DVQXCHK CHECK ALL OF PULSES OF DV AND QXCH.
012509,000420: # ALSO CHECKS TS WITH UNDERFLOW
012510,000421: 10,2474 37635 DVCHK CA SBIT14 # 20000
012511,000422: 10,2475 55371 TS SKEEP1
012512,000423: 10,2476 60000 AD A # OVERFLOW
012513,000424: 10,2477 67652 AD S+1
012514,000425: 10,2500 54001 TS L # $ TS SC WITH OVERFLOW, +1
012515,000426: 10,2501 02020 TC ERRORS
012516,000427: 10,2502 40000 CS A
012517,000428: 10,2503 55372 TS SKEEP2 # -1
012518,000429: 10,2504 37660 CA S-ZERO # -0
012519,000430: 10,2505 23371 LXCH SKEEP1 # $ LXCH ERASABLE
012520,000431: 10,2506 00006 DV++ EXTEND
012521,000432: 10,2507 11371 DV SKEEP1 # $ DV ERASABLE, C(A) = 20000, C(L) = +0
012522,000433: 10,2510 40000 CS A
012523,000434: 10,2511 22000 LXCH A
012524,000435: 10,2512 02032 TC +0CHK
012525,000436: 10,2513 00006 DV-- EXTEND
012526,000437: 10,2514 11372 DV SKEEP2 # $ 20000, +0
012527,000438: 10,2515 55374 TS SKEEP4 # 20000
012528,000439: 10,2516 40000 CS A
012529,000440: 10,2517 55373 TS SKEEP3 # -(20000)
012530,000441: 10,2520 67635 AD SBIT14
012531,000442: 10,2521 02033 TC -0CHK
012532,000443: 10,2522 30001 CA L
012533,000444: 10,2523 02033 TC -0CHK
012534,000445: 10,2524 33430 DV+- CA S+MAX
012535,000446: 10,2525 54001 TS L
012536,000447: 10,2526 32006 CA S13BITS
012537,000448: 10,2527 00006 EXTEND
012538,000449: 10,2530 11373 DV SKEEP3 # $ -(37777), +(17777)
012539,000450: 10,2531 56001 XCH L
012540,000451: 10,2532 40000 CS A
012541,000452: 10,2533 00006 DV-+ EXTEND
012542,000453: 10,2534 11374 DV SKEEP4 # $ -(37777), -(17777)
012543,000454: 10,2535 62011 AD DVCON
012544,000455: 10,2536 02041 TC -1CHK
012545,000456: 10,2537 33430 CA S+MAX
012546,000457: 10,2540 56001 XCH L # ALSO PUTS 37777 IN L FOR DV-+,-
012547,000458: 10,2541 67635 AD SBIT14
012548,000459: 10,2542 02040 TC +1CHK
012549,000460: 10,2543 42006 DV-+,+ CS S13BITS # -(17777)
012550,000461: 10,2544 00006 EXTEND
012551,000462: 10,2545 11374 DV SKEEP4
012552,000463: 10,2546 60001 AD L # -(37775)
012553,000464: 10,2547 62011 AD DVCON
012554,000465: 10,2550 02040 TC +1CHK
012555,000466: 10,2551 56001 XCH L
012556,000467: 10,2552 02041 TC -1CHK # ALSO PUTS +0 IN L FOR DVQXCH
012557,000468: 10,2553 42011 DVQXCHK CS DVCON
012558,000469: 10,2554 54002 TS Q # 40001
012559,000470: 10,2555 40000 CS A
012560,000471: 10,2556 00006 EXTEND
012561,000472: 10,2557 10002 DV Q # $ DV SC, -(37777), +(37776)
012562,000473: 10,2560 00006 EXTEND
012563,000474: 10,2561 22001 QXCH L # $ QXCH SC, C(L) = 40001, C(Q) = 37776
012564,000475: 10,2562 60002 AD Q
012565,000476: 10,2563 02041 TC -1CHK
012566,000477: 10,2564 30001 CA L
012567,000478: 10,2565 63430 AD S+MAX
012568,000479: 10,2566 02040 TC +1CHK
012569,000480: 10,2567 00006 EXTEND
012570,000481: 10,2570 23371 QXCH SKEEP1 # $ QXCH ERAS., C(Q) = +1, C(SKEEP1) = +3
012571,000482: 10,2571 30002 CA Q
012572,000483: 10,2572 02040 TC +1CHK
012573,000484: 10,2573 41371 CS SKEEP1 # -3
012574,000485: 10,2574 67651 AD S+2
012575,000486: 10,2575 02041 TC -1CHK
012576,000487:
012577,000488: # MSUCHK CHECKS ALL PULSES OF MSU EXCEPT RB WG.
012578,000489: 10,2576 37657 MSUCHK CA S+ZERO
012579,000490: 10,2577 55371 TS SKEEP1 # +0
012580,000491: 10,2600 40000 CS A
012581,000492: 10,2601 55372 TS SKEEP2 # -0
012582,000493: 10,2602 00006 EXTEND
012583,000494: 10,2603 20000 MSU A # $ MSU SC, +0
012584,000495: 10,2604 02032 TC +0CHK
012585,000496: 10,2605 00006 EXTEND
012586,000497: 10,2606 21372 MSU SKEEP2 # $ MSU ERASABLE, +1
012587,000498: 10,2607 02040 TC +1CHK
012588,000499: 10,2610 00006 EXTEND
012589,000500: 10,2611 33431 DCA S+MAX
012590,000501: 10,2612 00006 EXTEND
012591,000502: 10,2613 20001 MSU L # $ CHECKS RUS WA, ALSO -1 FROM NEG. NO.
012592,000503: 10,2614 54000 TS A
012593,000504: 10,2615 02617 TC +2
012594,000505: 10,2616 02020 TC ERRORS
012595,000506: 10,2617 02041 TC -1CHK
012596,000507:
012597,000508: # MASKCHK FINISHES CHECKING MASK INSTRUCTION.
012598,000509: 10,2620 37656 MASKCHK CA S+7
012599,000510: 10,2621 54001 TS L
012600,000511: 10,2622 72014 MASK S-7 # $ MASK FIXED MEMORY
012601,000512: 10,2623 02032 TC +0CHK
012602,000513: 10,2624 37652 CA S+1
012603,000514: 10,2625 70001 MASK L # $ MASK SC
012604,000515: 10,2626 02040 TC +1CHK
012605,000516:
012606,000517: # NDX+SU FINISHES CHECKING BOTH INDEX INSTRUCTIONS. ALSO CHECKS ALL OF SU
012607,000518: # EXCEPT RB WG.
012608,000519: 10,2627 37652 NDX+SU CA S+1
012609,000520: 10,2630 54001 TS L
012610,000521: 10,2631 55371 TS SKEEP1
012611,000522: 10,2632 50000 NDX A # $ NDX SC
012612,000523: 10,2633 60000 AD 0000 # AD L, +2
012613,000524: 10,2634 00006 EXTEND
012614,000525: 10,2635 61371 SU SKEEP1 # $ SU ERASABLE
012615,000526: 10,2636 02040 TC +1CHK
012616,000527: 10,2637 00006 EXTEND
012617,000528: 10,2640 50001 NDX L # $ NDX SC
012618,000529: 10,2641 60000 SU 0000 # $ SU SC, SU L
012619,000530: 10,2642 02041 TC -1CHK
012620,000531:
012621,000532: # D--SC CHECKS DCS SC, DXCH SC, AND DCA SC.
012622,000533: 10,2643 37651 D--SC CA S+2
012623,000534: 10,2644 54001 TS L # +2
012624,000535: 10,2645 37652 CA S+1
012625,000536: 10,2646 00006 EXTEND
012626,000537: 10,2647 40001 DCS A # $ DCS SC, C(L) = -2
012627,000538: 10,2650 02041 TC -1CHK
012628,000539: # AFTER DXCH C(A) = B(Q) = +3, C(L) = B(A) = +0, C(Q) = B(L) = -1.
012629,000540: 10,2651 52002 DXCH L # $ DXCH SC
012630,000541: 10,2652 55373 TS SKEEP3
012631,000542: 10,2653 60002 AD Q
012632,000543: 10,2654 02040 TC +1CHK
012633,000544: 10,2655 30001 CA L
012634,000545: 10,2656 02032 TC +0CHK
012635,000546: 10,2657 37661 CA S-1
012636,000547: 10,2660 54002 TS Q
012637,000548: 10,2661 40000 CS A
012638,000549: 10,2662 00006 EXTEND
012639,000550: # AFTER DCA C(A) = C(L) = C(Q) = B(Q) = -1.
012640,000551: 10,2663 30002 DCA L # $ DCA SC
012641,000552: 10,2664 60002 AD Q
012642,000553: 10,2665 61373 AD SKEEP3
012643,000554: 10,2666 02040 TC +1CHK
012644,000555: 10,2667 30001 CA L
012645,000556: 10,2670 02041 TC -1CHK
012646,000557:
012647,000558: # D--LCHK CHECKS THAT OVERFLOW IS LOST IN PROCESS OF GOING THROUGH L REG.
012648,000559: # ALSO CHECKS THAT Q WILL HOLD 16 BITS
012649,000560: 10,2671 37662 D--LCHK CA S-2
012650,000561: 10,2672 54002 TS Q
012651,000562: 10,2673 33431 CA S-MAX
012652,000563: 10,2674 26002 ADS Q
012653,000564: 10,2675 40002 CS Q
012654,000565: 10,2676 54000 TS A
012655,000566: 10,2677 02020 TC ERRORS
012656,000567: 10,2700 00006 EXTEND
012657,000568: 10,2701 30002 DCA L
012658,000569: 10,2702 54000 TS A
012659,000570: 10,2703 02705 TC +2
012660,000571: 10,2704 02020 TC ERRORS
012661,000572: 10,2705 02041 TC -1CHK
012662,000573:
012663,000574: # CHECKS OVERFLOW, UNDERFLOW,END-AROUND-CARRY, AND SIGN CHANGE OF ADDER.
012664,000575: # ALSO CHECKS ADS SC WITH OVERFLOW AND TS A WITH UNDERFLOW
012665,000576: 10,2706 37635 ADDRCHK CA SBIT14 # 20000
012666,000577: 10,2707 54002 TS Q
012667,000578: 10,2710 26002 ADS Q # $ ADS SC, OVERFLOW
012668,000579: 10,2711 26002 ADS Q # UNDERFLOW
012669,000580: 10,2712 54000 TS A # $ TS SC WITH UNDERFLOW
012670,000581: 10,2713 02020 TC ERRORS
012671,000582: 10,2714 26002 ADS Q
012672,000583: 10,2715 02040 TC +1CHK
012673,000584:
012674,000585: # RUPTCHK CHECKS THAT INTERRUPT DOES NOT OCCUR WHILE OVERFLOW OR UNDERFLOW
012675,000586: # IS IN THE A REGISTER. ALSO CHECKS THAT INHINT RELINT WORK PROPERLY.
012676,000587: 10,2716 00004 RUPTCHK INHINT
012677,000588: 10,2717 37657 CA S+ZERO
012678,000589: 10,2720 54015 TS ZRUPT
012679,000590: 10,2721 00003 RELINT
012680,000591: 10,2722 60027 AD TIME4
012681,000592: 10,2723 55371 TS SKEEP1
012682,000593: 10,2724 41371 TENMS CS SKEEP1
012683,000594: 10,2725 60027 AD TIME4 # WAIT FOR NEXT TIME4 INCREMENT
012684,000595: 10,2726 00006 EXTEND
012685,000596: 10,2727 12724 BZF TENMS
012686,000597: 10,2730 00004 INHINT
012687,000598: 10,2731 30015 CA ZRUPT
012688,000599: 10,2732 00006 EXTEND
012689,000600: 10,2733 12735 BZF +2 # NO INTERRUPT.
012690,000601: 10,2734 02716 TC RUPTCHK # THERE WAS AN INTERRUPT. START AGAIN.
012691,000602: 10,2735 37652 CAF S+1 # 2 1/2 MS UNTILE NEXT T3 INTERRUPT.
012692,000603: 10,2736 04451 TC WAITLIST
012693,000604: 10,2737 E3,1400 EBANK= LST1
012694,000605: 10,2737 02762 20003 2CADR TSKADRS
012695,000606:
012696,000607: 10,2741 33430 CA S+MAX
012697,000608: 10,2742 62010 AD OVCON # CONTROLS TIME SPENT IN OF-UF LOOP
012698,000609: 10,2743 00003 RELINT
012699,000610: 10,2744 40000 WAIT CS A
012700,000611: 10,2745 10000 CCS A
012701,000612: 10,2746 02752 TC INHNTCHK
012702,000613: 10,2747 02756 RUPTCON ADRES C(BRUPT)
012703,000614: 10,2750 67651 AD S+2
012704,000615: 10,2751 02744 TC WAIT
012705,000616: 10,2752 00004 INHNTCHK INHINT # T3 RUPT SHOULD BE WAITING
012706,000617: 10,2753 55375 TS SKEEP5
012707,000618: 10,2754 02020 TC ERRORS
012708,000619: 10,2755 00003 RELINT
012709,000620: 10,2756 40015 C(BRUPT) CS ZRUPT # INTERRUPT SHOULD HAPPEN HERE
012710,000621: 10,2757 00006 EXTEND
012711,000622: 10,2760 12020 BZF ERRORS # MAKES SURE AN INTERRUPT DID HAPPEN
012712,000623: 10,2761 02766 TC +5 # END OF RUPTCHK
012713,000624: 10,2762 40015 TSKADRS CS ZRUPT
012714,000625: 10,2763 62747 AD RUPTCON
012715,000626: 10,2764 02041 TC -1CHK
012716,000627: 10,2765 04505 TC TASKOVER
012717,000628:
012718,000629: # IN-OUT1 CHECKS ALL PULSES OF WRITE AND READ
012719,000630: 10,2766 37661 IN-OUT1 CA S-1
012720,000631: 10,2767 00006 WRITECHK EXTEND
012721,000632: 10,2770 01002 WRITE Q
012722,000633: 10,2771 22002 LXCH Q # PUT C(Q) IN L
012723,000634: 10,2772 02041 TC -1CHK
012724,000635: 10,2773 00006 READCHK EXTEND # C(L) = 77776
012725,000636: 10,2774 00001 READ L
012726,000637: 10,2775 02041 TC -1CHK
012727,000638: 10,2776 30001 CA L
012728,000639: 10,2777 02041 TC -1CHK
012729,000640:
012730,000641: # IN-OUT2 CHECKS ALL PULSES OF ROR AND WOR
012731,000642: 10,3000 46165 IN-OUT2 CS S+3
012732,000643: 10,3001 54001 RORCHK TS L # 77774
012733,000644: 10,3002 32011 CA DVCON # 37776
012734,000645: 10,3003 00006 EXTEND
012735,000646: 10,3004 04001 ROR L # $ ROR, -1
012736,000647: 10,3005 02041 TC -1CHK
012737,000648: 10,3006 32011 WORCHK CA DVCON # C(L) STILL 77774
012738,000649: 10,3007 00006 EXTEND
012739,000650: 10,3010 05001 WOR L # $ WOR, -1
012740,000651: 10,3011 02041 TC -1CHK
012741,000652: 10,3012 30001 CA L
012742,000653: 10,3013 02041 TC -1CHK
012743,000654:
012744,000655: # IN-OUT3 CHECKS ALL PULSES OF RAND, WAND, AND RXOR
012745,000656: 10,3014 42011 IN-OUT3 CS DVCON
012746,000657: 10,3015 54001 RANDCHK TS L # 40001
012747,000658: 10,3016 32006 CA S13BITS # 17777
012748,000659: 10,3017 00006 EXTEND
012749,000660: 10,3020 02001 RAND L # $ RAND, +1
012750,000661: 10,3021 02040 TC +1CHK
012751,000662: 10,3022 32006 WANDCHK CA S13BITS # C(L) STILL 40001
012752,000663: 10,3023 00006 EXTEND
012753,000664: 10,3024 03001 WAND L # $ WAND, +1
012754,000665: 10,3025 02040 TC +1CHK
012755,000666: 10,3026 47227 CS S+5
012756,000667: 10,3027 56001 XCH L # ALSO PUT -5 IN L FOR RXORCHK
012757,000668: 10,3030 02040 TC +1CHK
012758,000669: 10,3031 36162 RXORCHK CA S+6
012759,000670: 10,3032 00006 EXTEND
012760,000671: 10,3033 06001 RXOR L # $ RXOR, -3
012761,000672: 10,3034 67651 AD S+2
012762,000673: 10,3035 02041 TC -1CHK
012763,000674: 10,3036 30001 CA L
012764,000675: 10,3037 67650 AD S+4
012765,000676: 10,3040 02041 TC -1CHK
012766,000677:
012767,000678: 10,3041 02047 TC SMODECHK
012768,000679:
012769,000680: # COUNTCHK COUNTS UP 14 BIT NUMBER WITH SIGN.
012770,000681: # TAKES APPROXIMATELY 8.7 SECONDS.
012771,000682: # ** PUT IN CCS NEWJOB FOR ROPE.
012772,000683: 10,3042 00006 COUNTCHK EXTEND
012773,000684: 10,3043 33431 DCA S+MAX
012774,000685: 10,3044 53377 DXCH SKEEP6 # PUT 37777 IN SKEEP6 AND 40000 IN SKEEP7
012775,000686: 10,3045 31376 +LOOP CA SKEEP6
012776,000687: 10,3046 56002 XCH Q
012777,000688: 10,3047 00006 EXTEND
012778,000689: 10,3050 40002 DCS L
012779,000690: 10,3051 10000 CCS A
012780,000691: 10,3052 03061 TC -NMBR
012781,000692: 10,3053 03066 TC ENDCOUNT
012782,000693: 10,3054 55376 TS SKEEP6
012783,000694: 10,3055 61377 AD SKEEP7
012784,000695: 10,3056 02041 TC -1CHK
012785,000696: 10,3057 25377 INCR SKEEP7
012786,000697: 10,3060 03045 TC +LOOP
012787,000698: 10,3061 60001 -NMBR AD L
012788,000699: 10,3062 02041 TC -1CHK
012789,000700: 10,3063 04372 TC CHECKNJ # CHECK FOR NEW JOB
012790,000701: 10,3064 41376 CS SKEEP6
012791,000702: 10,3065 03046 TC +LOOP +1
012792,000703: 10,3066 31377 ENDCOUNT CA SKEEP7 # -0
012793,000704: 10,3067 61376 AD SKEEP6 # SKEEP6 SHOULD BE +0
012794,000705: 10,3070 02033 TC -0CHK
012795,000706:
012796,000707: # O-UFLOW COUNTS DOWN OVERFLOW AND UNDERFLOW NUMBERS.
012797,000708: # TAKES APPROXIMATELY 10.8 SECONDS
012798,000709: 10,3071 33431 O-UFLOW CA S-MAX
012799,000710: 10,3072 55375 TS SKEEP5 # 40000
012800,000711: 10,3073 40000 CS A
012801,000712: 10,3074 00004 OFLOOP INHINT
012802,000713: 10,3075 63430 AD S+MAX
012803,000714: 10,3076 67652 AD S+1
012804,000715: 10,3077 56002 XCH Q
012805,000716: 10,3100 10002 CCS Q
012806,000717: 10,3101 03116 TC -NMBRS
012807,000718: 10,3102 02020 TC ERRORS # CAN PUT IN CONSTANT
012808,000719: 10,3103 55373 TS SKEEP3
012809,000720: 10,3104 02020 TC ERRORS
012810,000721: 10,3105 31373 CA SKEEP3
012811,000722: 10,3106 61375 AD SKEEP5
012812,000723: 10,3107 02041 TC -1CHK
012813,000724: 10,3110 00003 RELINT
012814,000725: 10,3111 04372 TC CHECKNJ # CHECK FOR NEW JOB
012815,000726: 10,3112 31374 CA SKEEP4
012816,000727: 10,3113 00006 EXTEND
012817,000728: 10,3114 27375 DIM SKEEP5
012818,000729: 10,3115 03074 TC OFLOOP
012819,000730: 10,3116 55374 -NMBRS TS SKEEP4
012820,000731: 10,3117 03127 TC ENDOFUF
012821,000732: 10,3120 31374 CA SKEEP4
012822,000733: 10,3121 61375 AD SKEEP5
012823,000734: 10,3122 02041 TC -1CHK
012824,000735: 10,3123 31375 CA SKEEP5
012825,000736: 10,3124 63431 AD S-MAX
012826,000737: 10,3125 67661 AD S-1
012827,000738: 10,3126 03077 TC OFLOOP +3
012828,000739: 10,3127 31375 ENDOFUF CA SKEEP5
012829,000740: 10,3130 02033 TC -0CHK
012830,000741: 10,3131 41374 CS SKEEP4
012831,000742: 10,3132 62011 AD DVCON
012832,000743: 10,3133 02041 TC -1CHK
012833,000744: 10,3134 00003 RELINT
012834,000745:
012835,000746: 10,3135 02047 TC SMODECHK
012836,000747:
012837,000748: # SKEEP7 HOLDS LOWEST OF TWO ADDRESSES BEING CHECKED.
012838,000749: # SKEEP6 HOLDS B(X+1).
012839,000750: # SKEEP5 HOLDS B(X).
012840,000751: # SKEEP4 CONTROLS CHECKING OF NON-SWITCHABLE ERASABLE MEMORY WITH
012841,000752: # BANK NUMBERS IN EB.
012842,000753: # SKEEP3 HOLDS LAST ADDRESS BEING CHECKED (HIGHEST ADDRESS).
012843,000754: # SKEEP2 HOLDS C(EBANK) DURING CHECKNJ
012844,000755: # ERASCHK TAKES APPROXMATELY 7 SECONDS
012845,000756: 10,3136 37652 ERASCHK CA S+1
012846,000757: 10,3137 55374 TS SKEEP4
012847,000758: 10,3140 37657 0EBANK CA S+ZERO
012848,000759: 10,3141 54003 TS EBANK
012849,000760: 10,3142 32004 CA ERASCON3 # 01462
012850,000761: 10,3143 55377 TS SKEEP7 # STARTING ADDRESS
012851,000762: 10,3144 36426 CA S10BITS # 01777
012852,000763: 10,3145 55373 TS SKEEP3 # LAST ADDRESS CHECKED
012853,000764: 10,3146 03166 TC ERASLOOP
012854,000765:
012855,000766: 10,3147 32003 E134567B CA ERASCON6 # 01400
012856,000767: 10,3150 55377 TS SKEEP7 # STARTING ADDRESS
012857,000768: 10,3151 36426 CA S10BITS # 01777
012858,000769: 10,3152 55373 TS SKEEP3 # LAST ADDRESS CHECKED
012859,000770: 10,3153 03166 TC ERASLOOP
012860,000771:
012861,000772: 10,3154 32003 2EBANK CA ERASCON6 # 01400
012862,000773: 10,3155 55377 TS SKEEP7 # STARTING ADDRESS
012863,000774: 10,3156 32005 CA ERASCON4 # 01774
012864,000775: 10,3157 55373 TS SKEEP3 # LAST ADDRESS CHECKED
012865,000776: 10,3160 03166 TC ERASLOOP
012866,000777:
012867,000778: 10,3161 55374 NOEBANK TS SKEEP4 # +0
012868,000779: 10,3162 32001 CA ERASCON1 # 00062
012869,000780: 10,3163 55377 TS SKEEP7 # STARTING ADDRESS
012870,000781: 10,3164 32002 CA ERASCON2 # 01374
012871,000782: 10,3165 55373 TS SKEEP3 # LAST ADDRESS CHECKED
012872,000783:
012873,000784: 10,3166 00004 ERASLOOP INHINT
012874,000785: 10,3167 03755 TC ERASLP1
012875,000786: 10,3170 55357 ERASLP2 TS ERESTORE
012876,000787: 10,3171 54001 TS L
012877,000788: 10,3172 24001 INCR L
012878,000789: 10,3173 50000 NDX A
012879,000790: 10,3174 52001 DXCH 0000 # PUTS OWN ADDRESS IN X AND X +1
012880,000791: 10,3175 51377 NDX SKEEP7
012881,000792: 10,3176 40001 CS 0001 # CS X+1
012882,000793: 10,3177 51377 NDX SKEEP7
012883,000794: 10,3200 60000 AD 0000 # AD X
012884,000795: 10,3201 02041 TC -1CHK
012885,000796: 10,3202 00006 EXTEND
012886,000797: 10,3203 51377 NDX SKEEP7
012887,000798: 10,3204 40001 DCS 0000 # COMPLEMENT OF ADDRESS OF X AND X+1
012888,000799: 10,3205 51377 NDX SKEEP7
012889,000800: 10,3206 52001 DXCH 0000 # PUT COMPLEMENT OF ADDRESS OF X AND X+1
012890,000801: 10,3207 51377 NDX SKEEP7
012891,000802: 10,3210 40000 CS 0000 # CS X
012892,000803: 10,3211 51377 NDX SKEEP7
012893,000804: 10,3212 60001 AD 0001 # AD X+1
012894,000805: 10,3213 02041 TC -1CHK
012895,000806: 10,3214 00006 EXTEND
012896,000807: 10,3215 31376 DCA SKEEP5
012897,000808: 10,3216 51377 NDX SKEEP7
012898,000809: 10,3217 52001 DXCH 0000 # PUT B(X) AND B(X+1) BACK INTO X AND X+1
012899,000810: 10,3220 03763 TC ERASLP3
012900,000811: 10,3221 55372 ERASLP4 TS SKEEP2
012901,000812: 10,3222 04372 TC CHECKNJ # CHECK FOR NEW JOB
012902,000813: 10,3223 31372 CA SKEEP2 # REPLACES B(EBANK)
012903,000814: 10,3224 54003 TS EBANK
012904,000815: 10,3225 25377 INCR SKEEP7
012905,000816: 10,3226 41377 CS SKEEP7
012906,000817: 10,3227 61373 AD SKEEP3
012907,000818: 10,3230 00006 EXTEND
012908,000819: 10,3231 13233 BZF +2
012909,000820: 10,3232 03166 TC ERASLOOP # GO TO NEXT ADDRESS IN SAME BANK
012910,000821: 10,3233 11374 CCS SKEEP4
012911,000822: 10,3234 03161 TC NOEBANK
012912,000823: 10,3235 25374 INCR SKEEP4 # PUT +1 IN SKEEP4
012913,000824: 10,3236 30003 CA EBANK
012914,000825: 10,3237 67642 AD SBIT9
012915,000826: 10,3240 54003 TS EBANK
012916,000827: 10,3241 62013 AD ERASCON5 # 76377 CHECK FOR BANK E3
012917,000828: 10,3242 00006 EXTEND
012918,000829: 10,3243 13154 BZF 2EBANK
012919,000830: 10,3244 10003 CCS EBANK
012920,000831: 10,3245 03147 TC E134567B # GO TO EBANKS 1,3,4,5,6, AND 7
012921,000832: 10,3246 32003 CA ERASCON6 # END OF ERASCHK
012922,000833: 10,3247 54003 TS EBANK
012923,000834: # CNTRCHK PERFORMS A CS OF ALL REGISTERS FROM OCT. 61 THROUGH OCT. 10.
012924,000835: # INCLUDED ARE ALL COUNTERS, T6-1, CYCLE AND SHIFT, AND ALL RUPT REGISTERS
012925,000836: 10,3250 32000 CNTRCHK CAF CNTRCON # 00051
012926,000837: 10,3251 55372 CNTRLOOP TS SKEEP2
012927,000838: 10,3252 67647 AD SBIT4 # +10 OCTAL
012928,000839: 10,3253 50000 INDEX A
012929,000840: 10,3254 40000 CS 0000
012930,000841: 10,3255 11372 CCS SKEEP2
012931,000842: 10,3256 03251 TC CNTRLOOP
012932,000843:
012933,000844: # CYCLSHFT CHECKS THE CYCLE AND SHIFT REGISTERS
012934,000845: 10,3257 32007 CYCLSHFT CA CONC+S1 # 25252
012935,000846: 10,3260 54020 TS CYR # C(CYR) = 12525
012936,000847: 10,3261 54022 TS CYL # C(CYL) = 52524
012937,000848: 10,3262 54021 TS SR # C(SR) = 12525
012938,000849: 10,3263 54023 TS EDOP # C(EDOP) = 00125
012939,000850: 10,3264 60020 AD CYR # 37777 C(CYR) = 45252
012940,000851: 10,3265 60022 AD CYL # 00-12524 C(CYL) = 25251
012941,000852: 10,3266 60021 AD SR # 00-25251 C(SR) = 05252
012942,000853: 10,3267 60023 AD EDOP # 00-25376 C(EDOP) = +0
012943,000854: 10,3270 62012 AD CONC+S2 # C(CONC+S2) = 52400
012944,000855: 10,3271 02041 TC -1CHK
012945,000856: 10,3272 60020 AD CYR # 45252
012946,000857: 10,3273 60022 AD CYL # 72523
012947,000858: 10,3274 60021 AD SR # 77775
012948,000859: 10,3275 60023 AD EDOP # 77775
012949,000860: 10,3276 67652 AD S+1 # 77776
012950,000861: 10,3277 02041 TC -1CHK
012951,000862:
012952,000863: 10,3300 25367 INCR SCOUNT +1
012953,000864: 10,3301 02047 TC SMODECHK
012954,000865: 10,3302 03306 TC ROPECHK
012955,000866:
012956,000867: # SKEEP1 HOLDS SUM
012957,000868: # SKEEP2 HOLDS PRESENT CONTENTS OF ADDRESS IN ROPECHK AND SHOWSUM ROUTINES
012958,000869: # SKEEP2 HOLDS BANK NUMBER IN LOW ORDER BITS DURING SHOWSUM DISPLAY
012959,000870: # SKEEP3 HOLDS PRESENT ADDRESS (00000 TO 01777 IN COMMON FIXED BANKS)
012960,000871: # (04000 TO 07777 IN FXFX BANKS)
012961,000872: # SKEEP3 HOLDS BUGGER WORD DURING SHOWSUM DISPLAY
012962,000873: # SKEEP4 HOLDS BANK NUMBER
012963,000874: # SKEEP5 COUNTS 2 SUCCESSIVE TC SELF WORDS
012964,000875: # SKEEP6 CONTROLS ROPECHK OR SHOWSUM OPTION
012965,000876: # SKEEP7 CONTROLS WHEN ROUNTINE IS IN COMMON FIXED OR FIXED FIXED BANKS
012966,000877:
012967,000878: 10,3303 05535 STSHOSUM TC GRABDSP
012968,000879: 10,3304 05543 TC PREGBSY
012969,000880: 10,3305 03310 TC +3
012970,000881: 10,3306 37660 ROPECHK CA S-ZERO
012971,000882: 10,3307 55376 TS SKEEP6 # ROPECHK OPTION
012972,000883: 10,3310 37657 CA S+ZERO
012973,000884: 10,3311 55374 TS SKEEP4 # BANK NUMBER
012974,000885: 10,3312 37652 CA S+1
012975,000886: 10,3313 55377 COMMFX TS SKEEP7
012976,000887: 10,3314 37657 CA S+ZERO
012977,000888: 10,3315 55371 TS SKEEP1
012978,000889: 10,3316 55373 TS SKEEP3
012979,000890: 10,3317 37652 CA S+1
012980,000891: 10,3320 55375 TS SKEEP5 # COUNTS DOWN 2 TC SELF WORDS
012981,000892: 10,3321 31373 COMADRS CA SKEEP3
012982,000893: 10,3322 61374 AD SKEEP4
012983,000894: 10,3323 04117 TC DATACALL
012984,000895: 10,3324 03350 TC ADSUM
012985,000896: 10,3325 67640 AD SBIT11 # 02000
012986,000897: 10,3326 03361 TC ADRSCHK
012987,000898:
012988,000899: 10,3327 40000 FXFX CS A
012989,000900: 10,3330 55377 TS SKEEP7
012990,000901: 10,3331 00006 EXTEND
012991,000902: 10,3332 13335 BZF +3
012992,000903: 10,3333 37637 CA SBIT12 # 04000, STARTING ADDRESS OF BANK 02
012993,000904: 10,3334 03336 TC +2
012994,000905: 10,3335 34421 CA SBNK03 # 06000, STARTING ADDRESS OF BANK 03
012995,000906: 10,3336 55373 TS SKEEP3
012996,000907: 10,3337 37657 CA S+ZERO
012997,000908: 10,3340 55371 TS SKEEP1
012998,000909: 10,3341 37652 CA S+1
012999,000910: 10,3342 55375 TS SKEEP5 # COUNTS DOWN 2 TC SELF WORDS
013000,000911: 10,3343 00006 FXADRS EXTEND
013001,000912: 10,3344 51373 NDX SKEEP3
013002,000913: 10,3345 30001 DCA 0000
013003,000914: 10,3346 03350 TC ADSUM
013004,000915: 10,3347 03361 TC ADRSCHK
013005,000916:
013006,000917: 10,3350 55372 ADSUM TS SKEEP2
013007,000918: 10,3351 61371 AD SKEEP1
013008,000919: 10,3352 55371 TS SKEEP1
013009,000920: 10,3353 37657 CAF S+ZERO
013010,000921: 10,3354 61371 AD SKEEP1
013011,000922: 10,3355 55371 TS SKEEP1
013012,000923: 10,3356 41372 CS SKEEP2
013013,000924: 10,3357 61373 AD SKEEP3
013014,000925: 10,3360 00002 TC Q
013015,000926:
013016,000927: 10,3361 10000 ADRSCHK CCS A
013017,000928: 10,3362 03372 TC CONTINU
013018,000929: 10,3363 03372 TC CONTINU
013019,000930: 10,3364 03372 TC CONTINU
013020,000931: 10,3365 11375 CCS SKEEP5
013021,000932: 10,3366 03373 TC CONTINU +1
013022,000933: 10,3367 30001 CA L
013023,000934: 10,3370 03350 TC ADSUM
013024,000935: 10,3371 03433 TC SOPTION # GO TO ROPECHK SHOSUM OPTION
013025,000936: 10,3372 37652 CONTINU CA S+1 # MAKE SURE TWO CONSECUTIVE TC SELF WORDS
013026,000937: 10,3373 55375 TS SKEEP5
013027,000938: 10,3374 11376 CCS SKEEP6 # +1 IN SKEEP6, SHOWSUM VIA EXECUTIVE
013028,000939: 10,3375 10067 CCS NEWJOB
013029,000940: 10,3376 04317 TC CHANG1
013030,000941: 10,3377 03401 TC +2
013031,000942: 10,3400 04372 TC CHECKNJ # -0 IN SKEEP6 FOR ROPECHK
013032,000943:
013033,000944: 10,3401 25373 ADRS+1 INCR SKEEP3
013034,000945: 10,3402 11377 CCS SKEEP7
013035,000946: 10,3403 03321 TC COMADRS
013036,000947: 10,3404 03321 TC COMADRS
013037,000948: 10,3405 03343 TC FXADRS
013038,000949: 10,3406 03343 TC FXADRS
013039,000950:
013040,000951: 10,3407 31374 NXTBNK CA SKEEP4
013041,000952: 10,3410 67640 AD SBIT11
013042,000953: 10,3411 55374 TS SKEEP4
013043,000954: 10,3412 03415 TC +3
013044,000955: 10,3413 37634 CA SBIT15
013045,000956: 10,3414 55374 TS SKEEP4
013046,000957: 10,3415 63436 AD NOBANKNO # FIRST BANK NOT USED.
013047,000958: 10,3416 00006 EXTEND
013048,000959: 10,3417 13426 BZF ENDSUMS
013049,000960: 10,3420 11377 CCS SKEEP7
013050,000961: 10,3421 03313 TC COMMFX
013051,000962: 10,3422 37652 CA S+1
013052,000963: 10,3423 03327 TC FXFX
013053,000964: 10,3424 37644 CA SBIT7 # CAN BE ANY NUMBER LARGER THAN 36 DECIMAL
013054,000965: 10,3425 03313 TC COMMFX
013055,000966:
013056,000967: 10,3426 11376 ENDSUMS CCS SKEEP6
013057,000968: 10,3427 03310 TC ROPECHK +2 # START SHOWSUM AGAIN
013058,000969: 10,3430 37777 S+MAX OCTAL 37777 # ** S+MAX AND S-MAX MUST BE TOGETHER
013059,000970: 10,3431 40000 S-MAX OCTAL 40000 # FOR DOUBLE PRECISION CHECKING.
013060,000971: 10,3432 03514 TC MPNMBRS -1 # ROPECHK IS COMPLETED
013061,000972:
013062,000973: 10,3433 11376 SOPTION CCS SKEEP6 # DECIDE ON ROPECHK OR SHOWSUM OPTION
013063,000974: 10,3434 03470 TC SDISPLAY
013064,000975: 10,3435 00501 VNCON OCTAL 00501 # USED IN SHOWSUM. DISPLAY 3 REGISTERS.
013065,000976: 10,3436 33777 NOBANKNO OCTAL 33777 # * CONSTANT, COMPLEMENT OF LAST BANK +1.
013066,000977: # CHANGE TO 33777 IF BANK 21 IS LAST BANK USED
013067,000978: 10,3437 11371 BNKCHK CCS SKEEP1 # WHEN C(SKEEP6) = -0
013068,000979: 10,3440 03444 TC +4
013069,000980: 10,3441 21470 SCADR FCADR SDISPLAY # * CONSTANT, USED IN SHOWSUM ONLY
013070,000981: 10,3442 03444 TC +2
013071,000982: 10,3443 37661 CA S-1 # FOR BANK 00
013072,000983: 10,3444 55371 TS SKEEP1
013073,000984: 10,3445 31374 CA SKEEP4
013074,000985: 10,3446 05440 TC LEFT5
013075,000986: 10,3447 40000 CS A
013076,000987: 10,3450 61371 AD SKEEP1
013077,000988: 10,3451 02041 TC -1CHK
013078,000989: 10,3452 03407 TC NXTBNK
013079,000990:
013080,000991: # INITIALIZE SKEEP6 TO +1 TO PERFORM SHOWSUM
013081,000992: # START OF ROUTINE THAT DISPLAYS SUM OF EACH BANK
013082,000993: 10,3453 37652 SHOWSUM CAF S+1
013083,000994: 10,3454 55376 TS SKEEP6 # SHOWSUM OPTION
013084,000995: 10,3455 37657 CAF S+ZERO
013085,000996: 10,3456 55361 TS SMODE # PUT SELF-CHECK TO SLEEP
013086,000997: 10,3457 32017 CA SELFADRS # INITIALIZE SELFRET TO GO TO SELFCHK.
013087,000998: 10,3460 55360 TS SELFRET
013088,000999: 10,3461 00004 INHINT
013089,001000: 10,3462 37640 CAF PRIO2
013090,001001: 10,3463 04276 TC NOVAC
013091,001002: 10,3464 1360 EBANK= SELFRET
013092,001003: 10,3464 03303 20002 2CADR STSHOSUM
013093,001004:
013094,001005: 10,3466 00003 RELINT
013095,001006: 10,3467 04353 TC ENDOFJOB
013096,001007:
013097,001008: 10,3470 31374 SDISPLAY CA SKEEP4
013098,001009: 10,3471 05440 TC LEFT5 # CYCLES LEFT 5 PLACES
013099,001010: 10,3472 57372 XCH SKEEP2 # SKEEP2 HOLDS BANK NUMBER DURING DISPLAY
013100,001011: 10,3473 55373 TS SKEEP3 # SKEEP3 HOLDS BUGGER WORD DURING DISPLAY
013101,001012: 10,3474 32015 NOKILL CAF ADRS1 # ADDRESS OF SKEEP1
013102,001013: 10,3475 54142 TS MPAC +2
013103,001014: 10,3476 33435 CAF VNCON # DISPLAY 3 REGISTERS
013104,001015: 10,3477 04673 TC NVSUB
013105,001016: 10,3500 03512 TC SBUSY
013106,001017: 10,3501 05525 TC FLASHON
013107,001018: 10,3502 04724 TC ENDIDLE
013108,001019: 10,3503 03506 TC +3 # FINISHED WITH SHOWSUM
013109,001020: 10,3504 03407 TC NXTBNK
013110,001021: 10,3505 03474 TC NOKILL # SO CAN LOAD WITHOUT KILLING SHOWSUM
013111,001022: 10,3506 05632 TC FREEDSP
013112,001023: 10,3507 32017 CA SELFADRS # INITIALIZE SKEEP1 TO GO TO SELFCHK.
013113,001024: 10,3510 55371 TS SKEEP1
013114,001025: 10,3511 04353 TC ENDOFJOB
013115,001026:
013116,001027: 10,3512 33441 SBUSY CAF SCADR
013117,001028: 10,3513 05560 TC NVSUBUSY
013118,001029:
013119,001030: 10,3514 02047 TC SMODECHK
013120,001031:
013121,001032: # MULTIPLY SUBROUTINE TAKES APPROXIMATELY 19 SECONDS.
013122,001033: # (37777) X (37777 THROUGH 00001)
013123,001034: # C(A) COUNTS DOWN. C(L) COUNTS UP.
013124,001035: 10,3515 33430 MPNMBRS CAF S+MAX
013125,001036: 10,3516 55372 TS SKEEP2
013126,001037: 10,3517 33430 CAF S+MAX
013127,001038: 10,3520 00006 EXTEND
013128,001039: 10,3521 71372 MP SKEEP2
013129,001040: 10,3522 60001 AD L # C(A) = 37777
013130,001041: 10,3523 63431 AD S-MAX
013131,001042: 10,3524 02033 TC -0CHK
013132,001043: 10,3525 04372 TC CHECKNJ # CHECK FOR NEW JOB
013133,001044: 10,3526 11372 CCS SKEEP2
013134,001045: 10,3527 55372 TS SKEEP2
013135,001046: 10,3530 11372 CCS SKEEP2
013136,001047: 10,3531 03517 TC MPNMBRS +2
013137,001048: # (-1) X (37777 THROUGH 00001)
013138,001049: 10,3532 33430 CAF S+MAX
013139,001050: 10,3533 55372 TS SKEEP2
013140,001051: 10,3534 37661 MPHIGH1 CAF S-1
013141,001052: 10,3535 00006 EXTEND
013142,001053: 10,3536 71372 MP SKEEP2 # C(A) = -0
013143,001054: 10,3537 02033 TC -0CHK
013144,001055: 10,3540 30001 CA L
013145,001056: 10,3541 61372 AD SKEEP2
013146,001057: 10,3542 02033 TC -0CHK
013147,001058: 10,3543 04372 TC CHECKNJ # CHECK FOR NEW JOB
013148,001059: 10,3544 11372 CCS SKEEP2
013149,001060: 10,3545 55372 TS SKEEP2
013150,001061: 10,3546 11372 CCS SKEEP2
013151,001062: 10,3547 03534 TC MPHIGH1
013152,001063:
013153,001064: # INTERCHANGE MULTIPLIER AND MULTIPLICAND
013154,001065: # (37777 THROUGH 00001) X (37777)
013155,001066: # C(A) COUNTS DOWN. C(L) COUNTS UP.
013156,001067: 10,3550 33430 CAF S+MAX
013157,001068: 10,3551 55371 TS SKEEP1
013158,001069: 10,3552 31371 MPAGAIN CA SKEEP1
013159,001070: 10,3553 00006 EXTEND
013160,001071: 10,3554 73430 MP S+MAX
013161,001072: 10,3555 60001 AD L # C(A) = 37777
013162,001073: 10,3556 63431 AD S-MAX
013163,001074: 10,3557 02033 TC -0CHK
013164,001075: 10,3560 04372 TC CHECKNJ # CHECK FOR NEW JOB
013165,001076: 10,3561 11371 CCS SKEEP1
013166,001077: 10,3562 55371 TS SKEEP1
013167,001078: 10,3563 11371 CCS SKEEP1
013168,001079: 10,3564 03552 TC MPAGAIN
013169,001080: # (37777 THROUGH 00001) X (-1)
013170,001081: 10,3565 33430 CAF S+MAX
013171,001082: 10,3566 55371 TS SKEEP1
013172,001083: 10,3567 31371 MPHIGH2 CA SKEEP1
013173,001084: 10,3570 00006 EXTEND
013174,001085: 10,3571 77661 MP S-1
013175,001086: 10,3572 02033 TC -0CHK
013176,001087: 10,3573 30001 CA L
013177,001088: 10,3574 61371 AD SKEEP1
013178,001089: 10,3575 02033 TC -0CHK
013179,001090: 10,3576 04372 TC CHECKNJ # CHECK FOR NEW JOB
013180,001091: 10,3577 11371 CCS SKEEP1
013181,001092: 10,3600 55371 TS SKEEP1
013182,001093: 10,3601 11371 CCS SKEEP1
013183,001094: 10,3602 03567 TC MPHIGH2
013184,001095:
013185,001096: 10,3603 02047 TC SMODECHK
013186,001097:
013187,001098: # ONCE THROUGH DIVIDE SUBROUTINE TAKES APPROXIMATELY 0.01 SECOND.
013188,001099: # TOTAL TIME SPENT IN DIVIDE SUBROUTINE IS APPROXIMATELY 21.5 SECONDS
013189,001100: # DIVIDE +-/17777/ +-/37777/ BY +-/20000/. THE CONTENTS OF THE A REGISTER
013190,001101: # AND THE L REGISTER WILL HAVE OPPOSITE SIGNS BEFORE DIVISION. THE
013191,001102: # QUOTIENT SHOULD BE +-/37774/ DEPENDING ON THE SIGN OF A AND THE SIGN
013192,001103: # OF THE DIVISOR. THE REMAINDER = +-1 DEPENDING ON THE SIGN OF A
013193,001104: 10,3604 47637 DVCHECK CS SBIT12 # -(04000)
013194,001105: 10,3605 55374 TS SKEEP4
013195,001106: 10,3606 25374 DVLOOP INCR SKEEP4
013196,001107: 10,3607 37635 DV1CHK CA SBIT14 # 20000
013197,001108: 10,3610 55371 TS SKEEP1
013198,001109: 10,3611 40000 CS A
013199,001110: 10,3612 55372 TS SKEEP2
013200,001111: 10,3613 43430 DV1++ CS S+MAX
013201,001112: 10,3614 54001 TS L # 40000
013202,001113: 10,3615 32006 CA S13BITS
013203,001114: 10,3616 00006 EXTEND
013204,001115: 10,3617 11371 DV SKEEP1 # +37774, +1
013205,001116: 10,3620 55377 TS SKEEP7 # 37774
013206,001117: 10,3621 33431 CA S-MAX
013207,001118: 10,3622 56001 XCH L # ALSO PUT 40000 IN L
013208,001119: 10,3623 02040 TC +1CHK
013209,001120: 10,3624 32006 DV1+- CA S13BITS # 17777
013210,001121: 10,3625 00006 EXTEND
013211,001122: 10,3626 11372 DV SKEEP2 # -37774, +1
013212,001123: 10,3627 61377 AD SKEEP7
013213,001124: 10,3630 02033 TC -0CHK
013214,001125: 10,3631 33430 CA S+MAX
013215,001126: 10,3632 56001 XCH L # ALSO PUT 37777 IN L
013216,001127: 10,3633 02040 TC +1CHK
013217,001128: 10,3634 42006 DV1-+ CS S13BITS # 60000
013218,001129: 10,3635 00006 EXTEND
013219,001130: 10,3636 11371 DV SKEEP1 # -37774, -1
013220,001131: 10,3637 55376 TS SKEEP6
013221,001132: 10,3640 61377 AD SKEEP7
013222,001133: 10,3641 02033 TC -0CHK
013223,001134: 10,3642 33430 CA S+MAX
013224,001135: 10,3643 56001 XCH L # ALSO PUT 37777 IN L
013225,001136: 10,3644 02041 TC -1CHK
013226,001137: 10,3645 42006 DV1-- CS S13BITS # 60000
013227,001138: 10,3646 00006 EXTEND
013228,001139: 10,3647 11372 DV SKEEP2 # +37774, -1
013229,001140: 10,3650 61376 AD SKEEP6
013230,001141: 10,3651 02033 TC -0CHK
013231,001142: 10,3652 33430 CA S+MAX
013232,001143: 10,3653 56001 XCH L # ALSO PUT 37777 IN L FOR DV2
013233,001144: 10,3654 02041 TC -1CHK
013234,001145: 10,3655 31376 CA SKEEP6 # -37774
013235,001146: 10,3656 67662 AD S-2 # -37776
013236,001147: 10,3657 63430 AD S+MAX
013237,001148: 10,3660 02040 TC +1CHK
013238,001149:
013239,001150: # DIVIDE +17777 + 37777 BY +20000. THE RESULT SHOULD BE +37777 WITH
013240,001151: # +17777 REMAINDER.
013241,001152: 10,3661 32006 DV2CHK CA S13BITS
013242,001153: 10,3662 00006 EXTEND
013243,001154: 10,3663 11371 DV SKEEP1
013244,001155: 10,3664 63431 AD S-MAX
013245,001156: 10,3665 02033 TC -0CHK
013246,001157: 10,3666 47635 CS SBIT14 # -20000
013247,001158: 10,3667 60001 AD L
013248,001159: 10,3670 02041 TC -1CHK
013249,001160:
013250,001161: # DIVIDE +37776 BY +37776. THE RESULT SHOULD BE +37777 AND THE
013251,001162: # REMAINDER SHOULD BE +37776.
013252,001163: 10,3671 37657 DV4CHK CA S+ZERO
013253,001164: 10,3672 54001 TS L
013254,001165: 10,3673 32011 CA DVCON
013255,001166: 10,3674 55371 TS SKEEP1 # 37776
013256,001167: 10,3675 00006 EXTEND
013257,001168: 10,3676 11371 DV SKEEP1
013258,001169: 10,3677 40000 CS A
013259,001170: 10,3700 62011 AD DVCON
013260,001171: 10,3701 02041 TC -1CHK
013261,001172: 10,3702 30001 CA L # 37776
013262,001173: 10,3703 63431 AD S-MAX
013263,001174: 10,3704 02041 TC -1CHK
013264,001175:
013265,001176: # DIVIDE SAME (ZERO). THE CONTENTS OF THE A REGISTER AND L REGISTER WILL
013266,001177: # HAVE OPPOSITE SIGNS BEFORE DIVISION. THE QUOTIENT WILL BE + OR - MAX.,
013267,001178: # DEPENDING UPON THE SIGN OF THE L REGISTER AND THE SIGN OF THE DIVISOR.
013268,001179: # C(L) REMAINS THE SAME BECAUSE IT IS THE DIVIDEND.
013269,001180: 10,3705 37657 DV5CHK CA S+ZERO
013270,001181: 10,3706 55371 TS SKEEP1 # +0
013271,001182: 10,3707 54001 TS L
013272,001183: 10,3710 40000 CS A
013273,001184: 10,3711 55372 TS SKEEP2 # -0
013274,001185: 10,3712 00006 DV5++ EXTEND
013275,001186: 10,3713 11371 DV SKEEP1 # +37777, +0
013276,001187: 10,3714 55377 TS SKEEP7 # 37777
013277,001188: 10,3715 30001 CA L
013278,001189: 10,3716 02032 TC +0CHK
013279,001190: 10,3717 40000 DV5+- CS A
013280,001191: 10,3720 00006 EXTEND
013281,001192: 10,3721 11372 DV SKEEP2 # 40000, +0
013282,001193: 10,3722 55376 TS SKEEP6 # 40000
013283,001194: 10,3723 61377 AD SKEEP7
013284,001195: 10,3724 02033 TC -0CHK
013285,001196: 10,3725 40000 CS A
013286,001197: 10,3726 56001 XCH L # ALSO PUT -0 IN L
013287,001198: 10,3727 02032 TC +0CHK
013288,001199: 10,3730 00006 DV5-+ EXTEND
013289,001200: 10,3731 11371 DV SKEEP1 # 40000, -0
013290,001201: 10,3732 61377 AD SKEEP7
013291,001202: 10,3733 02033 TC -0CHK
013292,001203: 10,3734 30001 CA L
013293,001204: 10,3735 02033 TC -0CHK
013294,001205: 10,3736 00006 DV5-- EXTEND
013295,001206: 10,3737 11372 DV SKEEP2 # 37777, -0
013296,001207: 10,3740 61376 AD SKEEP6
013297,001208: 10,3741 02033 TC -0CHK
013298,001209: 10,3742 30001 CA L
013299,001210: 10,3743 02033 TC -0CHK
013300,001211: 10,3744 31376 CA SKEEP6 # CHECK QUOTIENT
013301,001212: 10,3745 62011 AD DVCON
013302,001213: 10,3746 02041 TC -1CHK
013303,001214:
013304,001215: 10,3747 04372 TC CHECKNJ # CHECK FOR NEW JOB
013305,001216: 10,3750 31374 CA SKEEP4
013306,001217: 10,3751 00006 EXTEND
013307,001218: 10,3752 63606 BZMF DVLOOP
013308,001219: 10,3753 25370 INCR SCOUNT +2
013309,001220: 10,3754 02101 TC SELFCHK # START SELF-CHECK AGAIN
013310,001221:
MAS 2023: The following two chunks of code were added as patches in Sundial D. They were placed here at the end of the bank so as to not change addresses of existing symbols. |
013314,001225:
013315,001226: 10,3755 00006 ERASLP1 EXTEND
013316,001227: 10,3756 51377 INDEX SKEEP7
013317,001228: 10,3757 30001 DCA 0000
013318,001229: 10,3760 53376 DXCH SKEEP5 # STORES C(X) AND C(X-1) IN SKEEP6 AND 5.
013319,001230: 10,3761 31377 CA SKEEP7
013320,001231: 10,3762 03170 TC ERASLP2
013321,001232:
013322,001233: 10,3763 37657 ERASLP3 CA S+ZERO
013323,001234: 10,3764 55357 TS ERESTORE # IF RESTART, DO NOT RESTORE C(X), C(X+1)
013324,001235: 10,3765 00003 RELINT
013325,001236: 10,3766 30003 CA EBANK # STORES C(EBANK)
013326,001237: 10,3767 03221 TC ERASLP4
013327,001238:
013328,001239: 10,3770 ENDSLFS1 EQUALS
013329,001240:
013330,001241: 01,3120 SETLOC ENDFAILS
013331,001242:
013332,001243: 01,3120 55371 SBNKOPTN TS SKEEP1
013333,001244: 01,3121 40000 CS A # GO TO BACKUP IDLE LOOP IF C(SMODE) IS
013334,001245: 01,3122 67651 AD TWO # GREATER THAN OCTAL 11
013335,001246: 01,3123 00006 EXTEND
013336,001247: 01,3124 63133 BZMF TOSMODE -2
013337,001248: 01,3125 37657 CA S+ZERO # ZERO SMODE FOR OPTIONS ABOVE 8.
013338,001249: 01,3126 55361 TS SMODE
013339,001250: 01,3127 31371 CA SKEEP1
013340,001251: 01,3130 50000 NDX A
013341,001252: 01,3131 03131 TC SOPTON11 -1
013342,001253: 01,3132 03154 SOPTON11 TC DSKYCHK
013343,001254:
013344,001255: 01,3133 37657 CA S+ZERO
013345,001256: 01,3134 55361 TS SMODE
013346,001257: 01,3135 04103 TOSMODE TC POSTJUMP
013347,001258: 01,3136 20047 CADR SMODECHK
013348,001259:
013349,001260: # THE FOLLOWING CONSTANTS ARE USED BY DSKYCHK.
013350,001261: 01,3137 05265 DSKYCODE OCTAL 05265 # 00
013351,001262: 01,3140 04143 OCTAL 04143 # 11
013352,001263: 01,3141 05471 OCTAL 05471 # 22
013353,001264: 01,3142 05573 OCTAL 05573 # 33
013354,001265: 01,3143 04757 OCTAL 04757 # 44
013355,001266: 01,3144 05736 OCTAL 05736 # 55
013356,001267: 01,3145 05634 OCTAL 05634 # 66
013357,001268: 01,3146 05163 OCTAL 05163 # 77
013358,001269: 01,3147 05675 OCTAL 05675 # 88
013359,001270: 01,3150 05777 OCTAL 05777 # 99
013360,001271: 01,3151 07265 +-ZERO OCTAL 07265
013361,001272: 01,3152 00013 11DEC. OCTAL 00013
013362,001273:
013363,001274: # BITS 2 AND 6 TURN ON THE COMPUTER ACTIVITY AND VERB-NOUN FLASH.
013364,001275: 01,3153 00042 S11CHAN OCTAL 00042
013365,001276:
013366,001277: 01,3154 37654 DSKYCHK CAF TEN
013367,001278: 01,3155 55373 TS SKEEP3
013368,001279: 01,3156 00004 INHINT
013369,001280: 01,3157 37652 CAF S+1 # SET UP TEN MS INTERRUPT
013370,001281: 01,3160 04451 TC WAITLIST
013371,001282: 01,3161 03215 02003 2CADR NXTNMBR
013372,001283:
013373,001284: 01,3163 00003 RELINT
013374,001285: 01,3164 03135 TC TOSMODE # GO TO IDLE LOOP
013375,001286:
013376,001287: 01,3165 55373 SDSPTAB TS SKEEP3
013377,001288: 01,3166 00004 INHINT
013378,001289: 01,3167 51373 NDX SKEEP3
013379,001290: 01,3170 43137 CS DSKYCODE
013380,001291: 01,3171 54307 SBLANKS TS DSPTAB
013381,001292: 01,3172 54310 TS DSPTAB +1
013382,001293: 01,3173 54311 TS DSPTAB +2
013383,001294: 01,3174 54312 TS DSPTAB +3
013384,001295: 01,3175 54313 TS DSPTAB +4
013385,001296: 01,3176 54314 TS DSPTAB +5
013386,001297: 01,3177 54315 TS DSPTAB +6
013387,001298: 01,3200 54316 TS DSPTAB +7
013388,001299: 01,3201 54317 TS DSPTAB +8D
013389,001300: 01,3202 54320 TS DSPTAB +9D
013390,001301: 01,3203 54321 TS DSPTAB +10D
013391,001302: 01,3204 33152 CA 11DEC.
013392,001303: 01,3205 54303 TS NOUT
013393,001304:
013394,001305: 01,3206 00004 DSKYWAIT INHINT
013395,001306: 01,3207 37641 CAF BIT10 # 5.12 SECOND WAIT
013396,001307: 01,3210 04451 TC WAITLIST
013397,001308: 01,3211 03215 02003 2CADR NXTNMBR
013398,001309:
013399,001310: 01,3213 00003 RELINT
013400,001311: 01,3214 04505 TC TASKOVER
013401,001312:
013402,001313: 01,3215 11373 NXTNMBR CCS SKEEP3
013403,001314: 01,3216 03165 TC SDSPTAB # 9 THROUGH 0
013404,001315: 01,3217 03224 TC -SIGN # -ZEROS
013405,001316: 01,3220 03241 TC +SIGN # +ZEROS
013406,001317: 01,3221 11372 CCS SKEEP2
013407,001318: 01,3222 03255 TC NODSPLAY # PUTS BLANKS IN DSKY DISPLAY
013408,001319: 01,3223 03261 TC LITESOUT # TURN OFF LIGHTS
013409,001320:
013410,001321: 01,3224 47652 -SIGN CS S+1
013411,001322: 01,3225 55373 TS SKEEP3
013412,001323: 01,3226 33153 CA S11CHAN # TURN ON VERB-NOUN FLASH
013413,001324: 01,3227 00006 EXTEND # AND COMPUTER ACTIVITY LIGHTS.
013414,001325: 01,3230 05011 WOR DSALMOUT
013415,001326: 01,3231 43151 CS +-ZERO
013416,001327: 01,3232 00004 INHINT
013417,001328: 01,3233 54307 TS DSPTAB
013418,001329: 01,3234 54312 TS DSPTAB +3
013419,001330: 01,3235 54314 TS DSPTAB +5
013420,001331: 01,3236 36165 CAF THREE
013421,001332: 01,3237 54303 TS NOUT
013422,001333: 01,3240 03206 TC DSKYWAIT
013423,001334: 01,3241 47657 +SIGN CS ZERO
013424,001335: 01,3242 55373 TS SKEEP3
013425,001336: 01,3243 37652 CA S+1
013426,001337: 01,3244 55372 TS SKEEP2
013427,001338: 01,3245 00004 INHINT
013428,001339: 01,3246 43151 CS +-ZERO
013429,001340: 01,3247 54310 TS DSPTAB +1
013430,001341: 01,3250 54313 TS DSPTAB +4
013431,001342: 01,3251 54315 TS DSPTAB +6
013432,001343: 01,3252 36165 CAF THREE
013433,001344: 01,3253 54303 TS NOUT
013434,001345: 01,3254 03206 TC DSKYWAIT
013435,001346:
013436,001347: 01,3255 55372 NODSPLAY TS SKEEP2 # +0
013437,001348: 01,3256 47637 CS BIT12 # BLANKS
013438,001349: 01,3257 00004 INHINT
013439,001350: 01,3260 03171 TC SBLANKS # PUTS BLANKS IN ALL DISPLAYS
013440,001351:
013441,001352: 01,3261 43153 LITESOUT CS S11CHAN
013442,001353: 01,3262 00006 EXTEND
013443,001354: 01,3263 03011 WAND DSALMOUT # TURN OFF COMPUTER ACTIVITY LIGHT.
013444,001355: 01,3264 04505 TC TASKOVER # END OF DSKYCHK
013445,001356:
013446,001357: 01,3265 ENDSLFS2 EQUALS
End of include-file AGC_BLOCK_TWO_SELF-CHECK.agc. Parent file is MAIN.agc