Source Code
These source code files have been transcribed or otherwise adapted from
digitized images of a hardcopy from the private collection of
Don Eyles. The digitization was performed by archive.org, and
transcription was performed by a team of volunteers.
Note that the page images
presented online are of reduced quality, and that the original
high-quality images are available at archive.org.
Report any conversion errors or legibility problems in page images to info@sandroid.org.
Notations on the program listing read, in part:473423A YUL SYSTEM FOR BLK2: REVISION 12 of PROGRAM AURORA BY DAP GROUP NOV 10, 1966Note that the date is the date of the printout, not the date of the program revision. |
015276,000002: ## Copyright: Public domain.
015277,000003: ## Filename: AGC_BLOCK_TWO_SELF-CHECK.agc
015278,000004: ## Purpose: Part of the source code for Aurora (revision 12).
015279,000005: ## Assembler: yaYUL
015280,000006: ## Contact: Ron Burkey <info@sandroid.org>.
015281,000007: ## Website: https://www.ibiblio.org/apollo.
015282,000008: ## Pages: 377-403
015283,000009: ## Mod history: 2016-09-20 JL Created.
015284,000010: ## Mod history: 2016-09-22 MAS Began.
015285,000011: ## 2016-10-16 HG Fix operand 5BIT14 -> SBIT14
015286,000012: ## DISPLAY -> SDISPLAY
015287,000013: ## 2016-10-20 RSB Had to add an EBANK= to make some
015288,000014: ## 2CADR's come out right.
015289,000015: ## 2016-10-21 RSB Removed yesterday's EBANK=, due to
015290,000016: ## yaYUL fixes HG gave me.
015291,000017: ## 2016-12-08 RSB Proofed comments with octopus/ProoferComments
015292,000018: ## and fixed the errors found.
015293,000019:
015294,000020: ## This source code has been transcribed or otherwise adapted from
015295,000021: ## digitized images of a hardcopy from the private collection of
015296,000022: ## Don Eyles. The digitization was performed by archive.org.
015297,000023:
015298,000024: ## Notations on the hardcopy document read, in part:
015299,000025:
015300,000026: ## 473423A YUL SYSTEM FOR BLK2: REVISION 12 of PROGRAM AURORA BY DAP GROUP
015301,000027: ## NOV 10, 1966
015302,000028:
015303,000029: ## [Note that this is the date the hardcopy was made, not the
015304,000030: ## date of the program revision or the assembly.]
015305,000031:
015306,000032: ## The scan images (with suitable reduction in storage size and consequent
015307,000033: ## reduction in image quality) are available online at
015308,000034: ## https://www.ibiblio.org/apollo.
015309,000035: ## The original high-quality digital images are available at archive.org:
015310,000036: ## https://archive.org/details/aurora00dapg
015311,000037:
Page 377 |
015313,000039: 20,2000 BANK 20
015314,000040:
015315,000041: 20,2000 7657 SBIT1 EQUALS BIT1
015316,000042: 20,2000 7656 SBIT2 EQUALS BIT2
015317,000043: 20,2000 7655 SBIT3 EQUALS BIT3
015318,000044: 20,2000 7654 SBIT4 EQUALS BIT4
015319,000045: 20,2000 7653 SBIT5 EQUALS BIT5
015320,000046: 20,2000 7652 SBIT6 EQUALS BIT6
015321,000047: 20,2000 7651 SBIT7 EQUALS BIT7
015322,000048: 20,2000 7650 SBIT8 EQUALS BIT8
015323,000049: 20,2000 7647 SBIT9 EQUALS BIT9
015324,000050: 20,2000 7646 SBIT10 EQUALS BIT10
015325,000051: 20,2000 7645 SBIT11 EQUALS BIT11
015326,000052: 20,2000 7644 SBIT12 EQUALS BIT12
015327,000053: 20,2000 7643 SBIT13 EQUALS BIT13
015328,000054: 20,2000 7642 SBIT14 EQUALS BIT14
015329,000055: 20,2000 7641 SBIT15 EQUALS BIT15
015330,000056:
015331,000057: 20,2000 7665 S+ZERO EQUALS ZERO
015332,000058: 20,2000 7657 S+1 EQUALS BIT1
015333,000059: 20,2000 7656 S+2 EQUALS BIT2
015334,000060: 20,2000 6165 S+3 EQUALS THREE
015335,000061: 20,2000 7655 S+4 EQUALS FOUR
015336,000062: 20,2000 7664 S+5 EQUALS FIVE
015337,000063: 20,2000 6162 S+6 EQUALS SIX
015338,000064: 20,2000 7663 S+7 EQUALS SEVEN
015339,000065: 20,2000 5235 S8BITS EQUALS LOW8 # 00377
015340,000066: 20,2000 00051 CNTRCON OCTAL 00051 # USED IN CNTRCHK
015341,000067: 20,2001 00062 ERASCON1 OCTAL 00062 # USED IN ERASCHK
015342,000068: 20,2002 01374 ERASCON2 OCTAL 01374 # USED IN ERASCHK
015343,000069: 20,2003 01400 ERASCON6 OCTAL 01400 # USED IN ERASCHK
015344,000070: 20,2004 01462 ERASCON3 OCTAL 01462 # USED IN ERASCHK
015345,000071: 20,2005 01774 ERASCON4 OCTAL 01774 # USED IN ERASCHK
015346,000072: 20,2006 6426 S10BITS EQUALS LOW10 # 01777, USED IN ERASCHK
015347,000073: 20,2006 4506 SBNK03 EQUALS PRIO6 # 06000, USED IN ROPECHK
015348,000074: 20,2006 17777 S13BITS OCTAL 17777
015349,000075: 20,2007 25252 CONC+S1 OCTAL 25252 # USED IN CYCLSHFT
015350,000076: 20,2010 37737 OVCON OCTAL 37737 # USED IN RUPTCHK
015351,000077: 20,2011 37776 DVCON OCTAL 37776
015352,000078: 20,2012 52400 CONC+S2 OCTAL 52400 # USED IN CYCLSHFT
015353,000079: 20,2013 76777 ERASCON5 OCTAL 76777
015354,000080: 20,2014 77770 S-7 OCTAL 77770
015355,000081: 20,2015 6045 S-4 EQUALS NEG4
015356,000082: 20,2015 7671 S-3 EQUALS NEG3
015357,000083: 20,2015 7670 S-2 EQUALS NEG2
015358,000084: 20,2015 7667 S-1 EQUALS NEGONE
015359,000085: 20,2015 7666 S-ZERO EQUALS NEG0
015360,000086:
015361,000087: 20,2015 E3,1400 EBANK= 3
015362,000088: 20,2015 01371 ADRS1 ADRES SKEEP1
015363,000089:
Page 378 |
015365,000091: 20,2016 00021 SRADRS ADRES SR
015366,000092: 20,2017 02101 SELFADRS ADRES SELFCHK # SELFCHK RETURN ADDRESS. SHOULD BE PUT
015367,000093: # IN SELFRET WHEN GOING FROM SELFCHK TO
015368,000094: # SHOWSUM AND PUT IN SKEEP1 WHEN GOING
015369,000095: # FROM SHOWSUM TO SELF-CHECK.
015370,000096:
015371,000097: 20,2020 30002 ERRORS CA Q
015372,000098: 20,2021 55364 TS SFAIL # SAVE Q FOR FAILURE LOCATION
015373,000099: 20,2022 25365 INCR ERCOUNT # KEEP TRACK OF NUMBER OF MALFUNCTIONS.
015374,000100: 20,2023 05413 TC ALARM
015375,000101: 20,2024 01102 OCT 01102 # SELF-CHECK MALFUNCTION INDICATOR
015376,000102: 20,2025 11361 CCS SMODE
015377,000103: 20,2026 37665 CA S+ZERO
015378,000104: 20,2027 55361 TS SMODE
015379,000105: 20,2030 02101 TC SELFCHK # GO TO IDLE LOOP
015380,000106: 20,2031 01364 TC SFAIL # CONTINUE WITH SELF-CHECK
015381,000107:
015382,000108: 20,2032 40000 +0CHK CS A
015383,000109: 20,2033 10000 -0CHK CCS A
015384,000110: 20,2034 12020 TCF ERRORS
015385,000111: 20,2035 12020 TCF ERRORS
015386,000112: 20,2036 12020 TCF ERRORS
015387,000113: 20,2037 00002 TC Q
015388,000114:
015389,000115: 20,2040 40000 +1CHK CS A
015390,000116: 20,2041 10000 -1CHK CCS A
015391,000117: 20,2042 12020 TCF ERRORS
015392,000118: 20,2043 12020 TCF ERRORS
015393,000119: 20,2044 10000 CCS A
015394,000120: 20,2045 12020 TCF ERRORS
015395,000121: 20,2046 00002 TC Q
015396,000122:
015397,000123: 20,2047 00006 SMODECHK EXTEND
015398,000124: 20,2050 23371 QXCH SKEEP1
015399,000125: 20,2051 04457 TC CHECKNJ # CHECK FOR NEW JOB
015400,000126: 20,2052 11361 CCS SMODE
015401,000127: 20,2053 02060 TC SOPTIONS
015402,000128: 20,2054 02051 TC SMODECHK +2 # TO BACKUP IDLE LOOP
015403,000129: 20,2055 02060 TC SOPTIONS
015404,000130: 20,2056 25366 INCR SCOUNT
015405,000131: 20,2057 01371 TC SKEEP1 # CONTINUE WITH SELF-CHECK
015406,000132:
015407,000133: 20,2060 62014 SOPTIONS AD S-7
015408,000134: 20,2061 00006 EXTEND
015409,000135: 20,2062 62065 BZMF +3 # FOR OPTIONS BELOW NINE.
015410,000136: 20,2063 04102 BNKOPTN TC POSTJUMP # GO TO ANOTHER BANK FOR OPTIONS ABOVE 8.
015411,000137: 20,2064 03000 CADR SBNKOPTN
015412,000138: 20,2065 25366 INCR SCOUNT # FOR OPTIONS BELOW NINE.
015413,000139: 20,2066 67663 AD S+7
Page 379 |
015415,000141: 20,2067 50000 INDEX A
015416,000142: 20,2070 02071 TC SOPTION1
015417,000143: 20,2071 02102 SOPTION1 TC TC+TCF
015418,000144: 20,2072 02767 SOPTION2 TC IN-OUT1
015419,000145: 20,2073 03043 SOPTION3 TC COUNTCHK
015420,000146: 20,2074 03137 SOPTION4 TC ERASCHK
015421,000147: 20,2075 03307 SOPTION5 TC ROPECHK
015422,000148: 20,2076 03516 SOPTION6 TC MPNMBRS
015423,000149: 20,2077 03605 SOPTION7 TC DVCHECK
015424,000150: 20,2100 01371 SOPTON10 TC SKEEP1 # CONTINUE WITH SELF-CHECK
015425,000151:
015426,000152: 20,2101 02047 SELFCHK TC SMODECHK # ** CHARLEY, COME IN HERE
015427,000153:
015428,000154: # TC+TCF CHECKS ALL OF THE PULSES OF TCF AND ALL OF THE PULSES OF TC
015429,000155: # EXCEPT ABILITY TO TC TO ERASABLE.
015430,000156: # ALSO FIRST TIME CS FIXED MEMORY IS USED
015431,000157: 20,2102 02104 TC+TCF TC +2
015432,000158: 20,2103 02111 TC CCSCHK
015433,000159: 20,2104 12106 TCF +2 # $ TCF FIXED MEMORY
015434,000160: 20,2105 02020 TC ERRORS
015435,000161: 20,2106 46165 CS S+3 # $ CS FIXED MEMORY
015436,000162: 20,2107 00002 TC Q # $
015437,000163: 20,2110 02020 TC ERRORS
015438,000164:
015439,000165: # CCSCHK CHECKS ALL OF CCS EXCEPT RB WG.
015440,000166: # ALSO CHECKS TS ERASABLE, CS SC, AND CS ERASABLE MEMORY.
015441,000167: 20,2111 10000 CCSCHK CCS A # $ CCS SC, C(A) = -3
015442,000168: 20,2112 02020 TC ERRORS
015443,000169: 20,2113 02020 TC ERRORS
015444,000170: 20,2114 02116 TC +2
015445,000171: 20,2115 02020 TC ERRORS
015446,000172: 20,2116 10000 CCS A # $ C(A) = +2, RESULT OF CCS -NUMBER
015447,000173: 20,2117 02123 TC +4
015448,000174: 20,2120 02020 TC ERRORS
015449,000175: 20,2121 02020 TC ERRORS
015450,000176: 20,2122 02020 TC ERRORS
015451,000177: 20,2123 55371 TS SKEEP1 # $ TS ERASABLE
015452,000178: 20,2124 11371 CCS SKEEP1 # $ CCS ERASABLE, C(A) = +1, RESULT OF
015453,000179: 20,2125 02131 TC +4 # CCS +NUMBER
015454,000180: 20,2126 02020 TC ERRORS
015455,000181: 20,2127 02020 TC ERRORS
015456,000182: 20,2130 02020 TC ERRORS
015457,000183: 20,2131 10000 CCS A # $ C(A) = +0, RESULT OF CCS +1, CHECKS CI
015458,000184: 20,2132 02020 TC ERRORS
015459,000185: 20,2133 02136 TC +3
015460,000186: 20,2134 02020 TC ERRORS
015461,000187: 20,2135 02020 TC ERRORS
015462,000188: 20,2136 40000 CS A # $ CS SC
015463,000189: 20,2137 10000 CCS A # $ C(A) = -0, RESULT OF CCS +0
015464,000190: 20,2140 02020 TC ERRORS
Page 380 |
015466,000192: 20,2141 02020 TC ERRORS
015467,000193: 20,2142 02020 TC ERRORS
015468,000194: 20,2143 10000 CCS A # $ RESULT OF CCS -0
015469,000195: 20,2144 02020 TC ERRORS
015470,000196: 20,2145 02150 TC +3
015471,000197: 20,2146 02020 TC ERRORS
015472,000198: 20,2147 02020 TC ERRORS
015473,000199: 20,2150 41371 CS SKEEP1 # $ CS ERASABLE. ALSO CHECKS BACK INTO
015474,000200: 20,2151 02041 TC -1CHK # ERASABLE SEQUENCE.
015475,000201:
015476,000202: # BZMFCHK CHECKS ALL PULSES OF BZMF.
015477,000203: # ALSO CHECKS CA FIXED MEMORY.
015478,000204: 20,2152 37647 BZMFCHK CAF SBIT9 # $ CA FIXED MEMORY
015479,000205: 20,2153 00006 EXTEND
015480,000206: 20,2154 62175 BZMF ERRBZMF
015481,000207: 20,2155 40000 CS A
015482,000208: 20,2156 00006 EXTEND
015483,000209: 20,2157 62161 BZMF +2 # $
015484,000210: 20,2160 02020 TC ERRORS
015485,000211: 20,2161 33431 CA S+MAX
015486,000212: 20,2162 67657 AD S+1
015487,000213: 20,2163 00006 EXTEND
015488,000214: 20,2164 62176 BZMF ERRBZMF2 # $ + OVERFLOW, CHECK 01-0000
015489,000215: 20,2165 37665 CA S+ZERO
015490,000216: 20,2166 00006 EXTEND
015491,000217: 20,2167 62171 BZMF +2 # $
015492,000218: 20,2170 02020 TC ERRORS
015493,000219: 20,2171 40000 CS A
015494,000220: 20,2172 00006 EXTEND
015495,000221: 20,2173 62177 BZMF +4 # $
015496,000222: 20,2174 02020 TC ERRORS
015497,000223: 20,2175 02020 ERRBZMF TC ERRORS # FROM BZMF WITH +NON-ZERO
015498,000224: 20,2176 02020 ERRBZMF2 TC ERRORS # OVERFLOW WITH +0
015499,000225:
015500,000226: # RESTORE1 AND 2 CHECKS INSTRUCTIONS (WITH STAR) ABILITY TO READ BACK INTO
015501,000227: # ERASABLE MEMORY. NOT NORMALLY INTERESTED IN CONTENTS OF A REGISTER.
015502,000228: # FIRST TIME MANY INSTRUCTIONS ARE USED.
015503,000229: # RESTORE1 ALSO CHECKS INDEX (WITHOUT EXTRACODE) ERASABLE, CA ERASABLE,
015504,000230: # AND MASK ERASABLE.
015505,000231: 20,2177 32016 RESTORE1 CAF SRADRS # ADDRESS OF SR
015506,000232: 20,2200 55377 TS SKEEP7
015507,000233: 20,2201 35235 CA S8BITS # 00377
015508,000234: 20,2202 51377 NDX SKEEP7 # $ INDEX ERASABLE *
015509,000235: 20,2203 54000 TS 0000 # TS SR, C(SR) = 00177
015510,000236: 20,2204 10021 CCS SR # C(SR) = 00077 *
015511,000237: 20,2205 51377 NDX SKEEP7 # CHECKS C(SKEEP7) CORRECT
015512,000238: 20,2206 40000 CS 0000 # C(SR) = 00037
015513,000239: 20,2207 60021 AD SR # C(SR) = 00017 *
015514,000240: 20,2210 00006 EXTEND
015515,000241: 20,2211 20021 MSU SR # C(SR) = 00007 *
Page 381 |
015517,000243: 20,2212 00006 EXTEND
015518,000244: 20,2213 60021 SU SR # C(SR) = 00003 *
015519,000245: 20,2214 30021 CA SR # $ C(SR) = +1, C(A) = +3, CA ERASABLE *
015520,000246: 20,2215 70021 MASK SR # $ B(SR) = C(SR) = +1, MASK ERASABLE *
015521,000247: 20,2216 02040 TC +1CHK
015522,000248: 20,2217 00006 EXTEND
015523,000249: 20,2220 70021 MP SR
015524,000250: 20,2221 00006 EXTEND
015525,000251: 20,2222 10021 DV SR
015526,000252: 20,2223 30021 CA SR # $ CA ERASABLE
015527,000253: 20,2224 02040 TC +1CHK # MAKES SURE MASK, MP, AND DV DO NOT EDIT.
015528,000254:
015529,000255: # RESTORE2 ALSO CHECKS XCH ERASABLE,INDEX (WITH EXTRACODE) ERASABLE AND
015530,000256: # FIXED MEMORY, DCS ERASABLE, CA SC, AND DCA ERASABLE.
015531,000257: 20,2225 32015 RESTORE2 CAF ADRS1 # ADDRESS OF SKEEP1
015532,000258: 20,2226 55376 TS SKEEP6
015533,000259: 20,2227 37667 CA S-1
015534,000260: 20,2230 55371 TS SKEEP1 # -1
015535,000261: 20,2231 40000 CS A
015536,000262: 20,2232 57371 XCH SKEEP1 # $ XCH ERASABLE, C(SKEEP1) = +1
015537,000263: 20,2233 57372 XCH SKEEP2 # $ XCH ERASABLE, C(SKEEP2) = -1
015538,000264: 20,2234 00006 EXTEND
015539,000265: 20,2235 51376 NDX SKEEP6 # $ NDX ERASABLE *
015540,000266: 20,2236 30001 DCA 0000 # DCA ERASABLE *
015541,000267: 20,2237 00006 EXTEND
015542,000268: 20,2240 52015 NDX ADRS1 # $ NDX FIXED MEMORY *
015543,000269: 20,2241 40001 DCS 0000 # $ DCS ERASABLE MEMORY *
015544,000270: 20,2242 02041 TC -1CHK # MAKES SURE DCS ERASABLE OK
015545,000271: 20,2243 30001 CA L # $ CA SC
015546,000272: 20,2244 02040 TC +1CHK
015547,000273: 20,2245 00006 EXTEND
015548,000274: 20,2246 51376 NDX SKEEP6 # MAKE SURE C(SKEEP6) IS STILL CORRECT
015549,000275: 20,2247 30001 DCA 0000 # $ DCA ERASABLE
015550,000276: 20,2250 02040 TC +1CHK
015551,000277: 20,2251 30001 CA L
015552,000278: 20,2252 02041 TC -1CHK
015553,000279:
015554,000280: # RESTORE3 CHECKS ABILITY TO RESTORE INSTRUCTIONS BACK INTO ERASABLE
015555,000281: # MEMORY. IT IS ONLY NECESSARY TO RESTORE ONE INSTRUCTION BECAUSE THE
015556,000282: # G REGISTER DOES NOT CHANGE.
015557,000283: # ALSO CHECKS TC TO ERASABLE MEMORY.
015558,000284: 20,2253 37641 RESTORE3 CA SBIT15 # CS
015559,000285: 20,2254 55371 TS SKEEP1 # 40000
015560,000286: 20,2255 37656 CA S+2 # TC Q
015561,000287: 20,2256 55372 TS SKEEP2
015562,000288: 20,2257 37657 CA S+1 # +1
015563,000289: 20,2260 01371 TC SKEEP1 # $ TC ERASABLE
015564,000290: 20,2261 02041 TC -1CHK # FIRST TIME BACK FROM ERASABLE.
015565,000291: 20,2262 01371 TC SKEEP1
015566,000292: 20,2263 02033 TC -0CHK # SECOND TIME BACK FROM ERASABLE.
015567,000293:
Page 382 |
015569,000295: # BZFCHK CHECKS ALL PULSES OF BZF.
015570,000296: 20,2264 37664 BZFCHK CAF S+5
015571,000297: 20,2265 00006 EXTEND
015572,000298: 20,2266 12311 BZF ERRBZF1 # $
015573,000299: 20,2267 40000 CS A
015574,000300: 20,2270 00006 EXTEND
015575,000301: 20,2271 12312 BZF ERRBZF2 # $
015576,000302: 20,2272 33431 CA S+MAX
015577,000303: 20,2273 67657 AD S+1 # 01-00000
015578,000304: 20,2274 00006 EXTEND
015579,000305: 20,2275 12313 BZF ERRBZF3 # $
015580,000306: 20,2276 40000 CS A
015581,000307: 20,2277 00006 EXTEND
015582,000308: 20,2300 12314 BZF ERRBZF4 # $
015583,000309: 20,2301 37665 CAF S+ZERO
015584,000310: 20,2302 00006 EXTEND
015585,000311: 20,2303 12305 BZF +2 # $
015586,000312: 20,2304 02020 TC ERRORS
015587,000313: 20,2305 40000 CS A
015588,000314: 20,2306 00006 EXTEND
015589,000315: 20,2307 12315 BZF +6 # $
015590,000316: 20,2310 02020 TC ERRORS
015591,000317: 20,2311 02020 ERRBZF1 TC ERRORS # +NON-ZERO
015592,000318: 20,2312 02020 ERRBZF2 TC ERRORS # -NON-ZERO
015593,000319: 20,2313 02020 ERRBZF3 TC ERRORS # 01-00000
015594,000320: 20,2314 02020 ERRBZF4 TC ERRORS # 10-37777
015595,000321:
015596,000322: # DXCH+DIM CHECKS ALL PULSES OF DXCH AND DIM.
015597,000323: # ALSO CHECKS TS WITH OVERFLOW, TS SC, CA SC, AND AD ERASABLE.
015598,000324: 20,2315 33431 DXCH+DIM CA S+MAX
015599,000325: 20,2316 67656 AD S+2 # OVERFLOW WITH +1
015600,000326: 20,2317 55371 TS SKEEP1 # $ TS WITH OVERFLOW, +1
015601,000327: 20,2320 02020 TC ERRORS
015602,000328: 20,2321 40000 CS A
015603,000329: 20,2322 55372 TS SKEEP2
015604,000330: 20,2323 43431 CS S+MAX
015605,000331: 20,2324 54001 TS L # $ TS SC, 40000
015606,000332: 20,2325 40000 CS A # 37777
015607,000333: 20,2326 53372 DXCH SKEEP1 # $ DXCH ERASABLE
015608,000334: 20,2327 02040 TC +1CHK
015609,000335: 20,2330 30001 CA L # $ CA SC
015610,000336: 20,2331 02041 TC -1CHK
015611,000337: 20,2332 00006 EXTEND
015612,000338: 20,2333 27371 DIM SKEEP1 # $ DIM ERASABLE, DIM + NUMBER, 37776
015613,000339: 20,2334 00006 EXTEND
015614,000340: 20,2335 27372 DIM SKEEP2 # $ DIM - NUMBER, 40001
015615,000341: 20,2336 33431 CA S+MAX # 37777
015616,000342: 20,2337 61372 AD SKEEP2 # $ AD ERASABLE, +1
015617,000343: 20,2340 02040 TC +1CHK
015618,000344: 20,2341 43431 CS S+MAX # 40000
Page 383 |
015620,000346: 20,2342 61371 AD SKEEP1 # -1
015621,000347: 20,2343 02041 TC -1CHK
015622,000348: 20,2344 37657 CA S+1 # +1
015623,000349: 20,2345 00006 EXTEND
015624,000350: 20,2346 26000 DIM A # $ DIM SC, DIM +1
015625,000351: 20,2347 00006 EXTEND
015626,000352: 20,2350 26000 DIM A # $ DIM -0
015627,000353: 20,2351 02033 TC -0CHK
015628,000354: 20,2352 00006 EXTEND
015629,000355: 20,2353 26000 DIM A # $ DIM +0
015630,000356: 20,2354 02032 TC +0CHK
015631,000357:
015632,000358: # DAS+INCR CHECKS ALL PULSES OF DAS AND INCR.
015633,000359: # ALSO CHECKS DCA FIXED, LXCH SC, DCA ERASABLE, AD ERASABLE, DCS FIXED,
015634,000360: # DCS ERASABLE, AND XCH SC.
015635,000361: 20,2355 37667 DAS+INCR CA S-1
015636,000362: 20,2356 54001 DAS++ TS L # -1
015637,000363: 20,2357 37656 CA S+2 # +2
015638,000364: 20,2360 20001 DAS A # $ DAS SC, C(A) = +4 AND C(L) = -2
015639,000365: 20,2361 67671 AD S-3 # $ AD FIXED MEMORY
015640,000366: 20,2362 02040 TC +1CHK
015641,000367: 20,2363 37657 CA S+1
015642,000368: 20,2364 60001 AD L # $ AD SC, -1
015643,000369: 20,2365 02041 TC -1CHK
015644,000370: # DAS WITH INTERFLOW IN LOW ORDER AND NET OVERFLOW
015645,000371: 20,2366 00006 DAS+- EXTEND
015646,000372: 20,2367 33432 DCA S+MAX # $DCA FIXED MEMORY
015647,000373: 20,2370 53374 DXCH SKEEP3 # 37777, 40000
015648,000374: 20,2371 37670 CA S-2
015649,000375: 20,2372 54001 TS L
015650,000376: 20,2373 36165 CA S+3 # C(A) = +3, C(L) = -2
015651,000377: 20,2374 21374 DAS SKEEP3 # $ DAS ERASABLE
015652,000378: 20,2375 22000 LXCH A # $ LXCH SC
015653,000379: 20,2376 02032 TC +0CHK
015654,000380: 20,2377 30001 CA L
015655,000381: 20,2400 02040 TC +1CHK
015656,000382: 20,2401 00006 EXTEND
015657,000383: 20,2402 31374 DCA SKEEP3 # $ DCA ERASABLE
015658,000384: 20,2403 22000 LXCH A # C(A) = -1, C(L) = +1
015659,000385: 20,2404 02041 TC -1CHK
015660,000386: 20,2405 30001 CA L
015661,000387: 20,2406 02040 TC +1CHK
015662,000388: # INCRCHK CHECKS ALL INCR PULSES EXCEPT WOVR.
015663,000389: 20,2407 25374 INCRCHK INCR SKEEP4 # $ INCR ERASABLE, -0
015664,000390: 20,2410 61374 AD SKEEP4 # $ AD ERASABLE
015665,000391: 20,2411 02033 TC -0CHK
015666,000392: 20,2412 24000 INCR A # $ INCR SC, +1
015667,000393: 20,2413 02040 TC +1CHK
015668,000394: # DAS WITH OVERFLOW IN LOW ORDER AND NET UNDERFLOW
015669,000395: 20,2414 00006 DAS-+ EXTEND
Page 384 |
015671,000397: 20,2415 43432 DCS S+MAX # $ DCS FIXED MEMORY
015672,000398: 20,2416 53372 DXCH SKEEP1 # 40000, 37777
015673,000399: 20,2417 36165 CA S+3 # +3
015674,000400: 20,2420 54001 TS L
015675,000401: 20,2421 40000 CS A # -3
015676,000402: 20,2422 21372 DAS SKEEP1 # $
015677,000403: 20,2423 02041 TC -1CHK
015678,000404: 20,2424 00006 EXTEND
015679,000405: 20,2425 41372 DCS SKEEP1 # $ DCS ERASABLE (+1, -2)
015680,000406: 20,2426 56001 XCH L # $ XCH SC (-2, +1)
015681,000407: 20,2427 67657 AD S+1
015682,000408: 20,2430 02041 TC -1CHK
015683,000409: 20,2431 30001 CA L
015684,000410: 20,2432 02040 TC +1CHK
015685,000411:
015686,000412: # MPCHK CHECKS ALL PULSES OF MP, AUG, AND ADS.
015687,000413: 20,2433 37657 MPCHK CA S+1
015688,000414: 20,2434 00006 EXTEND
015689,000415: 20,2435 24000 AUG A # $ AUG SC, +2
015690,000416: 20,2436 55375 TS SKEEP5 # +2
015691,000417: 20,2437 40000 CS A
015692,000418: 20,2440 54002 TS Q # -2
015693,000419: 20,2441 40000 CS A
015694,000420: 20,2442 00006 MP++ EXTEND
015695,000421: 20,2443 73431 MP S+MAX # $ MP FIXED MEMORY, +1, 37776
015696,000422: 20,2444 60001 AD L # 37777
015697,000423: 20,2445 00006 MP+- EXTEND
015698,000424: 20,2446 70002 MP Q # $ MP SC, -1, 40001
015699,000425: 20,2447 26001 ADS L # $ ADS SC, 40000
015700,000426: 20,2450 62011 AD DVCON
015701,000427: 20,2451 02041 TC -1CHK
015702,000428: 20,2452 30001 CA L
015703,000429: 20,2453 00006 MP-+ EXTEND
015704,000430: 20,2454 71375 MP SKEEP5 # $ MP ERASABLE, -1, 40001
015705,000431: 20,2455 55376 TS SKEEP6
015706,000432: 20,2456 00006 EXTEND
015707,000433: 20,2457 25376 AUG SKEEP6 # $ AUG ERASABLE, -2
015708,000434: 20,2460 60001 AD L # 40000
015709,000435: 20,2461 00006 MP-- EXTEND
015710,000436: 20,2462 71376 MP SKEEP6 # $ +1, 37776
015711,000437: 20,2463 02040 TC +1CHK
015712,000438: 20,2464 40001 CS L # 40001
015713,000439: 20,2465 62011 AD DVCON
015714,000440: 20,2466 02033 TC -0CHK
015715,000441: 20,2467 37657 CA S+1
015716,000442: 20,2470 27376 ADS SKEEP6 # $ ADS ERASABLE, +1
015717,000443: 20,2471 02041 TC -1CHK
015718,000444: 20,2472 31376 CA SKEEP6
015719,000445: 20,2473 02041 TC -1CHK
015720,000446:
Page 385 |
015722,000448: # DVCH AND DVQXCHK CHECK ALL OF PULSES OF DV AND QXCH.
015723,000449: # ALSO CHECKS TS WITH UNDERFLOW
015724,000450: 20,2474 37642 DVCHK CA SBIT14 # 20000
015725,000451: 20,2475 55371 TS SKEEP1
015726,000452: 20,2476 60000 AD A # OVERFLOW
015727,000453: 20,2477 67657 AD S+1
015728,000454: 20,2500 54001 TS L # $ TS SC WITH OVERFLOW, +1
015729,000455: 20,2501 02020 TC ERRORS
015730,000456: 20,2502 40000 CS A
015731,000457: 20,2503 55372 TS SKEEP2 # -1
015732,000458: 20,2504 37666 CA S-ZERO # -0
015733,000459: 20,2505 23371 LXCH SKEEP1 # $ LXCH ERASABLE
015734,000460: 20,2506 00006 DV++ EXTEND
015735,000461: 20,2507 11371 DV SKEEP1 # $ DV ERASABLE, C(A) = 20000, C(L) = +0
015736,000462: 20,2510 40000 CS A
015737,000463: 20,2511 22000 LXCH A
015738,000464: 20,2512 02032 TC +0CHK
015739,000465: 20,2513 00006 DV-- EXTEND
015740,000466: 20,2514 11372 DV SKEEP2 # $ 20000, +0
015741,000467: 20,2515 55374 TS SKEEP4 # 20000
015742,000468: 20,2516 40000 CS A
015743,000469: 20,2517 55373 TS SKEEP3 # -(20000)
015744,000470: 20,2520 67642 AD SBIT14
015745,000471: 20,2521 02033 TC -0CHK
015746,000472: 20,2522 30001 CA L
015747,000473: 20,2523 02033 TC -0CHK
015748,000474: 20,2524 33431 DV+- CA S+MAX
015749,000475: 20,2525 54001 TS L
015750,000476: 20,2526 32006 CA S13BITS
015751,000477: 20,2527 00006 EXTEND
015752,000478: 20,2530 11373 DV SKEEP3 # $ -(37777), +(17777)
015753,000479: 20,2531 56001 XCH L
015754,000480: 20,2532 40000 CS A
015755,000481: 20,2533 00006 DV-+ EXTEND
015756,000482: 20,2534 11374 DV SKEEP4 # $ -(37777), -(17777)
015757,000483: 20,2535 62011 AD DVCON
015758,000484: 20,2536 02041 TC -1CHK
015759,000485: 20,2537 33431 CA S+MAX
015760,000486: 20,2540 56001 XCH L # ALSO PUTS 37777 IN L FOR DV-+,-
015761,000487: 20,2541 67642 AD SBIT14
015762,000488: 20,2542 02040 TC +1CHK
015763,000489: 20,2543 42006 DV-+,+ CS S13BITS # -(17777)
015764,000490: 20,2544 00006 EXTEND
015765,000491: 20,2545 11374 DV SKEEP4
015766,000492: 20,2546 60001 AD L # -(37775)
015767,000493: 20,2547 62011 AD DVCON
015768,000494: 20,2550 02040 TC +1CHK
015769,000495: 20,2551 56001 XCH L
015770,000496: 20,2552 02041 TC -1CHK # ALSO PUTS +0 IN L FOR DVQXCH
015771,000497: 20,2553 42011 DVQXCHK CS DVCON
Page 386 |
015773,000499: 20,2554 54002 TS Q # 40001
015774,000500: 20,2555 40000 CS A
015775,000501: 20,2556 00006 EXTEND
015776,000502: 20,2557 10002 DV Q # $ DV SC, -(37777), +(37776)
015777,000503: 20,2560 00006 EXTEND
015778,000504: 20,2561 22001 QXCH L # $ QXCH SC, C(L) = 40001, C(Q) = 37776
015779,000505: 20,2562 60002 AD Q
015780,000506: 20,2563 02041 TC -1CHK
015781,000507: 20,2564 30001 CA L
015782,000508: 20,2565 63431 AD S+MAX
015783,000509: 20,2566 02040 TC +1CHK
015784,000510: 20,2567 00006 EXTEND
015785,000511: 20,2570 23371 QXCH SKEEP1 # $ QXCH ERAS., C(Q) = +1, C(SKEEP1) = +3
015786,000512: 20,2571 30002 CA Q
015787,000513: 20,2572 02040 TC +1CHK
015788,000514: 20,2573 41371 CS SKEEP1 # -3
015789,000515: 20,2574 67656 AD S+2
015790,000516: 20,2575 02041 TC -1CHK
015791,000517:
015792,000518: # MSUCHK CHECKS ALL PULSES OF MSU EXCEPT RB WG.
015793,000519: 20,2576 37665 MSUCHK CA S+ZERO
015794,000520: 20,2577 55371 TS SKEEP1 # +0
015795,000521: 20,2600 40000 CS A
015796,000522: 20,2601 55372 TS SKEEP2 # -0
015797,000523: 20,2602 00006 EXTEND
015798,000524: 20,2603 20000 MSU A # $ MSU SC, +0
015799,000525: 20,2604 02032 TC +0CHK
015800,000526: 20,2605 00006 EXTEND
015801,000527: 20,2606 21372 MSU SKEEP2 # $ MSU ERASABLE, +1
015802,000528: 20,2607 02040 TC +1CHK
015803,000529: 20,2610 00006 EXTEND
015804,000530: 20,2611 33432 DCA S+MAX
015805,000531: 20,2612 00006 EXTEND
015806,000532: 20,2613 20001 MSU L # $ CHECKS RUS WA, ALSO -1 FROM NEG. NO.
015807,000533: 20,2614 54000 TS A
015808,000534: 20,2615 02617 TC +2
015809,000535: 20,2616 02020 TC ERRORS
015810,000536: 20,2617 02041 TC -1CHK
015811,000537:
015812,000538: # MASKCHK FINISHES CHECKING MASK INSTRUCTION.
015813,000539: 20,2620 37663 MASKCHK CA S+7
015814,000540: 20,2621 54001 TS L
015815,000541: 20,2622 72014 MASK S-7 # $ MASK FIXED MEMORY
015816,000542: 20,2623 02032 TC +0CHK
015817,000543: 20,2624 37657 CA S+1
015818,000544: 20,2625 70001 MASK L # $ MASK SC
015819,000545: 20,2626 02040 TC +1CHK
015820,000546:
015821,000547: # NDX+SU FINISHES CHECKING BOTH INDEX INSTRUCTIONS. ALSO CHECKS ALL OF SU
015822,000548: # EXCEPT RB WG.
Page 387 |
015824,000550: 20,2627 37657 NDX+SU CA S+1
015825,000551: 20,2630 54001 TS L
015826,000552: 20,2631 55371 TS SKEEP1
015827,000553: 20,2632 50000 NDX A # $ NDX SC
015828,000554: 20,2633 60000 AD 0000 # AD L, +2
015829,000555: 20,2634 00006 EXTEND
015830,000556: 20,2635 61371 SU SKEEP1 # $ SU ERASABLE
015831,000557: 20,2636 02040 TC +1CHK
015832,000558: 20,2637 00006 EXTEND
015833,000559: 20,2640 50001 NDX L # $ NDX SC
015834,000560: 20,2641 60000 SU 0000 # $ SU SC, SU L
015835,000561: 20,2642 02041 TC -1CHK
015836,000562:
015837,000563: # D--SC CHECKS DCS SC, DXCH SC, AND DCA SC.
015838,000564: 20,2643 37656 D--SC CA S+2
015839,000565: 20,2644 54001 TS L # +2
015840,000566: 20,2645 37657 CA S+1
015841,000567: 20,2646 00006 EXTEND
015842,000568: 20,2647 40001 DCS A # $ DCS SC, C(L) = -2
015843,000569: 20,2650 02041 TC -1CHK
015844,000570: # AFTER DXCH C(A) = B(Q) = +3, C(L) = B(A) = +0, C(Q) = B(L) = -1.
015845,000571: 20,2651 52002 DXCH L # $ DXCH SC
015846,000572: 20,2652 55373 TS SKEEP3
015847,000573: 20,2653 60002 AD Q
015848,000574: 20,2654 02040 TC +1CHK
015849,000575: 20,2655 30001 CA L
015850,000576: 20,2656 02032 TC +0CHK
015851,000577: 20,2657 37667 CA S-1
015852,000578: 20,2660 54002 TS Q
015853,000579: 20,2661 40000 CS A
015854,000580: 20,2662 00006 EXTEND
015855,000581: # AFTER DCA C(A) = C(L) = C(Q) = B(Q) = -1.
015856,000582: 20,2663 30002 DCA L # $ DCA SC
015857,000583: 20,2664 60002 AD Q
015858,000584: 20,2665 61373 AD SKEEP3
015859,000585: 20,2666 02040 TC +1CHK
015860,000586: 20,2667 30001 CA L
015861,000587: 20,2670 02041 TC -1CHK
015862,000588:
015863,000589: # D--LCHK CHECKS THAT OVERFLOW IS LOST IN PROCESS OF GOING THROUGH L REG.
015864,000590: # ALSO CHECKS THAT Q WILL HOLD 16 BITS
015865,000591: 20,2671 37670 D--LCHK CA S-2
015866,000592: 20,2672 54002 TS Q
015867,000593: 20,2673 33432 CA S-MAX
015868,000594: 20,2674 26002 ADS Q
015869,000595: 20,2675 40002 CS Q
015870,000596: 20,2676 54000 TS A
015871,000597: 20,2677 02020 TC ERRORS
015872,000598: 20,2700 00006 EXTEND
015873,000599: 20,2701 30002 DCA L
Page 388 |
015875,000601: 20,2702 54000 TS A
015876,000602: 20,2703 02705 TC +2
015877,000603: 20,2704 02020 TC ERRORS
015878,000604: 20,2705 02041 TC -1CHK
015879,000605:
015880,000606: # CHECKS OVERFLOW, UNDERFLOW,END-AROUND-CARRY, AND SIGN CHANGE OF ADDER.
015881,000607: # ALSO CHECKS ADS SC WITH OVERFLOW AND TS A WITH UNDERFLOW
015882,000608: 20,2706 37642 ADDRCHK CA SBIT14 # 20000
015883,000609: 20,2707 54002 TS Q
015884,000610: 20,2710 26002 ADS Q # $ ADS SC, OVERFLOW
015885,000611: 20,2711 26002 ADS Q # UNDERFLOW
015886,000612: 20,2712 54000 TS A # $ TS SC WITH UNDERFLOW
015887,000613: 20,2713 02020 TC ERRORS
015888,000614: 20,2714 26002 ADS Q
015889,000615: 20,2715 02040 TC +1CHK
015890,000616:
015891,000617: # RUPTCHK CHECKS THAT INTERRUPT DOES NOT OCCUR WHILE OVERFLOW OR UNDERFLOW
015892,000618: # IS IN THE A REGISTER. ALSO CHECKS THAT INHINT RELINT WORK PROPERLY.
015893,000619: 20,2716 00004 RUPTCHK INHINT
015894,000620: 20,2717 37665 CA S+ZERO
015895,000621: 20,2720 54015 TS ZRUPT
015896,000622: 20,2721 00003 RELINT
015897,000623: 20,2722 60027 AD TIME4
015898,000624: 20,2723 55371 TS SKEEP1
015899,000625: 20,2724 41371 TENMS CS SKEEP1
015900,000626: 20,2725 60027 AD TIME4 # WAIT FOR NEXT TIME4 INCREMENT
015901,000627: 20,2726 00006 EXTEND
015902,000628: 20,2727 12724 BZF TENMS
015903,000629: 20,2730 00004 INHINT
015904,000630: 20,2731 30015 CA ZRUPT
015905,000631: 20,2732 00006 EXTEND
015906,000632: 20,2733 12735 BZF +2 # NO INTERRUPT.
015907,000633: 20,2734 02716 TC RUPTCHK # THERE WAS AN INTERRUPT. START AGAIN.
015908,000634: 20,2735 37657 CAF S+1 # 2 1/2 MS UNTILE NEXT T3 INTERRUPT.
015909,000635: 20,2736 04536 TC WAITLIST
015910,000636: 20,2737 E3,1400 EBANK= LST1
015911,000637: 20,2737 02762 40003 2CADR TSKADRS
015912,000638:
015913,000639: 20,2741 33431 CA S+MAX
015914,000640: 20,2742 62010 AD OVCON # CONTROLS TIME SPENT IN OF-UF LOOP
015915,000641: 20,2743 00003 RELINT
015916,000642: 20,2744 40000 WAIT CS A
015917,000643: 20,2745 10000 CCS A
015918,000644: 20,2746 02752 TC INHNTCHK
015919,000645: 20,2747 02756 RUPTCON ADRES C(BRUPT)
015920,000646: 20,2750 67656 AD S+2
015921,000647: 20,2751 02744 TC WAIT
015922,000648: 20,2752 00004 INHNTCHK INHINT # T3 RUPT SHOULD BE WAITING
015923,000649: 20,2753 55375 TS SKEEP5
015924,000650: 20,2754 02020 TC ERRORS
Page 389 |
015926,000652: 20,2755 00003 RELINT
015927,000653: 20,2756 40015 C(BRUPT) CS ZRUPT # INTERRUPT SHOULD HAPPEN HERE
015928,000654: 20,2757 00006 EXTEND
015929,000655: 20,2760 12020 BZF ERRORS # MAKES SURE AN INTERRUPT DID HAPPEN
015930,000656: 20,2761 02766 TC +5 # END OF RUPTCHK
015931,000657: 20,2762 40015 TSKADRS CS ZRUPT
015932,000658: 20,2763 62747 AD RUPTCON
015933,000659: 20,2764 02041 TC -1CHK
015934,000660: 20,2765 04602 TC TASKOVER
015935,000661:
015936,000662: 20,2766 02047 TC SMODECHK
015937,000663:
015938,000664: # IN-OUT1 CHECKS ALL PULSES OF WRITE AND READ
015939,000665: 20,2767 37667 IN-OUT1 CA S-1
015940,000666: 20,2770 00006 WRITECHK EXTEND
015941,000667: 20,2771 01002 WRITE Q
015942,000668: 20,2772 22002 LXCH Q # PUT C(Q) IN L
015943,000669: 20,2773 02041 TC -1CHK
015944,000670: 20,2774 00006 READCHK EXTEND # C(L) = 77776
015945,000671: 20,2775 00001 READ L
015946,000672: 20,2776 02041 TC -1CHK
015947,000673: 20,2777 30001 CA L
015948,000674: 20,3000 02041 TC -1CHK
015949,000675:
015950,000676: # IN-OUT2 CHECKS ALL PULSES OF ROR AND WOR
015951,000677: 20,3001 46165 IN-OUT2 CS S+3
015952,000678: 20,3002 54001 RORCHK TS L # 77774
015953,000679: 20,3003 32011 CA DVCON # 37776
015954,000680: 20,3004 00006 EXTEND
015955,000681: 20,3005 04001 ROR L # $ ROR, -1
015956,000682: 20,3006 02041 TC -1CHK
015957,000683: 20,3007 32011 WORCHK CA DVCON # C(L) STILL 77774
015958,000684: 20,3010 00006 EXTEND
015959,000685: 20,3011 05001 WOR L # $ WOR, -1
015960,000686: 20,3012 02041 TC -1CHK
015961,000687: 20,3013 30001 CA L
015962,000688: 20,3014 02041 TC -1CHK
015963,000689:
015964,000690: # IN-OUT3 CHECKS ALL PULSES OF RAND, WAND, AND RXOR
015965,000691: 20,3015 42011 IN-OUT3 CS DVCON
015966,000692: 20,3016 54001 RANDCHK TS L # 40001
015967,000693: 20,3017 32006 CA S13BITS # 17777
015968,000694: 20,3020 00006 EXTEND
015969,000695: 20,3021 02001 RAND L # $ RAND, +1
015970,000696: 20,3022 02040 TC +1CHK
015971,000697: 20,3023 32006 WANDCHK CA S13BITS # C(L) STILL 40001
015972,000698: 20,3024 00006 EXTEND
015973,000699: 20,3025 03001 WAND L # $ WAND, +1
015974,000700: 20,3026 02040 TC +1CHK
015975,000701: 20,3027 47664 CS S+5
Page 390 |
015977,000703: 20,3030 56001 XCH L # ALSO PUT -5 IN L FOR RXORCHK
015978,000704: 20,3031 02040 TC +1CHK
015979,000705: 20,3032 36162 RXORCHK CA S+6
015980,000706: 20,3033 00006 EXTEND
015981,000707: 20,3034 06001 RXOR L # $ RXOR, -3
015982,000708: 20,3035 67656 AD S+2
015983,000709: 20,3036 02041 TC -1CHK
015984,000710: 20,3037 30001 CA L
015985,000711: 20,3040 67655 AD S+4
015986,000712: 20,3041 02041 TC -1CHK
015987,000713:
015988,000714: 20,3042 02047 TC SMODECHK
015989,000715:
015990,000716: # COUNTCHK COUNTS UP 14 BIT NUMBER WITH SIGN.
015991,000717: # TAKES APPROXIMATELY 8.7 SECONDS.
015992,000718: # ** PUT IN CCS NEWJOB FOR ROPE.
015993,000719: 20,3043 00006 COUNTCHK EXTEND
015994,000720: 20,3044 33432 DCA S+MAX
015995,000721: 20,3045 53377 DXCH SKEEP6 # PUT 37777 IN SKEEP6 AND 40000 IN SKEEP7
015996,000722: 20,3046 31376 +LOOP CA SKEEP6
015997,000723: 20,3047 56002 XCH Q
015998,000724: 20,3050 00006 EXTEND
015999,000725: 20,3051 40002 DCS L
016000,000726: 20,3052 10000 CCS A
016001,000727: 20,3053 03062 TC -NMBR
016002,000728: 20,3054 03067 TC ENDCOUNT
016003,000729: 20,3055 55376 TS SKEEP6
016004,000730: 20,3056 61377 AD SKEEP7
016005,000731: 20,3057 02041 TC -1CHK
016006,000732: 20,3060 25377 INCR SKEEP7
016007,000733: 20,3061 03046 TC +LOOP
016008,000734: 20,3062 60001 -NMBR AD L
016009,000735: 20,3063 02041 TC -1CHK
016010,000736: 20,3064 04457 TC CHECKNJ # CHECK FOR NEW JOB
016011,000737: 20,3065 41376 CS SKEEP6
016012,000738: 20,3066 03047 TC +LOOP +1
016013,000739: 20,3067 31377 ENDCOUNT CA SKEEP7 # -0
016014,000740: 20,3070 61376 AD SKEEP6 # SKEEP6 SHOULD BE +0
016015,000741: 20,3071 02033 TC -0CHK
016016,000742:
016017,000743: # O-UFLOW COUNTS DOWN OVERFLOW AND UNDERFLOW NUMBERS.
016018,000744: # TAKES APPROXIMATELY 10.8 SECONDS
016019,000745: 20,3072 33432 O-UFLOW CA S-MAX
016020,000746: 20,3073 55375 TS SKEEP5 # 40000
016021,000747: 20,3074 40000 CS A
016022,000748: 20,3075 00004 OFLOOP INHINT
016023,000749: 20,3076 63431 AD S+MAX
016024,000750: 20,3077 67657 AD S+1
016025,000751: 20,3100 56002 XCH Q
016026,000752: 20,3101 10002 CCS Q
Page 391 |
016028,000754: 20,3102 03117 TC -NMBRS
016029,000755: 20,3103 02020 TC ERRORS # CAN PUT IN CONSTANT
016030,000756: 20,3104 55373 TS SKEEP3
016031,000757: 20,3105 02020 TC ERRORS
016032,000758: 20,3106 31373 CA SKEEP3
016033,000759: 20,3107 61375 AD SKEEP5
016034,000760: 20,3110 02041 TC -1CHK
016035,000761: 20,3111 00003 RELINT
016036,000762: 20,3112 04457 TC CHECKNJ # CHECK FOR NEW JOB
016037,000763: 20,3113 31374 CA SKEEP4
016038,000764: 20,3114 00006 EXTEND
016039,000765: 20,3115 27375 DIM SKEEP5
016040,000766: 20,3116 03075 TC OFLOOP
016041,000767: 20,3117 55374 -NMBRS TS SKEEP4
016042,000768: 20,3120 03130 TC ENDOFUF
016043,000769: 20,3121 31374 CA SKEEP4
016044,000770: 20,3122 61375 AD SKEEP5
016045,000771: 20,3123 02041 TC -1CHK
016046,000772: 20,3124 31375 CA SKEEP5
016047,000773: 20,3125 63432 AD S-MAX
016048,000774: 20,3126 67667 AD S-1
016049,000775: 20,3127 03100 TC OFLOOP +3
016050,000776: 20,3130 31375 ENDOFUF CA SKEEP5
016051,000777: 20,3131 02033 TC -0CHK
016052,000778: 20,3132 41374 CS SKEEP4
016053,000779: 20,3133 62011 AD DVCON
016054,000780: 20,3134 02041 TC -1CHK
016055,000781: 20,3135 00003 RELINT
016056,000782:
016057,000783: 20,3136 02047 TC SMODECHK
016058,000784:
016059,000785: # SKEEP7 HOLDS LOWEST OF TWO ADDRESSES BEING CHECKED.
016060,000786: # SKEEP6 HOLDS B(X+1).
016061,000787: # SKEEP5 HOLDS B(X).
016062,000788: # SKEEP4 CONTROLS CHECKING OF NON-SWITCHABLE ERASABLE MEMORY WITH
016063,000789: # BANK NUMBERS IN EB.
016064,000790: # SKEEP3 HOLDS LAST ADDRESS BEING CHECKED (HIGHEST ADDRESS).
016065,000791: # SKEEP2 HOLDS C(EBANK) DURING CHECKNJ
016066,000792: # ERASCHK TAKES APPROXMATELY 7 SECONDS
016067,000793: 20,3137 37657 ERASCHK CA S+1
016068,000794: 20,3140 55374 TS SKEEP4
016069,000795: 20,3141 37665 0EBANK CA S+ZERO
016070,000796: 20,3142 54003 TS EBANK
016071,000797: 20,3143 32004 CA ERASCON3 # 01462
016072,000798: 20,3144 55377 TS SKEEP7 # STARTING ADDRESS
016073,000799: 20,3145 36426 CA S10BITS # 01777
016074,000800: 20,3146 55373 TS SKEEP3 # LAST ADDRESS CHECKED
016075,000801: 20,3147 03167 TC ERASLOOP
016076,000802:
016077,000803: 20,3150 32003 E134567B CA ERASCON6 # 01400
Page 392 |
016079,000805: 20,3151 55377 TS SKEEP7 # STARTING ADDRESS
016080,000806: 20,3152 36426 CA S10BITS # 01777
016081,000807: 20,3153 55373 TS SKEEP3 # LAST ADDRESS CHECKED
016082,000808: 20,3154 03167 TC ERASLOOP
016083,000809:
016084,000810: 20,3155 32003 2EBANK CA ERASCON6 # 01400
016085,000811: 20,3156 55377 TS SKEEP7 # STARTING ADDRESS
016086,000812: 20,3157 32005 CA ERASCON4 # 01774
016087,000813: 20,3160 55373 TS SKEEP3 # LAST ADDRESS CHECKED
016088,000814: 20,3161 03167 TC ERASLOOP
016089,000815:
016090,000816: 20,3162 55374 NOEBANK TS SKEEP4 # +0
016091,000817: 20,3163 32001 CA ERASCON1 # 00062
016092,000818: 20,3164 55377 TS SKEEP7 # STARTING ADDRESS
016093,000819: 20,3165 32002 CA ERASCON2 # 01374
016094,000820: 20,3166 55373 TS SKEEP3 # LAST ADDRESS CHECKED
016095,000821:
016096,000822: 20,3167 00004 ERASLOOP INHINT
016097,000823: 20,3170 31377 CA SKEEP7
016098,000824: 20,3171 54001 TS L
016099,000825: 20,3172 24001 INCR L
016100,000826: 20,3173 50000 NDX A
016101,000827: 20,3174 52001 DXCH 0000 # PUTS OWN ADDRESS IN X AND X +1
016102,000828: 20,3175 53376 DXCH SKEEP5 # STORES C(X) AND C(X-1) IN SKEEP6 AND 5
016103,000829: 20,3176 51377 NDX SKEEP7
016104,000830: 20,3177 40001 CS 0001 # CS X+1
016105,000831: 20,3200 51377 NDX SKEEP7
016106,000832: 20,3201 60000 AD 0000 # AD X
016107,000833: 20,3202 02041 TC -1CHK
016108,000834: 20,3203 00006 EXTEND
016109,000835: 20,3204 51377 NDX SKEEP7
016110,000836: 20,3205 40001 DCS 0000 # COMPLEMENT OF ADDRESS OF X AND X+1
016111,000837: 20,3206 51377 NDX SKEEP7
016112,000838: 20,3207 52001 DXCH 0000 # PUT COMPLEMENT OF ADDRESS OF X AND X+1
016113,000839: 20,3210 51377 NDX SKEEP7
016114,000840: 20,3211 40000 CS 0000 # CS X
016115,000841: 20,3212 51377 NDX SKEEP7
016116,000842: 20,3213 60001 AD 0001 # AD X+1
016117,000843: 20,3214 02041 TC -1CHK
016118,000844: 20,3215 53376 DXCH SKEEP5
016119,000845: 20,3216 51377 NDX SKEEP7
016120,000846: 20,3217 52001 DXCH 0000 # PUT B(X) AND B(X+1) BACK INTO X AND X+1
016121,000847: 20,3220 00003 RELINT
016122,000848: 20,3221 30003 CA EBANK # STORES C(EBANK)
016123,000849: 20,3222 55372 TS SKEEP2
016124,000850: 20,3223 04457 TC CHECKNJ # CHECK FOR NEW JOB
016125,000851: 20,3224 31372 CA SKEEP2 # REPLACES B(EBANK)
016126,000852: 20,3225 54003 TS EBANK
016127,000853: 20,3226 25377 INCR SKEEP7
016128,000854: 20,3227 41377 CS SKEEP7
Page 393 |
016130,000856: 20,3230 61373 AD SKEEP3
016131,000857: 20,3231 00006 EXTEND
016132,000858: 20,3232 13234 BZF +2
016133,000859: 20,3233 03167 TC ERASLOOP # GO TO NEXT ADDRESS IN SAME BANK
016134,000860: 20,3234 11374 CCS SKEEP4
016135,000861: 20,3235 03162 TC NOEBANK
016136,000862: 20,3236 25374 INCR SKEEP4 # PUT +1 IN SKEEP4
016137,000863: 20,3237 30003 CA EBANK
016138,000864: 20,3240 67647 AD SBIT9
016139,000865: 20,3241 54003 TS EBANK
016140,000866: 20,3242 62013 AD ERASCON5 # 76377 CHECK FOR BANK E3
016141,000867: 20,3243 00006 EXTEND
016142,000868: 20,3244 13155 BZF 2EBANK
016143,000869: 20,3245 10003 CCS EBANK
016144,000870: 20,3246 03150 TC E134567B # GO TO EBANKS 1,3,4,5,6, AND 7
016145,000871: 20,3247 32003 CA ERASCON6 # END OF ERASCHK
016146,000872: 20,3250 54003 TS EBANK
016147,000873: # CNTRCHK PERFORMS A CS OF ALL REGISTERS FROM OCT. 61 THROUGH OCT. 10.
016148,000874: # INCLUDED ARE ALL COUNTERS, T6-1, CYCLE AND SHIFT, AND ALL RUPT REGISTERS
016149,000875: 20,3251 32000 CNTRCHK CAF CNTRCON # 00051
016150,000876: 20,3252 55372 CNTRLOOP TS SKEEP2
016151,000877: 20,3253 67654 AD SBIT4 # +10 OCTAL
016152,000878: 20,3254 50000 INDEX A
016153,000879: 20,3255 40000 CS 0000
016154,000880: 20,3256 11372 CCS SKEEP2
016155,000881: 20,3257 03252 TC CNTRLOOP
016156,000882:
016157,000883: # CYCLSHFT CHECKS THE CYCLE AND SHIFT REGISTERS
016158,000884: 20,3260 32007 CYCLSHFT CA CONC+S1 # 25252
016159,000885: 20,3261 54020 TS CYR # C(CYR) = 12525
016160,000886: 20,3262 54022 TS CYL # C(CYL) = 52524
016161,000887: 20,3263 54021 TS SR # C(SR) = 12525
016162,000888: 20,3264 54023 TS EDOP # C(EDOP) = 00125
016163,000889: 20,3265 60020 AD CYR # 37777 C(CYR) = 45252
016164,000890: 20,3266 60022 AD CYL # 00-12524 C(CYL) = 25251
016165,000891: 20,3267 60021 AD SR # 00-25251 C(SR) = 05252
016166,000892: 20,3270 60023 AD EDOP # 00-25376 C(EDOP) = +0
016167,000893: 20,3271 62012 AD CONC+S2 # C(CONC+S2) = 52400
016168,000894: 20,3272 02041 TC -1CHK
016169,000895: 20,3273 60020 AD CYR # 45252
016170,000896: 20,3274 60022 AD CYL # 72523
016171,000897: 20,3275 60021 AD SR # 77775
016172,000898: 20,3276 60023 AD EDOP # 77775
016173,000899: 20,3277 67657 AD S+1 # 77776
016174,000900: 20,3300 02041 TC -1CHK
016175,000901:
016176,000902: 20,3301 25367 INCR SCOUNT +1
016177,000903: 20,3302 02047 TC SMODECHK
016178,000904: 20,3303 03307 TC ROPECHK
016179,000905:
Page 394 |
016181,000907: # SKEEP1 HOLDS SUM
016182,000908: # SKEEP2 HOLDS PRESENT CONTENTS OF ADDRESS IN ROPECHK AND SHOWSUM ROUTINES
016183,000909: # SKEEP2 HOLDS BANK NUMBER IN LOW ORDER BITS DURING SHOWSUM DISPLAY
016184,000910: # SKEEP3 HOLDS PRESENT ADDRESS (00000 TO 01777 IN COMMON FIXED BANKS)
016185,000911: # (04000 TO 07777 IN FXFX BANKS)
016186,000912: # SKEEP3 HOLDS BUGGER WORD DURING SHOWSUM DISPLAY
016187,000913: # SKEEP4 HOLDS BANK NUMBER
016188,000914: # SKEEP5 COUNTS 2 SUCCESSIVE TC SELF WORDS
016189,000915: # SKEEP6 CONTROLS ROPECHK OR SHOWSUM OPTION
016190,000916: # SKEEP7 CONTROLS WHEN ROUNTINE IS IN COMMON FIXED OR FIXED FIXED BANKS
016191,000917:
016192,000918: 20,3304 05304 STSHOSUM TC GRABDSP
016193,000919: 20,3305 05312 TC PREGBSY
016194,000920: 20,3306 03311 TC +3
016195,000921: 20,3307 37666 ROPECHK CA S-ZERO
016196,000922: 20,3310 55376 TS SKEEP6 # ROPECHK OPTION
016197,000923: 20,3311 37665 CA S+ZERO
016198,000924: 20,3312 55374 TS SKEEP4 # BANK NUMBER
016199,000925: 20,3313 37657 CA S+1
016200,000926: 20,3314 55377 COMMFX TS SKEEP7
016201,000927: 20,3315 37665 CA S+ZERO
016202,000928: 20,3316 55371 TS SKEEP1
016203,000929: 20,3317 55373 TS SKEEP3
016204,000930: 20,3320 37657 CA S+1
016205,000931: 20,3321 55375 TS SKEEP5 # COUNTS DOWN 2 TC SELF WORDS
016206,000932: 20,3322 31373 COMADRS CA SKEEP3
016207,000933: 20,3323 61374 AD SKEEP4
016208,000934: 20,3324 04116 TC DATACALL
016209,000935: 20,3325 03351 TC ADSUM
016210,000936: 20,3326 67645 AD SBIT11 # 02000
016211,000937: 20,3327 03362 TC ADRSCHK
016212,000938:
016213,000939: 20,3330 40000 FXFX CS A
016214,000940: 20,3331 55377 TS SKEEP7
016215,000941: 20,3332 00006 EXTEND
016216,000942: 20,3333 13336 BZF +3
016217,000943: 20,3334 37644 CA SBIT12 # 04000, STARTING ADDRESS OF BANK 02
016218,000944: 20,3335 03337 TC +2
016219,000945: 20,3336 34506 CA SBNK03 # 06000, STARTING ADDRESS OF BANK 03
016220,000946: 20,3337 55373 TS SKEEP3
016221,000947: 20,3340 37665 CA S+ZERO
016222,000948: 20,3341 55371 TS SKEEP1
016223,000949: 20,3342 37657 CA S+1
016224,000950: 20,3343 55375 TS SKEEP5 # COUNTS DOWN 2 TC SELF WORDS
016225,000951: 20,3344 00006 FXADRS EXTEND
016226,000952: 20,3345 51373 NDX SKEEP3
016227,000953: 20,3346 30001 DCA 0000
016228,000954: 20,3347 03351 TC ADSUM
016229,000955: 20,3350 03362 TC ADRSCHK
016230,000956:
Page 395 |
016232,000958: 20,3351 55372 ADSUM TS SKEEP2
016233,000959: 20,3352 61371 AD SKEEP1
016234,000960: 20,3353 55371 TS SKEEP1
016235,000961: 20,3354 37665 CAF S+ZERO
016236,000962: 20,3355 61371 AD SKEEP1
016237,000963: 20,3356 55371 TS SKEEP1
016238,000964: 20,3357 41372 CS SKEEP2
016239,000965: 20,3360 61373 AD SKEEP3
016240,000966: 20,3361 00002 TC Q
016241,000967:
016242,000968: 20,3362 10000 ADRSCHK CCS A
016243,000969: 20,3363 03373 TC CONTINU
016244,000970: 20,3364 03373 TC CONTINU
016245,000971: 20,3365 03373 TC CONTINU
016246,000972: 20,3366 11375 CCS SKEEP5
016247,000973: 20,3367 03374 TC CONTINU +1
016248,000974: 20,3370 30001 CA L
016249,000975: 20,3371 03351 TC ADSUM
016250,000976: 20,3372 03434 TC SOPTION # GO TO ROPECHK SHOSUM OPTION
016251,000977: 20,3373 37657 CONTINU CA S+1 # MAKE SURE TWO CONSECUTIVE TC SELF WORDS
016252,000978: 20,3374 55375 TS SKEEP5
016253,000979: 20,3375 11376 CCS SKEEP6 # +1 IN SKEEP6, SHOWSUM VIA EXECUTIVE
016254,000980: 20,3376 10067 CCS NEWJOB
016255,000981: 20,3377 04404 TC CHANG1
016256,000982: 20,3400 03402 TC +2
016257,000983: 20,3401 04457 TC CHECKNJ # -0 IN SKEEP6 FOR ROPECHK
016258,000984:
016259,000985: 20,3402 25373 ADRS+1 INCR SKEEP3
016260,000986: 20,3403 11377 CCS SKEEP7
016261,000987: 20,3404 03322 TC COMADRS
016262,000988: 20,3405 03322 TC COMADRS
016263,000989: 20,3406 03344 TC FXADRS
016264,000990: 20,3407 03344 TC FXADRS
016265,000991:
016266,000992: 20,3410 31374 NXTBNK CA SKEEP4
016267,000993: 20,3411 67645 AD SBIT11
016268,000994: 20,3412 55374 TS SKEEP4
016269,000995: 20,3413 03416 TC +3
016270,000996: 20,3414 37641 CA SBIT15
016271,000997: 20,3415 55374 TS SKEEP4
016272,000998: 20,3416 63437 AD NOBANKNO # FIRST BANK NOT USED.
016273,000999: 20,3417 00006 EXTEND
016274,001000: 20,3420 13427 BZF ENDSUMS
016275,001001: 20,3421 11377 CCS SKEEP7
016276,001002: 20,3422 03314 TC COMMFX
016277,001003: 20,3423 37657 CA S+1
016278,001004: 20,3424 03330 TC FXFX
016279,001005: 20,3425 37651 CA SBIT7 # CAN BE ANY NUMBER LARGER THAN 36 DECIMAL
016280,001006: 20,3426 03314 TC COMMFX
016281,001007:
Page 396 |
016283,001009: 20,3427 11376 ENDSUMS CCS SKEEP6
016284,001010: 20,3430 03311 TC ROPECHK +2 # START SHOWSUM AGAIN
016285,001011: 20,3431 37777 S+MAX OCTAL 37777 # ** S+MAX AND S-MAX MUST BE TOGETHER
016286,001012: 20,3432 40000 S-MAX OCTAL 40000 # FOR DOUBLE PRECISION CHECKING.
016287,001013: 20,3433 03515 TC MPNMBRS -1 # ROPECHK IS COMPLETED
016288,001014:
016289,001015: 20,3434 11376 SOPTION CCS SKEEP6 # DECIDE ON ROPECHK OR SHOWSUM OPTION
016290,001016: 20,3435 03471 TC SDISPLAY
016291,001017: 20,3436 00501 VNCON OCTAL 00501 # USED IN SHOWSUM. DISPLAY 3 REGISTERS.
016292,001018: 20,3437 33777 NOBANKNO OCTAL 33777 # * CONSTANT, COMPLEMENT OF LAST BANK +1.
016293,001019: # CHANGE TO 33777 IF BANK 21 IS LAST BANK USED
016294,001020: 20,3440 11371 BNKCHK CCS SKEEP1 # WHEN C(SKEEP6) = -0
016295,001021: 20,3441 03445 TC +4
016296,001022: 20,3442 41471 SCADR FCADR SDISPLAY # * CONSTANT, USED IN SHOWSUM ONLY
016297,001023: 20,3443 03445 TC +2
016298,001024: 20,3444 37667 CA S-1 # FOR BANK 00
016299,001025: 20,3445 55371 TS SKEEP1
016300,001026: 20,3446 31374 CA SKEEP4
016301,001027: 20,3447 05207 TC LEFT5
016302,001028: 20,3450 40000 CS A
016303,001029: 20,3451 61371 AD SKEEP1
016304,001030: 20,3452 02041 TC -1CHK
016305,001031: 20,3453 03410 TC NXTBNK
016306,001032:
016307,001033: # INITIALIZE SKEEP6 TO +1 TO PERFORM SHOWSUM
016308,001034: # START OF ROUTINE THAT DISPLAYS SUM OF EACH BANK
016309,001035: 20,3454 37657 SHOWSUM CAF S+1
016310,001036: 20,3455 55376 TS SKEEP6 # SHOWSUM OPTION
016311,001037: 20,3456 37665 CAF S+ZERO
016312,001038: 20,3457 55361 TS SMODE # PUT SELF-CHECK TO SLEEP
016313,001039: 20,3460 32017 CA SELFADRS # INITIALIZE SELFRET TO GO TO SELFCHK.
016314,001040: 20,3461 55360 TS SELFRET
016315,001041: 20,3462 00004 INHINT
016316,001042: 20,3463 37645 CAF PRIO2
016317,001043: 20,3464 04363 TC NOVAC
016318,001044: 20,3465 1360 EBANK= SELFRET
016319,001045: 20,3465 03304 40002 2CADR STSHOSUM
016320,001046:
016321,001047: 20,3467 00003 RELINT
016322,001048: 20,3470 04440 TC ENDOFJOB
016323,001049:
016324,001050: 20,3471 31374 SDISPLAY CA SKEEP4
016325,001051: 20,3472 05207 TC LEFT5 # CYCLES LEFT 5 PLACES
016326,001052: 20,3473 57372 XCH SKEEP2 # SKEEP2 HOLDS BANK NUMBER DURING DISPLAY
016327,001053: 20,3474 55373 TS SKEEP3 # SKEEP3 HOLDS BUGGER WORD DURING DISPLAY
016328,001054: 20,3475 32015 NOKILL CAF ADRS1 # ADDRESS OF SKEEP1
016329,001055: 20,3476 54142 TS MPAC +2
016330,001056: 20,3477 33436 CAF VNCON # DISPLAY 3 REGISTERS
016331,001057: 20,3500 05107 TC NVSUB
016332,001058: 20,3501 03513 TC SBUSY
Page 397 |
016334,001060: 20,3502 05274 TC FLASHON
016335,001061: 20,3503 05140 TC ENDIDLE
016336,001062: 20,3504 03507 TC +3 # FINISHED WITH SHOWSUM
016337,001063: 20,3505 03410 TC NXTBNK
016338,001064: 20,3506 03475 TC NOKILL # SO CAN LOAD WITHOUT KILLING SHOWSUM
016339,001065: 20,3507 05401 TC FREEDSP
016340,001066: 20,3510 32017 CA SELFADRS # INITIALIZE SKEEP1 TO GO TO SELFCHK.
016341,001067: 20,3511 55371 TS SKEEP1
016342,001068: 20,3512 04440 TC ENDOFJOB
016343,001069:
016344,001070: 20,3513 33442 SBUSY CAF SCADR
016345,001071: 20,3514 05327 TC NVSUBUSY
016346,001072:
016347,001073: 20,3515 02047 TC SMODECHK
016348,001074:
016349,001075: # MULTIPLY SUBROUTINE TAKES APPROXIMATELY 19 SECONDS.
016350,001076: # (37777) X (37777 THROUGH 00001)
016351,001077: # C(A) COUNTS DOWN. C(L) COUNTS UP.
016352,001078: 20,3516 33431 MPNMBRS CAF S+MAX
016353,001079: 20,3517 55372 TS SKEEP2
016354,001080: 20,3520 33431 CAF S+MAX
016355,001081: 20,3521 00006 EXTEND
016356,001082: 20,3522 71372 MP SKEEP2
016357,001083: 20,3523 60001 AD L # C(A) = 37777
016358,001084: 20,3524 63432 AD S-MAX
016359,001085: 20,3525 02033 TC -0CHK
016360,001086: 20,3526 04457 TC CHECKNJ # CHECK FOR NEW JOB
016361,001087: 20,3527 11372 CCS SKEEP2
016362,001088: 20,3530 55372 TS SKEEP2
016363,001089: 20,3531 11372 CCS SKEEP2
016364,001090: 20,3532 03520 TC MPNMBRS +2
016365,001091: # (-1) X (37777 THROUGH 00001)
016366,001092: 20,3533 33431 CAF S+MAX
016367,001093: 20,3534 55372 TS SKEEP2
016368,001094: 20,3535 37667 MPHIGH1 CAF S-1
016369,001095: 20,3536 00006 EXTEND
016370,001096: 20,3537 71372 MP SKEEP2 # C(A) = -0
016371,001097: 20,3540 02033 TC -0CHK
016372,001098: 20,3541 30001 CA L
016373,001099: 20,3542 61372 AD SKEEP2
016374,001100: 20,3543 02033 TC -0CHK
016375,001101: 20,3544 04457 TC CHECKNJ # CHECK FOR NEW JOB
016376,001102: 20,3545 11372 CCS SKEEP2
016377,001103: 20,3546 55372 TS SKEEP2
016378,001104: 20,3547 11372 CCS SKEEP2
016379,001105: 20,3550 03535 TC MPHIGH1
016380,001106:
016381,001107: # INTERCHANGE MULTIPLIER AND MULTIPLICAND
016382,001108: # (37777 THROUGH 00001) X (37777)
016383,001109: # C(A) COUNTS DOWN. C(L) COUNTS UP.
Page 398 |
016385,001111: 20,3551 33431 CAF S+MAX
016386,001112: 20,3552 55371 TS SKEEP1
016387,001113: 20,3553 31371 MPAGAIN CA SKEEP1
016388,001114: 20,3554 00006 EXTEND
016389,001115: 20,3555 73431 MP S+MAX
016390,001116: 20,3556 60001 AD L # C(A) = 37777
016391,001117: 20,3557 63432 AD S-MAX
016392,001118: 20,3560 02033 TC -0CHK
016393,001119: 20,3561 04457 TC CHECKNJ # CHECK FOR NEW JOB
016394,001120: 20,3562 11371 CCS SKEEP1
016395,001121: 20,3563 55371 TS SKEEP1
016396,001122: 20,3564 11371 CCS SKEEP1
016397,001123: 20,3565 03553 TC MPAGAIN
016398,001124: # (37777 THROUGH 00001) X (-1)
016399,001125: 20,3566 33431 CAF S+MAX
016400,001126: 20,3567 55371 TS SKEEP1
016401,001127: 20,3570 31371 MPHIGH2 CA SKEEP1
016402,001128: 20,3571 00006 EXTEND
016403,001129: 20,3572 77667 MP S-1
016404,001130: 20,3573 02033 TC -0CHK
016405,001131: 20,3574 30001 CA L
016406,001132: 20,3575 61371 AD SKEEP1
016407,001133: 20,3576 02033 TC -0CHK
016408,001134: 20,3577 04457 TC CHECKNJ # CHECK FOR NEW JOB
016409,001135: 20,3600 11371 CCS SKEEP1
016410,001136: 20,3601 55371 TS SKEEP1
016411,001137: 20,3602 11371 CCS SKEEP1
016412,001138: 20,3603 03570 TC MPHIGH2
016413,001139:
016414,001140: 20,3604 02047 TC SMODECHK
016415,001141:
016416,001142: # ONCE THROUGH DIVIDE SUBROUTINE TAKES APPROXIMATELY 0.01 SECOND.
016417,001143: # TOTAL TIME SPENT IN DIVIDE SUBROUTINE IS APPROXIMATELY 21.5 SECONDS
016418,001144: # DIVIDE +-/17777/ +-/37777/ BY +-/20000/. THE CONTENTS OF THE A REGISTER
016419,001145: # AND THE L REGISTER WILL HAVE OPPOSITE SIGNS BEFORE DIVISION. THE
016420,001146: # QUOTIENT SHOULD BE +-/37774/ DEPENDING ON THE SIGN OF A AND THE SIGN
016421,001147: # OF THE DIVISOR. THE REMAINDER = +-1 DEPENDING ON THE SIGN OF A
016422,001148: 20,3605 47644 DVCHECK CS SBIT12 # -(04000)
016423,001149: 20,3606 55374 TS SKEEP4
016424,001150: 20,3607 25374 DVLOOP INCR SKEEP4
016425,001151: 20,3610 37642 DV1CHK CA SBIT14 # 20000
016426,001152: 20,3611 55371 TS SKEEP1
016427,001153: 20,3612 40000 CS A
016428,001154: 20,3613 55372 TS SKEEP2
016429,001155: 20,3614 43431 DV1++ CS S+MAX
016430,001156: 20,3615 54001 TS L # 40000
016431,001157: 20,3616 32006 CA S13BITS
016432,001158: 20,3617 00006 EXTEND
016433,001159: 20,3620 11371 DV SKEEP1 # +37774, +1
016434,001160: 20,3621 55377 TS SKEEP7 # 37774
Page 399 |
016436,001162: 20,3622 33432 CA S-MAX
016437,001163: 20,3623 56001 XCH L # ALSO PUT 40000 IN L
016438,001164: 20,3624 02040 TC +1CHK
016439,001165: 20,3625 32006 DV1+- CA S13BITS # 17777
016440,001166: 20,3626 00006 EXTEND
016441,001167: 20,3627 11372 DV SKEEP2 # -37774, +1
016442,001168: 20,3630 61377 AD SKEEP7
016443,001169: 20,3631 02033 TC -0CHK
016444,001170: 20,3632 33431 CA S+MAX
016445,001171: 20,3633 56001 XCH L # ALSO PUT 37777 IN L
016446,001172: 20,3634 02040 TC +1CHK
016447,001173: 20,3635 42006 DV1-+ CS S13BITS # 60000
016448,001174: 20,3636 00006 EXTEND
016449,001175: 20,3637 11371 DV SKEEP1 # -37774, -1
016450,001176: 20,3640 55376 TS SKEEP6
016451,001177: 20,3641 61377 AD SKEEP7
016452,001178: 20,3642 02033 TC -0CHK
016453,001179: 20,3643 33431 CA S+MAX
016454,001180: 20,3644 56001 XCH L # ALSO PUT 37777 IN L
016455,001181: 20,3645 02041 TC -1CHK
016456,001182: 20,3646 42006 DV1-- CS S13BITS # 60000
016457,001183: 20,3647 00006 EXTEND
016458,001184: 20,3650 11372 DV SKEEP2 # +37774, -1
016459,001185: 20,3651 61376 AD SKEEP6
016460,001186: 20,3652 02033 TC -0CHK
016461,001187: 20,3653 33431 CA S+MAX
016462,001188: 20,3654 56001 XCH L # ALSO PUT 37777 IN L FOR DV2
016463,001189: 20,3655 02041 TC -1CHK
016464,001190: 20,3656 31376 CA SKEEP6 # -37774
016465,001191: 20,3657 67670 AD S-2 # -37776
016466,001192: 20,3660 63431 AD S+MAX
016467,001193: 20,3661 02040 TC +1CHK
016468,001194:
016469,001195: # DIVIDE +17777 + 37777 BY +20000. THE RESULT SHOULD BE +37777 WITH
016470,001196: # +17777 REMAINDER.
016471,001197: 20,3662 32006 DV2CHK CA S13BITS
016472,001198: 20,3663 00006 EXTEND
016473,001199: 20,3664 11371 DV SKEEP1
016474,001200: 20,3665 63432 AD S-MAX
016475,001201: 20,3666 02033 TC -0CHK
016476,001202: 20,3667 47642 CS SBIT14 # -20000
016477,001203: 20,3670 60001 AD L
016478,001204: 20,3671 02041 TC -1CHK
016479,001205:
016480,001206: # DIVIDE +37776 BY +37776. THE RESULT SHOULD BE +37777 AND THE
016481,001207: # REMAINDER SHOULD BE +37776.
016482,001208: 20,3672 37665 DV4CHK CA S+ZERO
016483,001209: 20,3673 54001 TS L
016484,001210: 20,3674 32011 CA DVCON
016485,001211: 20,3675 55371 TS SKEEP1 # 37776
Page 400 |
016487,001213: 20,3676 00006 EXTEND
016488,001214: 20,3677 11371 DV SKEEP1
016489,001215: 20,3700 40000 CS A
016490,001216: 20,3701 62011 AD DVCON
016491,001217: 20,3702 02041 TC -1CHK
016492,001218: 20,3703 30001 CA L # 37776
016493,001219: 20,3704 63432 AD S-MAX
016494,001220: 20,3705 02041 TC -1CHK
016495,001221:
016496,001222: # DIVIDE SAME (ZERO). THE CONTENTS OF THE A REGISTER AND L REGISTER WILL
016497,001223: # HAVE OPPOSITE SIGNS BEFORE DIVISION. THE QUOTIENT WILL BE + OR - MAX.,
016498,001224: # DEPENDING UPON THE SIGN OF THE L REGISTER AND THE SIGN OF THE DIVISOR.
016499,001225: # C(L) REMAINS THE SAME BECAUSE IT IS THE DIVIDEND.
016500,001226: 20,3706 37665 DV5CHK CA S+ZERO
016501,001227: 20,3707 55371 TS SKEEP1 # +0
016502,001228: 20,3710 54001 TS L
016503,001229: 20,3711 40000 CS A
016504,001230: 20,3712 55372 TS SKEEP2 # -0
016505,001231: 20,3713 00006 DV5++ EXTEND
016506,001232: 20,3714 11371 DV SKEEP1 # +37777, +0
016507,001233: 20,3715 55377 TS SKEEP7 # 37777
016508,001234: 20,3716 30001 CA L
016509,001235: 20,3717 02032 TC +0CHK
016510,001236: 20,3720 40000 DV5+- CS A
016511,001237: 20,3721 00006 EXTEND
016512,001238: 20,3722 11372 DV SKEEP2 # 40000, +0
016513,001239: 20,3723 55376 TS SKEEP6 # 40000
016514,001240: 20,3724 61377 AD SKEEP7
016515,001241: 20,3725 02033 TC -0CHK
016516,001242: 20,3726 40000 CS A
016517,001243: 20,3727 56001 XCH L # ALSO PUT -0 IN L
016518,001244: 20,3730 02032 TC +0CHK
016519,001245: 20,3731 00006 DV5-+ EXTEND
016520,001246: 20,3732 11371 DV SKEEP1 # 40000, -0
016521,001247: 20,3733 61377 AD SKEEP7
016522,001248: 20,3734 02033 TC -0CHK
016523,001249: 20,3735 30001 CA L
016524,001250: 20,3736 02033 TC -0CHK
016525,001251: 20,3737 00006 DV5-- EXTEND
016526,001252: 20,3740 11372 DV SKEEP2 # 37777, -0
016527,001253: 20,3741 61376 AD SKEEP6
016528,001254: 20,3742 02033 TC -0CHK
016529,001255: 20,3743 30001 CA L
016530,001256: 20,3744 02033 TC -0CHK
016531,001257: 20,3745 31376 CA SKEEP6 # CHECK QUOTIENT
016532,001258: 20,3746 62011 AD DVCON
016533,001259: 20,3747 02041 TC -1CHK
016534,001260:
016535,001261: 20,3750 04457 TC CHECKNJ # CHECK FOR NEW JOB
016536,001262: 20,3751 31374 CA SKEEP4
Page 401 |
016538,001264: 20,3752 00006 EXTEND
016539,001265: 20,3753 63607 BZMF DVLOOP
016540,001266: 20,3754 25370 INCR SCOUNT +2
016541,001267: 20,3755 02101 TC SELFCHK # START SELF-CHECK AGAIN
016542,001268:
016543,001269: 20,3756 ENDSLFS1 EQUALS
016544,001270:
016545,001271: 01,3000 SETLOC ENDFAILS
016546,001272:
016547,001273: 01,3000 55371 SBNKOPTN TS SKEEP1
016548,001274: 01,3001 40000 CS A # GO TO BACKUP IDLE LOOP IF C(SMODE) IS
016549,001275: 01,3002 67656 AD TWO # GREATER THAN OCTAL 11
016550,001276: 01,3003 00006 EXTEND
016551,001277: 01,3004 63013 BZMF TOSMODE -2
016552,001278: 01,3005 37665 CA S+ZERO # ZERO SMODE FOR OPTIONS ABOVE 8.
016553,001279: 01,3006 55361 TS SMODE
016554,001280: 01,3007 31371 CA SKEEP1
016555,001281: 01,3010 50000 NDX A
016556,001282: 01,3011 03011 TC SOPTON11 -1
016557,001283: 01,3012 03034 SOPTON11 TC DSKYCHK
016558,001284:
016559,001285: 01,3013 37665 CA S+ZERO
016560,001286: 01,3014 55361 TS SMODE
016561,001287: 01,3015 04102 TOSMODE TC POSTJUMP
016562,001288: 01,3016 40047 CADR SMODECHK
016563,001289:
016564,001290: # THE FOLLOWING CONSTANTS ARE USED BY DSKYCHK.
016565,001291: 01,3017 05265 DSKYCODE OCTAL 05265 # 00
016566,001292: 01,3020 04143 OCTAL 04143 # 11
016567,001293: 01,3021 05471 OCTAL 05471 # 22
016568,001294: 01,3022 05573 OCTAL 05573 # 33
016569,001295: 01,3023 04757 OCTAL 04757 # 44
016570,001296: 01,3024 05736 OCTAL 05736 # 55
016571,001297: 01,3025 05634 OCTAL 05634 # 66
016572,001298: 01,3026 05163 OCTAL 05163 # 77
016573,001299: 01,3027 05675 OCTAL 05675 # 88
016574,001300: 01,3030 05777 OCTAL 05777 # 99
016575,001301: 01,3031 07265 +-ZERO OCTAL 07265
016576,001302: 01,3032 00013 11DEC. OCTAL 00013
016577,001303:
016578,001304: # BITS 2 AND 6 TURN ON THE COMPUTER ACTIVITY AND VERB-NOUN FLASH.
016579,001305: 01,3033 00042 S11CHAN OCTAL 00042
016580,001306:
016581,001307: 01,3034 37661 DSKYCHK CAF TEN
016582,001308: 01,3035 55373 TS SKEEP3
016583,001309: 01,3036 00004 INHINT
016584,001310: 01,3037 37657 CAF S+1 # SET UP TEN MS INTERRUPT
016585,001311: 01,3040 04536 TC WAITLIST
016586,001312: 01,3041 03075 02003 2CADR NXTNMBR
016587,001313:
Page 402 |
016589,001315: 01,3043 00003 RELINT
016590,001316: 01,3044 03015 TC TOSMODE # GO TO IDLE LOOP
016591,001317:
016592,001318: 01,3045 55373 SDSPTAB TS SKEEP3
016593,001319: 01,3046 00004 INHINT
016594,001320: 01,3047 51373 NDX SKEEP3
016595,001321: 01,3050 43017 CS DSKYCODE
016596,001322: 01,3051 54307 SBLANKS TS DSPTAB
016597,001323: 01,3052 54310 TS DSPTAB +1
016598,001324: 01,3053 54311 TS DSPTAB +2
016599,001325: 01,3054 54312 TS DSPTAB +3
016600,001326: 01,3055 54313 TS DSPTAB +4
016601,001327: 01,3056 54314 TS DSPTAB +5
016602,001328: 01,3057 54315 TS DSPTAB +6
016603,001329: 01,3060 54316 TS DSPTAB +7
016604,001330: 01,3061 54317 TS DSPTAB +8D
016605,001331: 01,3062 54320 TS DSPTAB +9D
016606,001332: 01,3063 54321 TS DSPTAB +10D
016607,001333: 01,3064 33032 CA 11DEC.
016608,001334: 01,3065 54303 TS NOUT
016609,001335:
016610,001336: 01,3066 00004 DSKYWAIT INHINT
016611,001337: 01,3067 37646 CAF BIT10 # 5.12 SECOND WAIT
016612,001338: 01,3070 04536 TC WAITLIST
016613,001339: 01,3071 03075 02003 2CADR NXTNMBR
016614,001340:
016615,001341: 01,3073 00003 RELINT
016616,001342: 01,3074 04602 TC TASKOVER
016617,001343:
016618,001344: 01,3075 11373 NXTNMBR CCS SKEEP3
016619,001345: 01,3076 03045 TC SDSPTAB # 9 THROUGH 0
016620,001346: 01,3077 03104 TC -SIGN # -ZEROS
016621,001347: 01,3100 03121 TC +SIGN # +ZEROS
016622,001348: 01,3101 11372 CCS SKEEP2
016623,001349: 01,3102 03135 TC NODSPLAY # PUTS BLANKS IN DSKY DISPLAY
016624,001350: 01,3103 03141 TC LITESOUT # TURN OFF LIGHTS
016625,001351:
016626,001352: 01,3104 47657 -SIGN CS S+1
016627,001353: 01,3105 55373 TS SKEEP3
016628,001354: 01,3106 33033 CA S11CHAN # TURN ON VERB-NOUN FLASH
016629,001355: 01,3107 00006 EXTEND # AND COMPUTER ACTIVITY LIGHTS.
016630,001356: 01,3110 05011 WOR DSALMOUT
016631,001357: 01,3111 43031 CS +-ZERO
016632,001358: 01,3112 00004 INHINT
016633,001359: 01,3113 54307 TS DSPTAB
016634,001360: 01,3114 54312 TS DSPTAB +3
016635,001361: 01,3115 54314 TS DSPTAB +5
016636,001362: 01,3116 36165 CAF THREE
016637,001363: 01,3117 54303 TS NOUT
016638,001364: 01,3120 03066 TC DSKYWAIT
Page 403 |
016640,001366: 01,3121 47665 +SIGN CS ZERO
016641,001367: 01,3122 55373 TS SKEEP3
016642,001368: 01,3123 37657 CA S+1
016643,001369: 01,3124 55372 TS SKEEP2
016644,001370: 01,3125 00004 INHINT
016645,001371: 01,3126 43031 CS +-ZERO
016646,001372: 01,3127 54310 TS DSPTAB +1
016647,001373: 01,3130 54313 TS DSPTAB +4
016648,001374: 01,3131 54315 TS DSPTAB +6
016649,001375: 01,3132 36165 CAF THREE
016650,001376: 01,3133 54303 TS NOUT
016651,001377: 01,3134 03066 TC DSKYWAIT
016652,001378:
016653,001379: 01,3135 55372 NODSPLAY TS SKEEP2 # +0
016654,001380: 01,3136 47644 CS BIT12 # BLANKS
016655,001381: 01,3137 00004 INHINT
016656,001382: 01,3140 03051 TC SBLANKS # PUTS BLANKS IN ALL DISPLAYS
016657,001383:
016658,001384: 01,3141 43033 LITESOUT CS S11CHAN
016659,001385: 01,3142 00006 EXTEND
016660,001386: 01,3143 03011 WAND DSALMOUT # TURN OFF COMPUTER ACTIVITY LIGHT.
016661,001387: 01,3144 04602 TC TASKOVER # END OF DSKYCHK
016662,001388:
016663,001389: 01,3145 ENDSLFS2 EQUALS
End of include-file AGC_BLOCK_TWO_SELF-CHECK.agc. Parent file is MAIN.agc