Source Code

These source-code files were transcribed from a printout in Don Eyles's personal collection, scanned by archive.org, and financially sponsored by Mike Higgins. A team of volunteers performed the transcription and proof-reading. Note that the scanned page images are available at the Virtual AGC Project website, as well as higher-quality (but much larger) images at the Virtual AGC Project's section on archive.org. Report any problems by creating "issues" at the Virtual AGC Project's GitHub Repository.

Notations on the program listing read, in part:

	YUL SYSTEM FOR BLK2: REVISION 0 OF PROGRAM RETRED44 BY NASA 2021100
	JUL 9, 1965
Note that the date is the date of the printout, not the date of the program revision.

008324,000002:                                                                                                  ## Copyright:   Public domain.
008325,000003:                                                                                                  ## Filename:    AGC_BLK2_INSTRUCTION_CHECK.agc
008326,000004:                                                                                                  ## Purpose:     Part of the source code for Retread 44 (revision 0). It was
008327,000005:                                                                                                  ##              the very first program for the Block II AGC, created as an
008328,000006:                                                                                                  ##              extensive rewrite of the Block I program Sunrise.
008329,000007:                                                                                                  ##              This file is intended to be a faithful transcription, except
008330,000008:                                                                                                  ##              that the code format has been changed to conform to the
008331,000009:                                                                                                  ##              requirements of the yaYUL assembler rather than the
008332,000010:                                                                                                  ##              original YUL assembler.
008333,000011:                                                                                                  ## Reference:   pp. 210-242
008334,000012:                                                                                                  ## Assembler:   yaYUL
008335,000013:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
008336,000014:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
008337,000015:                                                                                                  ## Mod history: 2016-12-13 MAS  Created from Aurora 12 version.
008338,000016:                                                                                                  ##              2016-12-16 MAS  Began.
008339,000017:                                                                                                  ##              2016-12-17 MAS  Completed transcription.
008340,000018:                                                                                                  ##              2016-12-18 MAS  Typos.
008341,000019:                                                                                                  ##              2016-12-18 MAS  Added notes about bugs discovered in the
008342,000020:                                                                                                  ##                              tests present here.
008343,000021:                                                                                                  ##              2016-12-20 MAS  Fixed a typo in a program label.
008344,000022:                                                                                                  ##              2016-12-27 RSB  Proofed comment text using octopus/ProoferComments,
008345,000023:                                                                                                  ##                              and fixed errors found.
008346,000024: 

Page 210

008348,000026:    4663                                           SETLOC   ABORT      +1                         
008349,000027: 
008350,000028:                                                                                                  #  ADDRESSES OF ERASABLE REGISTERS
008351,000029:    4663           01034        ADRS1              ADRES    KEEP1                                 
008352,000030:    4664           01035        ADRS2              ADRES    KEEP2                                 
008353,000031:    4665           01036        ADRS3              ADRES    KEEP3                                 
008354,000032:    4666           02411        ADRS4              ADRES    SELF1                                 
008355,000033:    4667           02417        ADRS5              ADRES    SELF2                                 
008356,000034:    4670           04725        ADRS6              ADRES    S+MAX                                 
008357,000035:    4671           02473        ADRS7              ADRES    SELF3                                 
008358,000036: 
008359,000037:                                                                                                  #  CONSTANTS USED THROUGHOUT THE INSTRUCTIONS CHECK
008360,000038:    4672           00001        SBIT1              OCTAL    00001                                 
008361,000039:    4673           00002        SBIT2              OCTAL    00002                                 
008362,000040:    4674           00004        SBIT3              OCTAL    00004                                 
008363,000041:    4675           00010        SBIT4              OCTAL    00010                                 
008364,000042:    4676           00020        SBIT5              OCTAL    00020                                 
008365,000043:    4677           00040        SBIT6              OCTAL    00040                                 
008366,000044:    4700           00100        SBIT7              OCTAL    00100                                 
008367,000045:    4701           00200        SBIT8              OCTAL    00200                                 
008368,000046:    4702           00400        SBIT9              OCTAL    00400                                 
008369,000047:    4703           01000        SBIT10             OCTAL    01000                                 
008370,000048:    4704           02000        SBIT11             OCTAL    02000                                 
008371,000049:    4705           04000        SBIT12             OCTAL    04000                                 
008372,000050:    4706           10000        SBIT13             OCTAL    10000                                 
008373,000051:    4707           20000        SBIT14             OCTAL    20000                                 
008374,000052:    4710           40000        SBIT15             OCTAL    40000                                 
008375,000053: 

The 00000 below is lightly circled.

008377,000055:    4711           00000        S+ZERO             OCTAL    00000                                 
008378,000056:    4712           00001        S+1                OCTAL    00001                                 
008379,000057:    4713           00002        S+2                OCTAL    00002                                 
008380,000058:    4714           00003        S+3                OCTAL    00003                                 
008381,000059:    4715           00004        S+4                OCTAL    00004                                 
008382,000060:    4716           00005        S+5                OCTAL    00005                                 
008383,000061:    4717           00006        S+6                OCTAL    00006                                 
008384,000062:    4720           00007        S+7                OCTAL    00007                                 
008385,000063:    4721           00077        S6BITS             OCTAL    00077                                 
008386,000064:    4722           00177        S7BITS             OCTAL    00177                                 
008387,000065:    4723           17777        S13BITS            OCTAL    17777                                 
008388,000066:    4724           25252        SODD               OCTAL    25252                                 #  SEVEN ONE BITS
008389,000067:    4725           37777        S+MAX              OCTAL    37777                                 
008390,000068:    4726           40000        S-MAX              OCTAL    40000                                 
008391,000069:    4727           40400        ALARMCON           OCTAL    40400                                 
008392,000070:    4730           52500        SINOUT1            OCTAL    52500                                 
008393,000071:    4731           52525        SEVENS             OCTAL    52525                                 #  EIGHT ONE BITS
008394,000072:    4732           52552        SINOUT2            OCTAL    52552                                 
008395,000073:    4733           57761        CYRCON             OCTAL    57761                                 
008396,000074:    4734           77725        SINOUT3            OCTAL    77725                                 
008397,000075:    4735           77760        S-15               OCTAL    77760                                 
008398,000076:    4736           77761        S-14               OCTAL    77761                                 
008399,000077:    4737           77770        S-7                OCTAL    77770                                 

Page 211

008401,000079:    4740           77771        S-6                OCTAL    77771                                 
008402,000080:    4741           77772        S-5                OCTAL    77772                                 
008403,000081:    4742           77773        S-4                OCTAL    77773                                 
008404,000082:    4743           77774        S-3                OCTAL    77774                                 
008405,000083:    4744           77775        S-2                OCTAL    77775                                 
008406,000084:    4745           77776        S-1                OCTAL    77776                                 
008407,000085:    4746           77777        S-ZERO             OCTAL    77777                                 
008408,000086: 
008409,000087:                                                                                                  #  NEXT TWO CONSTANTS ARE USED IN THE DEVIDE SUBROUTINE
008410,000088:    4747           14000        DV1CON             OCTAL    14000                                 
008411,000089:    4750           37776        DV2CON             OCTAL    37776                                 
008412,000090: 
008413,000091:                                                                                                  #  NEXT TWO CONSTANTS ARE ADDRESSESS USED BY EXTRACODE INDEX INSTRUCTIONS
008414,000092:    4751           04712        ADRS+1             ADRES    S+1                                   
008415,000093:    4752           04747        ADRSDV1            ADRES    DV1CON                                
008416,000094: 
008417,000095:    4753           40000                           CS       A                                     
008418,000096:    4754           10000        -0CHK              CCS      A                                     
008419,000097:    4755           14770                           TCF      ERRORS                                
008420,000098:    4756           14770                           TCF      ERRORS                                
008421,000099:    4757           14770                           TCF      ERRORS                                
008422,000100:    4760           00002                           TC       Q                                     
008423,000101: 
008424,000102:    4761           40000                           CS       A                                     
008425,000103:    4762           10000        -1CHK              CCS      A                                     
008426,000104:    4763           14770                           TCF      ERRORS                                
008427,000105:    4764           14770                           TCF      ERRORS                                
008428,000106:    4765           10000                           CCS      A                                     
008429,000107:    4766           14770                           TCF      ERRORS                                
008430,000108:    4767           00002                           TC       Q                                     
008431,000109: 
008432,000110: 
008433,000111:    4770           56002        ERRORS             XCH      Q                                     
008434,000112:    4771           55044                           TS       SFAIL                                 #  SAVE Q FOR FAILURE LOCATION
008435,000113:    4772           25045                           INCR     ERCOUNT                               #  KEEP TRACK OF NUMBER OF MALFUNCTIONS
008436,000114:    4773           00004                           INHINT                                         #  TURN ON PROGRAM ALARM LIGHT
008437,000115:    4774           44727                           CS       ALARMCON                              
008438,000116:    4775           70675                           MASK     DSPTAB     +11D                       
008439,000117:    4776           64727                           AD       ALARMCON                              
008440,000118:    4777           54675                           TS       DSPTAB     +11D                       
008441,000119:    5000           00003                           RELINT                                         
008442,000120: 
008443,000121:                                                                                                  #  IF C(SMODE) IS +NON-ZERO START CHECKING AGAIN AT TCCHK
008444,000122:                                                                                                  #  IF C(SMODE) IS + PUT +0 IN SMODE AND IDLE

"CA SMODE" below is marked with a line drawn to a +, and "BZMF STOPCHK" is underlined and marked with a -

008446,000124:    5001           31047                           CA       SMODE                                 
008447,000125:    5002           00006                           EXTEND                                         
008448,000126:    5003           65005                           BZMF     STOPCHK                               
008449,000127:    5004           05010                           TC       SMODECHK                              
008450,000128:    5005           34711        STOPCHK            CA       S+ZERO                                
008451,000129:    5006           55047                           TS       SMODE                                 

Page 212

008453,000131:    5007           04224                           TC       CHECKNJ                               

The following CCS has its branch conditions written in: +>0, +0, -<0, and -0.

008455,000133:    5010           11047        SMODECHK           CCS      SMODE                                 
008456,000134:    5011           05014                           TC       +3                                    
008457,000135:    5012           05007                           TC       SMODECHK   -1                         
008458,000136:    5013           05014                           TC       +1                                    
008459,000137:    5014           04224                           TC       CHECKNJ                               
008460,000138:    5015           35017                           CAF      STRTCHK                               
008461,000139:    5016           04105                           TC       BANKJUMP                              #  TO START OF CHECKING ROUTINES
008462,000140:    5017           16003        STRTCHK            CADR     TCCHK                                 
008463,000141: 
008464,000142: 07,2000                                           SETLOC   26000                                 
008465,000143: 
008466,000144: 07,2000           34711                           CA       S+ZERO                                #  INITIALIZE COUNT REGISTER
008467,000145: 07,2001           55045                           TS       ERCOUNT                               
008468,000146: 07,2002           55046                           TS       SCOUNT                                
008469,000147: 
008470,000148:                                                                                                  #  NORMAL USE OF TC AND TCF
008471,000149: 07,2003           02005        TCCHK              TC       +2                                    
008472,000150: 07,2004           02011                           TC       CCSCHK                                
008473,000151: 07,2005           12007                           TCF      +2                                    
008474,000152: 07,2006           04770                           TC       ERRORS                                
008475,000153: 07,2007           00002                           TC       Q                                     
008476,000154: 07,2010           04770                           TC       ERRORS                                
008477,000155: 

Written to the right of the next few lines is "Written for comp self test and in Gyro S.F. test", signed G&S.

008479,000157:                                                                                                  #  NORMAL USE OF CA, CS, AND CCS
008480,000158: 07,2011           34743        CCSCHK             CA       S-3                                   
008481,000159: 07,2012           55034                           TS       KEEP1                                 
008482,000160: 07,2013           11034                           CCS      KEEP1                                 
008483,000161: 07,2014           04770                           TC       ERRORS                                
008484,000162: 07,2015           04770                           TC       ERRORS                                
008485,000163: 07,2016           02020                           TC       +2                                    
008486,000164: 07,2017           04770                           TC       ERRORS                                
008487,000165: 07,2020           10000                           CCS      A                                     #  C(A) =+2, RESULT OF CCS -NUMBER
008488,000166: 07,2021           02025                           TC       +4                                    
008489,000167: 07,2022           04770                           TC       ERRORS                                
008490,000168: 07,2023           04770                           TC       ERRORS                                
008491,000169: 07,2024           04770                           TC       ERRORS                                
008492,000170: 07,2025           10000                           CCS      A                                     #  C(A) = +1, RESULT OF CCS + NUMBER
008493,000171: 07,2026           02032                           TC       +4                                    
008494,000172: 07,2027           04770                           TC       ERRORS                                
008495,000173: 07,2030           04770                           TC       ERRORS                                
008496,000174: 07,2031           04770                           TC       ERRORS                                
008497,000175: 07,2032           10000                           CCS      A                                     #  C(A) = +0, RESULT OF CCS + NUMBER
008498,000176: 07,2033           04770                           TC       ERRORS                                
008499,000177: 07,2034           02037                           TC       +3                                    
008500,000178: 07,2035           04770                           TC       ERRORS                                
008501,000179: 07,2036           04770                           TC       ERRORS                                
008502,000180: 07,2037           40000                           CS       A                                     
008503,000181: 07,2040           10000                           CCS      A                                     #  C(A) = -0, RESULT OF CCS +0
008504,000182: 07,2041           04770                           TC       ERRORS                                

Page 213

008506,000184: 07,2042           04770                           TC       ERRORS                                
008507,000185: 07,2043           04770                           TC       ERRORS                                
008508,000186: 07,2044           10000                           CCS      A                                     #  RESULT OF CCS -0
008509,000187: 07,2045           04770                           TC       ERRORS                                
008510,000188: 07,2046           02051                           TC       +3                                    
008511,000189: 07,2047           04770                           TC       ERRORS                                
008512,000190: 07,2050           04770                           TC       ERRORS                                
008513,000191: 
008514,000192:                                                                                                  #  NORMAL USE OF MASK
008515,000193: 07,2051           44746        MSKCHK             CS       S-ZERO                                
008516,000194: 07,2052           74746                           MASK     S-ZERO                                #  00000, 77777
008517,000195: 07,2053           04753                           TC       -0CHK      -1                         
008518,000196: 07,2054           44711                           CS       S+ZERO                                
008519,000197: 07,2055           74711                           MASK     S+ZERO                                #  77777, 00000
008520,000198: 07,2056           04753                           TC       -0CHK      -1                         
008521,000199: 07,2057           34711                           CA       S+ZERO                                
008522,000200: 07,2060           74711                           MASK     S+ZERO                                #  00000, 00000
008523,000201: 07,2061           04753                           TC       -0CHK      -1                         
008524,000202: 07,2062           34746                           CA       S-ZERO                                
008525,000203: 07,2063           74746                           MASK     S-ZERO                                #  77777, 77777
008526,000204: 07,2064           04754                           TC       -0CHK                                 
008527,000205:                                                                                                  #  NO EDIT FEATURE OF MASK IS CHECKED
008528,000206:                                                                                                  #  BITS 9-14 OF WRITE LINES GO TO BITS 1-7 OF EDOP
008529,000207: 07,2065           34746                           CA       S-ZERO                                #  77777
008530,000208: 07,2066           54023                           TS       EDOP                                  #  00177
008531,000209: 07,2067           70023                           MASK     EDOP                                  #  00177
008532,000210: 07,2070           55034                           TS       KEEP1                                 #  00177
008533,000211: 07,2071           70023                           MASK     EDOP                                  #  00177
008534,000212: 07,2072           40000                           CS       A                                     #  77600
008535,000213: 07,2073           61034                           AD       KEEP1                                 #  77777
008536,000214: 07,2074           04754                           TC       -0CHK                                 
008537,000215:                                                                                                  #  CHECK MASK OF AN SC REGISTER
008538,000216: 07,2075           34712                           CA       S+1                                   
008539,000217: 07,2076           54001                           TS       L                                     
008540,000218: 07,2077           34746                           CA       S-ZERO                                
008541,000219: 07,2100           70001                           MASK     L                                     
008542,000220: 07,2101           04761                           TC       -1CHK      -1                         
008543,000221: 
008544,000222:                                                                                                  #  NORMAL USE OF XCH, AD, AND TS
008545,000223: 07,2102           34725                           CA       S+MAX                                 #  37777
008546,000224: 07,2103           55034                           TS       KEEP1                                 
008547,000225: 07,2104           61034                           AD       KEEP1                                 #  01 - 37776
008548,000226: 07,2105           55035                           TS       KEEP2                                 #  37776
008549,000227: 07,2106           04770                           TC       ERRORS                                
008550,000228: 07,2107           04761                           TC       -1CHK      -1                         
008551,000229: 07,2110           57034                           XCH      KEEP1                                 #  SKEEP1 NOW +0
008552,000230: 07,2111           40000                           CS       A                                     #  40000
008553,000231: 07,2112           60000                           AD       A                                     #  10 - 00001
008554,000232: 07,2113           55036                           TS       KEEP3                                 #  40001, C(A) = -1
008555,000233: 07,2114           04770                           TC       ERRORS                                

Page 214

008557,000235: 07,2115           61036                           AD       KEEP3                                 #  C(A) = 40000
008558,000236: 07,2116           61035                           AD       KEEP2                                 #  C(A) = -1
008559,000237: 07,2117           61034                           AD       KEEP1                                 #  C(A) = -1
008560,000238: 07,2120           55037                           TS       KEEP4                                 #  -1
008561,000239: 07,2121           41037                           CS       KEEP4                                 #  +1
008562,000240: 07,2122           04761                           TC       -1CHK      -1                         
008563,000241: 
008564,000242:                                                                                                  #  NORMAL USE OF INCR
008565,000243:                                                                                                  #  NOT CHECKING COUNTER INTERRUPT
008566,000244: 07,2123           34725                           CA       S+MAX                                 #  37777
008567,000245: 07,2124           55034                           TS       KEEP1                                 
008568,000246: 07,2125           25034                           INCR     KEEP1                                 #  +0
008569,000247: 07,2126           25034                           INCR     KEEP1                                 #  +1
008570,000248: 07,2127           25034                           INCR     KEEP1                                 #  +2
008571,000249: 07,2130           64726                           AD       S-MAX                                 
008572,000250: 07,2131           04754                           TC       -0CHK                                 #  CHECK C(A) HAS NOT CHANGED
008573,000251: 07,2132           41034                           CS       KEEP1                                 
008574,000252: 07,2133           55034                           TS       KEEP1                                 #  -2
008575,000253: 07,2134           25034                           INCR     KEEP1                                 #  -1
008576,000254: 07,2135           31034                           CA       KEEP1                                 
008577,000255: 07,2136           04762                           TC       -1CHK                                 
008578,000256:                                                                                                  #  CHECK     INCREMENT OF AN SC REGISTER
008579,000257: 07,2137           34744                           CA       S-2                                   
008580,000258: 07,2140           54001                           TS       L                                     
008581,000259: 07,2141           24001                           INCR     L                                     
008582,000260: 07,2142           30001                           CA       L                                     
008583,000261: 07,2143           04762                           TC       -1CHK                                 
008584,000262: 
008585,000263:                                                                                                  #  NORMAL USE OF ADS
008586,000264: 07,2144           34706                           CA       SBIT13                                
008587,000265: 07,2145           55034                           TS       KEEP1                                 #  10000
008588,000266: 07,2146           27034                           ADS      KEEP1                                 #  20000
008589,000267: 07,2147           27034                           ADS      KEEP1                                 #  OV WITH +0
008590,000268: 07,2150           55035                           TS       KEEP2                                 
008591,000269: 07,2151           04770                           TC       ERRORS                                
008592,000270: 07,2152           41034                           CS       KEEP1                                 
008593,000271: 07,2153           04754                           TC       -0CHK                                 
008594,000272:                                                                                                  #  CHECKS ADS OF AN SC REGISTER
008595,000273: 07,2154           34723                           CA       S13BITS                               #  17777
008596,000274: 07,2155           54001                           TS       L                                     
008597,000275: 07,2156           64712                           AD       S+1                                   #  C(A) = 20000
008598,000276: 07,2157           26001                           ADS      L                                     
008599,000277: 07,2160           64726                           AD       S-MAX                                 
008600,000278: 07,2161           04754                           TC       -0CHK                                 
008601,000279: 07,2162           40001                           CS       L                                     
008602,000280: 07,2163           64725                           AD       S+MAX                                 
008603,000281: 07,2164           04754                           TC       -0CHK                                 
008604,000282: 
008605,000283:                                                                                                  #  NORMAL USE OF LXCH
008606,000284: 07,2165           34712                           CA       S+1                                   

Page 215

008608,000286: 07,2166           55034                           TS       KEEP1                                 #  +1
008609,000287: 07,2167           23034                           LXCH     KEEP1                                 #  +1 IN L
008610,000288: 07,2170           40000                           CS       A                                     
008611,000289: 07,2171           55035                           TS       KEEP2                                 #  -1 IN KEEP2
008612,000290: 07,2172           23035                           LXCH     KEEP2                                 #  L = -1, KEEP2 = +1
008613,000291: 07,2173           41035                           CS       KEEP2                                 
008614,000292: 07,2174           04762                           TC       -1CHK                                 
008615,000293: 07,2175           30001                           CA       L                                     
008616,000294: 07,2176           04762                           TC       -1CHK                                 
008617,000295: 
008618,000296:                                                                                                  #  UNDERFLOW AND OVERFLOW IS LOST IN L REGISTER
008619,000297: 07,2177           34725                           CA       S+MAX                                 
008620,000298: 07,2200           60000                           AD       A                                     
008621,000299: 07,2201           54001                           TS       L                                     #  OV WITH 37776
008622,000300: 07,2202           04770                           TC       ERRORS                                
008623,000301: 07,2203           44725                           CS       S+MAX                                 
008624,000302: 07,2204           60000                           AD       A                                     #  UV WITH 40001
008625,000303: 07,2205           22000                           LXCH     A                                     #  C(A) = 37776, C(L) = 40001
008626,000304: 07,2206           55034                           TS       KEEP1                                 #  37776
008627,000305: 07,2207           02211                           TC       +2                                    
008628,000306: 07,2210           04770                           TC       ERRORS                                
008629,000307: 07,2211           30001                           CA       L                                     
008630,000308: 07,2212           55035                           TS       KEEP2                                 #  40001
008631,000309: 07,2213           02215                           TC       +2                                    
008632,000310: 07,2214           04770                           TC       ERRORS                                
008633,000311: 07,2215           61034                           AD       KEEP1                                 #  -0
008634,000312: 07,2216           04754                           TC       -0CHK                                 
008635,000313: 
008636,000314:                                                                                                  #  NORMAL USE OF DXCH
008637,000315: 07,2217           34725                           CA       S+MAX                                 
008638,000316: 07,2220           55035                           TS       KEEP2                                 #  37777, K+1
008639,000317: 07,2221           40000                           CS       A                                     
008640,000318: 07,2222           54001                           TS       L                                     #  40000
008641,000319: 07,2223           64712                           AD       S+1                                   
008642,000320: 07,2224           55034                           TS       KEEP1                                 #  40001, K
008643,000321: 07,2225           40000                           CS       A                                     #  37776
008644,000322: 07,2226           53035                           DXCH     KEEP1                                 
008645,000323:                                                                                                  #  A = 40001, L = 37777 ....... KEEP1 = 37776, KEEP2 = 40000
008646,000324: 07,2227           60001                           AD       L                                     
008647,000325: 07,2230           04761                           TC       -1CHK      -1                         
008648,000326: 07,2231           31034                           CA       KEEP1                                 
008649,000327: 07,2232           61035                           AD       KEEP2                                 
008650,000328: 07,2233           04762                           TC       -1CHK                                 
008651,000329: 
008652,000330:                                                                                                  #  NORMAL USE OF DAS (6 CHECKS)
008653,000331:                                                                                                  #  IF ADDRESS OF K DOES NOT = ZERO, C(L) = +0 AND C(A) = NET OVERFLOW
008654,000332:                                                                                                  #  C(A) = +0 IF NO OVERFLOW OR UNDERFLOW
008655,000333:                                                                                                  #  DAD++ WITH NO OVERFLOW
008656,000334: 07,2234           34723        DAS++              CAF      S13BITS                               
008657,000335: 07,2235           55034                           TS       KEEP1                                 #  17777

Page 216

008659,000337: 07,2236           55035                           TS       KEEP2                                 #  17777
008660,000338: 07,2237           54001                           TS       L                                     #  17777
008661,000339: 07,2240           64712                           AD       S+1                                   #  20000
008662,000340: 07,2241           21035                           DAS      KEEP1                                 
008663,000341:                                                                                                  #  C(KEEP1) = 37777, C(KEEP2) = 377776
008664,000342: 07,2242           04753                           TC       -0CHK      -1                         
008665,000343: 07,2243           56001                           XCH      L                                     
008666,000344: 07,2244           04753                           TC       -0CHK      -1                         
008667,000345: 07,2245           41034                           CS       KEEP1                                 
008668,000346: 07,2246           61035                           AD       KEEP2                                 
008669,000347: 07,2247           04762                           TC       -1CHK                                 
008670,000348:                                                                                                  #  DAS++ WITH OVERFLOW
008671,000349: 07,2250           34725        DAS++OV            CA       S+MAX                                 
008672,000350: 07,2251           55034                           TS       KEEP1                                 #  37777
008673,000351: 07,2252           55035                           TS       KEEP2                                 #  37777
008674,000352: 07,2253           54001                           TS       L                                     #  37777
008675,000353: 07,2254           34712                           CA       S+1                                   #  +1
008676,000354: 07,2255           21035                           DAS      KEEP1                                 
008677,000355:                                                                                                  #  C(KEEP1) = +1, C(KEEP2) = 37776, C(A) = +1,
008678,000356: 07,2256           04761                           TC       -1CHK      -1                         
008679,000357: 07,2257           56001                           XCH      L                                     
008680,000358: 07,2260           04753                           TC       -0CHK      -1                         
008681,000359: 07,2261           41034                           CS       KEEP1                                 
008682,000360: 07,2262           04762                           TC       -1CHK                                 
008683,000361: 07,2263           34726                           CA       S-MAX                                 
008684,000362: 07,2264           61035                           AD       KEEP2                                 
008685,000363: 07,2265           04762                           TC       -1CHK                                 
008686,000364:                                                                                                  #  DAS MIXED SIGNS
008687,000365: 07,2266           34725        DAS+--+            CA       S+MAX                                 
008688,000366: 07,2267           55034                           TS       KEEP1                                 #  37777
008689,000367: 07,2270           40000                           CS       A                                     
008690,000368: 07,2271           55035                           TS       KEEP2                                 #  40000
008691,000369: 07,2272           40000                           CS       A                                     
008692,000370: 07,2273           64745                           AD       S-1                                   
008693,000371: 07,2274           54001                           TS       L                                     #  37776
008694,000372: 07,2275           40000                           CS       A                                     #  40001
008695,000373: 07,2276           21035                           DAS      KEEP1                                 
008696,000374:                                                                                                  #  C(KEEP1) = +1, C(KEEP2) = -1
008697,000375: 07,2277           04753                           TC       -0CHK      -1                         
008698,000376: 07,2300           56001                           XCH      L                                     
008699,000377: 07,2301           04753                           TC       -0CHK      -1                         
008700,000378: 07,2302           31034                           CA       KEEP1                                 
008701,000379: 07,2303           04761                           TC       -1CHK      -1                         
008702,000380: 07,2304           31035                           CA       KEEP2                                 
008703,000381: 07,2305           04762                           TC       -1CHK                                 
008704,000382:                                                                                                  #  DAS-- WITH NO UNDERFLOW
008705,000383: 07,2306           44723        DAS--              CS       S13BITS                               
008706,000384: 07,2307           55034                           TS       KEEP1                                 #  60000
008707,000385: 07,2310           55035                           TS       KEEP2                                 #  60000
008708,000386: 07,2311           54001                           TS       L                                     #  60000

Page 217

008710,000388: 07,2312           64745                           AD       S-1                                   #  57777
008711,000389: 07,2313           21035                           DAS      KEEP1                                 
008712,000390:                                                                                                  #  C(KEEP1) = 40000, C(KEEP2) = 40001
008713,000391: 07,2314           04753                           TC       -0CHK      -1                         
008714,000392: 07,2315           56001                           XCH      L                                     
008715,000393: 07,2316           04753                           TC       -0CHK      -1                         
008716,000394: 07,2317           41035                           CS       KEEP2                                 
008717,000395: 07,2320           61034                           AD       KEEP1                                 
008718,000396: 07,2321           04762                           TC       -1CHK                                 
008719,000397:                                                                                                  #  DAS-- WITH UNDERFLOW
008720,000398: 07,2322           34726        DAS--UV            CA       S-MAX                                 
008721,000399: 07,2323           55034                           TS       KEEP1                                 #  40000
008722,000400: 07,2324           55035                           TS       KEEP2                                 #  40000
008723,000401: 07,2325           54001                           TS       L                                     #  40000
008724,000402: 07,2326           34745                           CA       S-1                                   #  -1
008725,000403: 07,2327           21035                           DAS      KEEP1                                 
008726,000404:                                                                                                  #  C:KEEP1) = -1, C(KEEP2) = 40001, C(A) = -1
008727,000405: 07,2330           04762                           TC       -1CHK                                 
008728,000406: 07,2331           56001                           XCH      L                                     
008729,000407: 07,2332           04753                           TC       -0CHK      -1                         
008730,000408: 07,2333           31034                           CA       KEEP1                                 
008731,000409: 07,2334           04762                           TC       -1CHK                                 
008732,000410: 07,2335           34725                           CA       S+MAX                                 
008733,000411: 07,2336           61035                           AD       KEEP2                                 
008734,000412: 07,2337           04761                           TC       -1CHK      -1                         
008735,000413:                                                                                                  #  DAS A.  DOUBLES THE CONTENTS OF THE A REGISTER AND THE L REGISTER.
008736,000414: 07,2340           34726                           CA       S-MAX                                 
008737,000415: 07,2341           55035                           TS       KEEP2                                 #  40000
008738,000416: 07,2342           54001                           TS       L                                     #  40000
008739,000417: 07,2343           40000                           CS       A                                     
008740,000418: 07,2344           55034                           TS       KEEP1                                 #  37777
008741,000419: 07,2345           20001                           DAS      A                                     
008742,000420:                                                                                                  #  C(A) = OV 37775, C(L) = 40001
008743,000421: 07,2346           55036                           TS       KEEP3                                 
008744,000422: 07,2347           04770                           TC       ERRORS                                
008745,000423: 07,2350           30001                           CA       L                                     
008746,000424: 07,2351           61036                           AD       KEEP3                                 
008747,000425: 07,2352           04762                           TC       -1CHK                                 
008748,000426: 
008749,000427:                                                                                                  #  NORMAL USE OF INDEX WITHOUT EXTRACODE.
008750,000428:                                                                                                  #  INSTRUCTIONS CHECKED WITH INDEX UP TO FIRST SPACE SKIPPED
008751,000429:                                                                                                  #  ARE CA, TS, XCH, CCS, AD, TC, TCF, TS WITH OVERFLOW, AND MASK
008752,000430:                                                                                                  #  FIRST INITIALIZE ERASABLE REGISTERS USED FOR INDEX INSTRUCTION
008753,000431: 07,2353           34711                           CA       S+ZERO                                
008754,000432: 07,2354           55025                           TS       NDX+0                                 
008755,000433: 07,2355           34670                           CA       ADRS6                                 #  ADDRESS OF S+MAX
008756,000434: 07,2356           55026                           TS       NDX+MAX                               
008757,000435: 07,2357           34663                           CA       ADRS1                                 
008758,000436: 07,2360           55027                           TS       NDXKEEP1                              
008759,000437: 07,2361           34664                           CA       ADRS2                                 

Page 218

008761,000439: 07,2362           55030                           TS       NDXKEEP2                              
008762,000440: 07,2363           34665                           CA       ADRS3                                 
008763,000441: 07,2364           55031                           TS       NDXKEEP3                              
008764,000442: 07,2365           34666                           CA       ADRS4                                 
008765,000443: 07,2366           55032                           TS       NDXSELF1                              
008766,000444: 07,2367           34667                           CA       ADRS5                                 
008767,000445: 07,2370           55033                           TS       NDXSELF2                              
008768,000446: 07,2371           51026        NDXCHK             NDX      NDX+MAX                               #  CA S+MAX
008769,000447: 07,2372           30000                           CA       0000                                  #  A = 37777
008770,000448: 07,2373           51027                           NDX      NDXKEEP1                              #  TS KEEP1
008771,000449: 07,2374           54000                           TS       0000                                  #  TS WITH NO OV, UV
008772,000450: 07,2375           51025                           NDX      NDX+0                                 #  CS   A
008773,000451: 07,2376           40000                           CS       0000                                  #  A = 40000
008774,000452: 07,2377           51027                           NDX      NDXKEEP1                              #  XCH KEEP1
008775,000453: 07,2400           56000                           XCH      0000                                  #  A = +MAX, KEEP1 = - MAX
008776,000454: 07,2401           51025                           NDX      NDX+0                                 #  CCS A
008777,000455: 07,2402           10000                           CCS      0000                                  #  A = 37776
008778,000456: 07,2403           02407                           TC       +4                                    
008779,000457: 07,2404           04770                           TC       ERRORS                                
008780,000458: 07,2405           04770                           TC       ERRORS                                
008781,000459: 07,2406           04770                           TC       ERRORS                                
008782,000460: 07,2407           51027                           NDX      NDXKEEP1                              #  AD KEEP1
008783,000461: 07,2410           60000                           AD       0000                                  #  A = -1
008784,000462: 07,2411           51032        SELF1              NDX      NDXSELF1                              #  TC +2
008785,000463: 07,2412           00003                           TC       0003                                  
008786,000464: 07,2413           04770                           TC       ERRORS                                #  DID NOT PERFORM A TC
008787,000465: 07,2414           51032                           NDX      NDXSELF1                              #  TC +2
008788,000466: 07,2415           00006                           TC       0006                                  
008789,000467: 07,2416           02423                           TC       CNTINU                                #  CHECK C(Q)
008790,000468: 07,2417           51033        SELF2              NDX      NDXSELF2                              #  TCF +2
008791,000469: 07,2420           10003                           TCF      003                                   
008792,000470: 07,2421           04770                           TC       ERRORS                                
008793,000471: 07,2422           00002                           TC       Q                                     #  SHOULD GO TO SELF1 +2
008794,000472: 07,2423           04762        CNTINU             TC       -1CHK                                 
008795,000473: 07,2424           34725                           CA       S+MAX                                 
008796,000474: 07,2425           64712                           AD       S+1                                   
008797,000475: 07,2426           51027                           NDX      NDXKEEP1                              #  TS KEEP1 WITH OV
008798,000476: 07,2427           54000                           TS       0000                                  #  A = +1, KEEP1 = +0
008799,000477: 07,2430           04770                           TC       ERRORS                                
008800,000478: 07,2431           61034                           AD       KEEP1                                 #  A = +1
008801,000479: 07,2432           51026                           NDX      NDX+MAX                               #  MASK S+MAX
008802,000480: 07,2433           70000                           MASK     0000                                  #  A = +1
008803,000481: 07,2434           04761                           TC       -1CHK      -1                         
008804,000482: 
008805,000483:                                                                                                  #  INDEX USED WITH ADS, NDX, AND INCR
008806,000484: 07,2435           34723                           CA       S13BITS                               
008807,000485: 07,2436           55034                           TS       KEEP1                                 
008808,000486: 07,2437           51025                           NDX      NDX+0                                 #  INDEX +0
008809,000487: 07,2440           51027                           NDX      NDXKEEP1                              #  ADS KEEP1
008810,000488: 07,2441           26000                           ADS      0000                                  #  C(A) AND C(KEEP1) = 377776

Page 219

008812,000490: 07,2442           51027                           NDX      NDXKEEP1                              #  INCR KEEP1
008813,000491: 07,2443           24000                           INCR     0000                                  #  C(KEEP1) = 37777
008814,000492: 07,2444           40000                           CS       A                                     #  40001
008815,000493: 07,2445           61034                           AD       KEEP1                                 #  A = +1
008816,000494: 07,2446           04761                           TC       -1CHK      -1                         
008817,000495:                                                                                                  #  INDEX USED WITH LXCH, DAS, AND DXCH
008818,000496: 07,2447           34726                           CA       S-MAX                                 
008819,000497: 07,2450           55035                           TS       KEEP2                                 #  KEEP2 HOLDS 40000, KEEP1 HOLDS 37777
008820,000498: 07,2451           34712                           CA       S+1                                   
008821,000499: 07,2452           55036                           TS       KEEP3                                 #  +1
008822,000500: 07,2453           51031                           NDX      NDXKEEP3                              #  LXCH KEEP3
008823,000501: 07,2454           22000                           LXCH     0000                                  #  C(L) = +1
008824,000502: 07,2455           34744                           CA       S-2                                   
008825,000503: 07,2456           51027                           NDX      NDXKEEP1                              #  DAS KEEP1
008826,000504: 07,2457           20001                           DAS      0000                                  
008827,000505:                                                                                                  #  BEFORE DAS, K = 37777   K+1 = 40000
008828,000506:                                                                                                  #              A = -2      L   = +1
008829,000507:                                                                                                  #  AFTER  DAS, K = 37775   K+1 = 40001
008830,000508:                                                                                                  #             A = +0    L  = +0
008831,000509: 07,2460           51027                           NDX      NDXKEEP1                              #  DXCH KEEP1
008832,000510: 07,2461           52001                           DXCH     0000                                  
008833,000511: 07,2462           60001                           AD       L                                     
008834,000512: 07,2463           04762                           TC       -1CHK                                 
008835,000513: 07,2464           41034                           CS       KEEP1                                 
008836,000514: 07,2465           04754                           TC       -0CHK                                 
008837,000515: 07,2466           31035                           CA       KEEP2                                 
008838,000516: 07,2467           04753                           TC       -0CHK      -1                         
008839,000517:                                                                                                  #  INDEX INSTRUCTION USED WITH OVERFLOW
008840,000518: 07,2470           34671                           CA       ADRS7                                 #  ADDRESS OF SELF3
008841,000519: 07,2471           64707                           AD       SBIT14                                
008842,000520: 07,2472           55042                           TS       KEEP7                                 
008843,000521: 07,2473           51042        SELF3              NDX      KEEP7                                 
008844,000522: 07,2474           20003                           2        0002                                  
008845,000523: 07,2475           04770                           TC       ERRORS                                
008846,000524:                                                                                                  #  CHECK INDEX OF AN SC REGISTER
008847,000525: 07,2476           34663                           CA       ADRS1                                 #  01371, ADDRESS OF KEEP1
008848,000526: 07,2477           50000                           NDX      A                                     
008849,000527: 07,2500           54000                           TS       0000                                  #  PUT 01371 IN KEEP1
008850,000528: 07,2501           40000                           CS       A                                     
008851,000529: 07,2502           61034                           AD       KEEP1                                 
008852,000530: 07,2503           04754                           TC       -0CHK                                 
008853,000531: 

Page 220

008855,000533:                                                                                                  #  START CHECKING EXTRACODE INSTRUCTIONS
008856,000534:                                                                                                  #  NORMAL USE OF DCA, DCS, AND SU
008857,000535: 07,2504           00006        STRTXTRA           EXTEND                                         
008858,000536: 07,2505           34673                           DCA      SBIT1                                 
008859,000537:                                                                                                  #  C(A) = +1, C(L) = +2
008860,000538: 07,2506           55035                           TS       KEEP2                                 #  +1
008861,000539: 07,2507           56001                           XCH      L                                     
008862,000540: 07,2510           55034                           TS       KEEP1                                 #  +2
008863,000541: 07,2511           00006                           EXTEND                                         
008864,000542: 07,2512           61035                           SU       KEEP2                                 #  C(KEEP2) = +1
008865,000543: 07,2513           04761                           TC       -1CHK      -1                         
008866,000544: 07,2514           00006                           EXTEND                                         
008867,000545: 07,2515           41035                           DCS      KEEP1                                 
008868,000546:                                                                                                  #  C(A) = -2, C(L) = -1
008869,000547: 07,2516           00006                           EXTEND                                         
008870,000548: 07,2517           60001                           SU       L                                     
008871,000549: 07,2520           04762                           TC       -1CHK                                 
008872,000550:                                                                                                  #  COMPLEMENTING OF THE DOUBLE PRECISION ACCUMULATOR
008873,000551: 07,2521           34725                           CA       S+MAX                                 
008874,000552: 07,2522           54001                           TS       L                                     #  37777
008875,000553: 07,2523           60000                           AD       A                                     #  OV37776
008876,000554: 07,2524           00006                           EXTEND                                         
008877,000555: 07,2525           40001                           DCS      A                                     
008878,000556: 07,2526           55034                           TS       KEEP1                                 
008879,000557: 07,2527           04770                           TC       ERRORS                                
008880,000558: 07,2530           31034                           CA       KEEP1                                 
008881,000559: 07,2531           00006                           EXTEND                                         
008882,000560: 07,2532           60001                           SU       L                                     
008883,000561: 07,2533           04761                           TC       -1CHK      -1                         
008884,000562: 

The following test is, in the words of AGC developer Hugh Blair-Smith, "wrong wrong wrong". The code appears to be assuming that the result of DCA L is A <-- L and L <-- Q. However, in reality, the L <-- Q happens bfore L is copied into A, so the net result is A <-- Q and L <-- Q. Hugh's theory is that Retread made it up to revision 44 mostly before hardware was available to run it on. And the self-check code, which was tied to the hardware, was likely not exercised as part of its development. Moreover, it's possible that the digital simulator itself had an incorrect implementation of DCA based on a misunderstanding of the hareware design. There's a couple of ways to fix this test, but the most "correct" would probably be: DCA L # A = L = -2 CS A # A = 2 AD L # A = -2 + 2 = -0 TC -0CHK

008899,000577: 
008900,000578:                                                                                                  #  CHECKS DCA OF AN SC REGISTER
008901,000579: 07,2534           34744                           CA       S-2                                   #  -2
008902,000580: 07,2535           54002                           TS       Q                                     
008903,000581: 07,2536           34712                           CA       S+1                                   
008904,000582: 07,2537           54001                           TS       L                                     #  +1
008905,000583: 07,2540           34701                           CA       SBIT8                                 
008906,000584: 07,2541           00006                           EXTEND                                         
008907,000585: 07,2542           30002                           DCA      L                                     
008908,000586: 07,2543           60001                           AD       L                                     #  -1
008909,000587: 07,2544           04762                           TC       -1CHK                                 
008910,000588: 
008911,000589:                                                                                                  #  NORMAL USE OF QXCH
008912,000590: 07,2545           32555                           CA       QXCHCON1                              
008913,000591: 07,2546           55034                           TS       KEEP1                                 #  STORE ADDRESS OF AUGCHK IN KEEP1
008914,000592: 07,2547           02551                           TC       +2                                    #  Q NOW HOLDS ADDRESS OF QNMBR
008915,000593: 07,2550           04770        QNMBR              TC       ERRORS                                
008916,000594: 07,2551           00006                           EXTEND                                         
008917,000595: 07,2552           23034                           QXCH     KEEP1                                 #  Q NOW HOLDS ADDRESS OF AUGCHK
008918,000596: 07,2553           00002                           TC       Q                                     #  SHOULD GO TO QXCHCON2 +1, NOT QNMBR
008919,000597: 07,2554           04770                           TC       ERRORS                                
008920,000598: 07,2555           02557        QXCHCON1           ADRES    QXCHCON2   +1                         

Page 221

008922,000600: 07,2556           02550        QXCHCON2           ADRES    QNMBR                                 
008923,000601: 07,2557           41034                           CS       KEEP1                                 #  CHECK THAT KEEP1 HOLDS B(Q)
008924,000602: 07,2560           62556                           AD       QXCHCON2                              
008925,000603: 07,2561           04754                           TC       -0CHK                                 
008926,000604:                                                                                                  #  CHECKS QXCH OF AN SC REGISTER
008927,000605: 07,2562           34711                           CA       S+ZERO                                
008928,000606: 07,2563           02565                           TC       +2                                    
008929,000607: 07,2564           12571                           TCF      +5                                    
008930,000608: 07,2565           00006                           EXTEND                                         
008931,000609: 07,2566           22000                           QXCH     A                                     
008932,000610: 07,2567           22002                           LXCH     Q                                     
008933,000611: 07,2570           00000                           TC       A                                     
008934,000612: 07,2571           30001                           CA       L                                     
008935,000613: 07,2572           04753                           TC       -0CHK      -1                         
008936,000614: 
008937,000615:                                                                                                  #  NORMAL USE OF AUG
008938,000616: 07,2573           34711        AUGCHK             CA       S+ZERO                                
008939,000617: 07,2574           55034                           TS       KEEP1                                 #  +0
008940,000618: 07,2575           40000                           CS       A                                     
008941,000619: 07,2576           55035                           TS       KEEP2                                 #  -0
008942,000620: 07,2577           00006                           EXTEND                                         
008943,000621: 07,2600           25034                           AUG      KEEP1                                 #  +1
008944,000622: 07,2601           00006                           EXTEND                                         
008945,000623: 07,2602           25034                           AUG      KEEP1                                 #  +2
008946,000624: 07,2603           04754                           TC       -0CHK                                 #  CHECK C(A) HAS NOT CHANGED
008947,000625: 07,2604           00006                           EXTEND                                         
008948,000626: 07,2605           25035                           AUG      KEEP2                                 #  -1
008949,000627: 07,2606           00006                           EXTEND                                         
008950,000628: 07,2607           25035                           AUG      KEEP2                                 #  -2
008951,000629: 07,2610           00006                           EXTEND                                         
008952,000630: 07,2611           25035                           AUG      KEEP2                                 #  -3
008953,000631: 07,2612           04753                           TC       -0CHK      -1                         
008954,000632: 07,2613           31035                           CA       KEEP2                                 
008955,000633: 07,2614           61034                           AD       KEEP1                                 
008956,000634: 07,2615           04762                           TC       -1CHK                                 
008957,000635:                                                                                                  #  CHECKS AUG OF AN SC REGISTER
008958,000636: 07,2616           34746                           CA       S-ZERO                                
008959,000637: 07,2617           00006                           EXTEND                                         
008960,000638: 07,2620           24000                           AUG      A                                     
008961,000639: 07,2621           04762                           TC       -1CHK                                 
008962,000640: 
008963,000641:                                                                                                  #  NORMAL USE OF DIM
008964,000642: 07,2622           34711        DIMCHK             CA       S+ZERO                                
008965,000643: 07,2623           55034                           TS       KEEP1                                 #  +0
008966,000644: 07,2624           00006                           EXTEND                                         
008967,000645: 07,2625           27034                           DIM      KEEP1                                 
008968,000646: 07,2626           31034                           CA       KEEP1                                 
008969,000647: 07,2627           04753                           TC       -0CHK      -1                         
008970,000648: 07,2630           40000                           CS       A                                     
008971,000649: 07,2631           55034                           TS       KEEP1                                 #  -0

Page 222 There is a physical page break here, but the next page does not have a header or its own number.

008974,000652: 07,2632           00006                           EXTEND                                         
008975,000653: 07,2633           27034                           DIM      KEEP1                                 
008976,000654: 07,2634           31034                           CA       KEEP1                                 
008977,000655: 07,2635           04754                           TC       -0CHK                                 
008978,000656: 07,2636           34713                           CA       S+2                                   
008979,000657: 07,2637           55034                           TS       KEEP1                                 #  +2
008980,000658: 07,2640           00006                           EXTEND                                         
008981,000659: 07,2641           27034                           DIM      KEEP1                                 #  +1
008982,000660: 07,2642           64745                           AD       S-1                                   
008983,000661: 07,2643           04761                           TC       -1CHK      -1                         #  CHECK C(A) HAS NOT CHANGED
008984,000662: 07,2644           31034                           CA       KEEP1                                 
008985,000663: 07,2645           04761                           TC       -1CHK      -1                         
008986,000664: 07,2646           00006                           EXTEND                                         
008987,000665: 07,2647           27034                           DIM      KEEP1                                 
008988,000666: 07,2650           04753                           TC       -0CHK      -1                         
008989,000667: 07,2651           31034                           CA       KEEP1                                 
008990,000668: 07,2652           04754                           TC       -0CHK                                 
008991,000669: 07,2653           44713                           CS       S+2                                   
008992,000670: 07,2654           55035                           TS       KEEP2                                 #  -2
008993,000671: 07,2655           00006                           EXTEND                                         
008994,000672: 07,2656           27035                           DIM      KEEP2                                 #  -1
008995,000673: 07,2657           31035                           CA       KEEP2                                 
008996,000674: 07,2660           04762                           TC       -1CHK                                 
008997,000675: 07,2661           00006                           EXTEND                                         
008998,000676: 07,2662           27035                           DIM      KEEP2                                 #  -0
008999,000677: 07,2663           04753                           TC       -0CHK      -1                         
009000,000678: 07,2664           31035                           CA       KEEP2                                 
009001,000679: 07,2665           04754                           TC       -0CHK                                 
009002,000680:                                                                                                  #  CHECKS DIM OF AN SC REGISTER
009003,000681: 07,2666           34744                           CA       S-2                                   
009004,000682: 07,2667           00006                           EXTEND                                         
009005,000683: 07,2670           26000                           DIM      A                                     
009006,000684: 07,2671           04762                           TC       -1CHK                                 
009007,000685: 
009008,000686:                                                                                                  #  NORMAL USE OF MSU
009009,000687:                                                                                                  #  MSU SAME (S+MAX AND S+MAX), RESULT +0
009010,000688: 07,2672           34725                           CA       S+MAX                                 
009011,000689: 07,2673           55034                           TS       KEEP1                                 
009012,000690: 07,2674           00006                           EXTEND                                         
009013,000691: 07,2675           21034                           MSU      KEEP1                                 
009014,000692: 07,2676           04753                           TC       -0CHK      -1                         
009015,000693:                                                                                                  #  MSU SAME (+0 AND +0), RESULT +0
009016,000694: 07,2677           55035                           TS       KEEP2                                 
009017,000695: 07,2700           00006                           EXTEND                                         
009018,000696: 07,2701           21035                           MSU      KEEP2                                 
009019,000697: 07,2702           04753                           TC       -0CHK      -1                         
009020,000698:                                                                                                  #  MSU SAME (-0 AND -0), RESULT +0
009021,000699: 07,2703           34746                           CA       S-ZERO                                
009022,000700: 07,2704           55036                           TS       KEEP3                                 
009023,000701: 07,2705           00006                           EXTEND                                         

Page 223

009025,000703: 07,2706           21036                           MSU      KEEP3                                 
009026,000704: 07,2707           04753                           TC       -0CHK      -1                         
009027,000705:                                                                                                  #  MSU +0 AND 77777, RESULT = +1
009028,000706: 07,2710           00006                           EXTEND                                         
009029,000707: 07,2711           21036                           MSU      KEEP3                                 
009030,000708: 07,2712           04761                           TC       -1CHK      -1                         
009031,000709:                                                                                                  #  MSU 77777 AND +0, RESULT = -1
009032,000710: 07,2713           40000                           CS       A                                     
009033,000711: 07,2714           00006                           EXTEND                                         
009034,000712: 07,2715           21035                           MSU      KEEP2                                 
009035,000713: 07,2716           04762                           TC       -1CHK                                 
009036,000714:                                                                                                  #  MSU +6 AND +7, RESULT = -1
009037,000715: 07,2717           34720                           CA       S+7                                   
009038,000716: 07,2720           55037                           TS       KEEP4                                 
009039,000717: 07,2721           34717                           CA       S+6                                   
009040,000718: 07,2722           55040                           TS       KEEP5                                 
009041,000719: 07,2723           00006                           EXTEND                                         
009042,000720: 07,2724           21037                           MSU      KEEP4                                 
009043,000721: 07,2725           04762                           TC       -1CHK                                 
009044,000722:                                                                                                  #  MSU +7 AND +6, RESULT = +1
009045,000723: 07,2726           34720                           CA       S+7                                   
009046,000724: 07,2727           00006                           EXTEND                                         
009047,000725: 07,2730           21040                           MSU      KEEP5                                 
009048,000726: 07,2731           04761                           TC       -1CHK      -1                         
009049,000727:                                                                                                  #  MSU 77770 AND 77771, RESULT = -1
009050,000728: 07,2732           34740                           CA       S-6                                   
009051,000729: 07,2733           55041                           TS       KEEP6                                 
009052,000730: 07,2734           34737                           CA       S-7                                   
009053,000731: 07,2735           55042                           TS       KEEP7                                 
009054,000732: 07,2736           00006                           EXTEND                                         
009055,000733: 07,2737           21041                           MSU      KEEP6                                 
009056,000734: 07,2740           04762                           TC       -1CHK                                 
009057,000735:                                                                                                  #  MSU 77771 AND 77770, RESULT = +1
009058,000736: 07,2741           34740                           CA       S-6                                   
009059,000737: 07,2742           00006                           EXTEND                                         
009060,000738: 07,2743           21042                           MSU      KEEP7                                 
009061,000739: 07,2744           04761                           TC       -1CHK      -1                         
009062,000740:                                                                                                  #  CHECKS MSU OF AN SC REGISTER ( -0 AND -0 = +0)
009063,000741: 07,2745           34746                           CA       S-ZERO                                
009064,000742: 07,2746           54001                           TS       L                                     
009065,000743: 07,2747           00006                           EXTEND                                         
009066,000744: 07,2750           20001                           MSU      L                                     
009067,000745: 07,2751           04753                           TC       -0CHK      -1                         
009068,000746: 
009069,000747:                                                                                                  #  NORMAL USE OF BZF
009070,000748: 07,2752           02754        BZFCHK             TC       +2                                    
009071,000749: 07,2753           02774                           TC       BZMFCHK                               #  CORRECT ADDRESS IN Q
009072,000750: 07,2754           34716                           CAF      S+5                                   
009073,000751: 07,2755           00006                           EXTEND                                         
009074,000752: 07,2756           14770                           BZF      ERRORS                                
009075,000753: 

Page 224

009077,000755: 07,2757           40000                           CS       A                                     
009078,000756: 07,2760           00006                           EXTEND                                         
009079,000757: 07,2761           14770                           BZF      ERRORS                                
009080,000758: 07,2762           34711                           CAF      S+ZERO                                
009081,000759: 07,2763           00006                           EXTEND                                         
009082,000760: 07,2764           12766                           BZF      +2                                    
009083,000761: 07,2765           04770                           TC       ERRORS                                
009084,000762: 07,2766           40000                           CS       A                                     
009085,000763: 07,2767           00006                           EXTEND                                         
009086,000764: 07,2770           12772                           BZF      +2                                    
009087,000765: 07,2771           04770                           TC       ERRORS                                
009088,000766: 07,2772           00002                           TC       Q                                     #  SHOULD GO TO BZFCHK +1
009089,000767: 07,2773           04770                           TC       ERRORS                                
009090,000768: 
009091,000769: 07,2774           02776        BZMFCHK            TC       +2                                    
009092,000770: 07,2775           03017                           TC       MP1++                                 #  CORRECT ADDRESS IN Q
009093,000771: 07,2776           34702                           CAF      SBIT9                                 
009094,000772: 07,2777           00006                           EXTEND                                         
009095,000773: 07,3000           64770                           BZMF     ERRORS                                
009096,000774: 07,3001           40000                           CS       A                                     
009097,000775: 07,3002           00006                           EXTEND                                         
009098,000776: 07,3003           63005                           BZMF     +2                                    
009099,000777: 07,3004           04770                           TC       ERRORS                                
009100,000778: 07,3005           34711                           CA       S+ZERO                                
009101,000779: 07,3006           00006                           EXTEND                                         
009102,000780: 07,3007           63011                           BZMF     +2                                    
009103,000781: 07,3010           04770                           TC       ERRORS                                
009104,000782: 07,3011           40000                           CS       A                                     
009105,000783: 07,3012           00006                           EXTEND                                         
009106,000784: 07,3013           63015                           BZMF     +2                                    
009107,000785: 07,3014           04770                           TC       ERRORS                                
009108,000786: 07,3015           00002                           TC       Q                                     #  SHOULD GO TO BZMFCHK +1
009109,000787: 07,3016           04770                           TC       ERRORS                                
009110,000788: 
009111,000789:                                                                                                  #  NORMAL USE OF MP
009112,000790:                                                                                                  #  37777 X 2
009113,000791: 07,3017           34725        MP1++              CA       S+MAX                                 #  37777
009114,000792: 07,3020           00006                           EXTEND                                         
009115,000793: 07,3021           74713                           MP       S+2                                   #  C(A) = +1, C(L. = 37776
009116,000794: 07,3022           60001                           AD       L                                     
009117,000795: 07,3023           55034                           TS       KEEP1                                 #  37777
009118,000796: 07,3024           00006        MP1+-              EXTEND                                         
009119,000797: 07,3025           74744                           MP       S-2                                   #  C(A) = -1, C(L) = 40001
009120,000798: 07,3026           60001                           AD       L                                     
009121,000799: 07,3027           55035                           TS       KEEP2                                 #  40000
009122,000800: 07,3030           00006        MP1-+              EXTEND                                         
009123,000801: 07,3031           74713                           MP       S+2                                   #  C(A) = -1, C(L) = 40001
009124,000802: 07,3032           60001                           AD       L                                     
009125,000803: 07,3033           55036                           TS       KEEP3                                 #  40000
009126,000804: 07,3034           00006        MP1--              EXTEND                                         

Page 225

009128,000806: 07,3035           74744                           MP       S-2                                   #  C(A) = +1, C(L) = 37776
009129,000807: 07,3036           60001                           AD       L                                     #  37777
009130,000808: 07,3037           61036                           AD       KEEP3                                 #  77777
009131,000809: 07,3040           61035                           AD       KEEP2                                 #  40000
009132,000810: 07,3041           61034                           AD       KEEP1                                 #  77777
009133,000811: 07,3042           04754                           TC       -0CHK                                 
009134,000812:                                                                                                  #  37777 X 37777
009135,000813: 07,3043           34725        MP2++              CA       S+MAX                                 #  37777
009136,000814: 07,3044           00006                           EXTEND                                         #  CHECKS RSC PULSE
009137,000815: 07,3045           70000                           MP       A                                     #  C(A) = 37776, C(L) = +1
009138,000816: 07,3046           60001                           AD       L                                     
009139,000817: 07,3047           55034                           TS       KEEP1                                 #  37777
009140,000818: 07,3050           00006        MP2+-              EXTEND                                         
009141,000819: 07,3051           74726                           MP       S-MAX                                 #  C(A) = 40001, C(L) = -1
009142,000820: 07,3052           60001                           AD       L                                     
009143,000821: 07,3053           55035                           TS       KEEP2                                 #  40000
009144,000822: 07,3054           00006        MP2-+              EXTEND                                         
009145,000823: 07,3055           74725                           MP       S+MAX                                 #  C(A) = 40001, C(L) = -1
009146,000824: 07,3056           60001                           AD       L                                     
009147,000825: 07,3057           55036                           TS       KEEP3                                 #  40000
009148,000826: 07,3060           00006        MP2--              EXTEND                                         
009149,000827: 07,3061           74726                           MP       S-MAX                                 #  C(A) = 37776, C(L) = +1
009150,000828: 07,3062           60001                           AD       L                                     #  37777
009151,000829: 07,3063           61036                           AD       KEEP3                                 #  77777
009152,000830: 07,3064           61035                           AD       KEEP2                                 #  40000
009153,000831: 07,3065           61034                           AD       KEEP1                                 #  77777
009154,000832: 07,3066           04754                           TC       -0CHK                                 
009155,000833:                                                                                                  #  C(A) = NON-ZERO, C(K) = ZERO
009156,000834:                                                                                                  #  RESULT IS ALWAYS POSITIVE ZERO
009157,000835: 07,3067           34725        MP3++              CA       S+MAX                                 #  37777
009158,000836: 07,3070           00006                           EXTEND                                         
009159,000837: 07,3071           74711                           MP       S+ZERO                                
009160,000838: 07,3072           60001                           AD       L                                     
009161,000839: 07,3073           04753                           TC       -0CHK      -1                         
009162,000840: 07,3074           34712        MP3+-              CA       S+1                                   
009163,000841: 07,3075           00006                           EXTEND                                         
009164,000842: 07,3076           74746                           MP       S-ZERO                                
009165,000843: 07,3077           60001                           AD       L                                     
009166,000844: 07,3100           04753                           TC       -0CHK      -1                         
009167,000845: 07,3101           34745        MP3-+              CA       S-1                                   
009168,000846: 07,3102           00006                           EXTEND                                         
009169,000847: 07,3103           74711                           MP       S+ZERO                                
009170,000848: 07,3104           60001                           AD       L                                     
009171,000849: 07,3105           04753                           TC       -0CHK      -1                         
009172,000850: 07,3106           34746        MP3--              CA       S-ZERO                                
009173,000851: 07,3107           00006                           EXTEND                                         
009174,000852: 07,3110           74746                           MP       S-ZERO                                
009175,000853: 07,3111           60001                           AD       L                                     
009176,000854: 07,3112           04753                           TC       -0CHK      -1                         
009177,000855:                                                                                                  #  C(A) = ZERO, C(K) = NON-ZERO,

Page 226

009179,000857:                                                                                                  #  RESULT IS + ZERO FOR A POSITIVE SIGN AND NEGATIVE
009180,000858:                                                                                                  #  ZERO FOR Z NEGATIVE SIGN
009181,000859: 07,3113           34711        MP4++              CA       S+ZERO                                
009182,000860: 07,3114           00006                           EXTEND                                         
009183,000861: 07,3115           74725                           MP       S+MAX                                 
009184,000862: 07,3116           60001                           AD       L                                     
009185,000863: 07,3117           04753                           TC       -0CHK      -1                         
009186,000864: 07,3120           00006        MP4+-              EXTEND                                         
009187,000865: 07,3121           74745                           MP       S-1                                   
009188,000866: 07,3122           60001                           AD       L                                     
009189,000867: 07,3123           04754                           TC       -0CHK                                 
009190,000868: 07,3124           40000        MP4-+              CS       A                                     
009191,000869: 07,3125           00006                           EXTEND                                         
009192,000870: 07,3126           74716                           MP       S+5                                   
009193,000871: 07,3127           60001                           AD       L                                     
009194,000872: 07,3130           04754                           TC       -0CHK                                 
009195,000873: 07,3131           40000        MP4--              CS       A                                     
009196,000874: 07,3132           00006                           EXTEND                                         
009197,000875: 07,3133           74746                           MP       S-ZERO                                
009198,000876: 07,3134           60001                           AD       L                                     
009199,000877: 07,3135           04753                           TC       -0CHK      -1                         
009200,000878:                                                                                                  #  MULTIPLY ZERO X ZERO
009201,000879:                                                                                                  #  RESULT IS ALWAYS PLUS ZERO
009202,000880: 07,3136           34711        MP5++              CA       S+ZERO                                
009203,000881: 07,3137           55034                           TS       KEEP1                                 
009204,000882: 07,3140           00006                           EXTEND                                         
009205,000883: 07,3141           71034                           MP       KEEP1                                 
009206,000884: 07,3142           60001                           AD       L                                     
009207,000885: 07,3143           04753                           TC       -0CHK      -1                         
009208,000886: 07,3144           00006        MP5+-              EXTEND                                         
009209,000887: 07,3145           74746                           MP       S-ZERO                                
009210,000888: 07,3146           60001                           AD       L                                     
009211,000889: 07,3147           04753                           TC       -0CHK      -1                         
009212,000890: 07,3150           34746        MP5-+              CA       S-ZERO                                
009213,000891: 07,3151           00006                           EXTEND                                         
009214,000892: 07,3152           74711                           MP       S+ZERO                                
009215,000893: 07,3153           60001                           AD       L                                     
009216,000894: 07,3154           04753                           TC       -0CHK      -1                         
009217,000895: 07,3155           34746        MP5--              CA       S-ZERO                                
009218,000896: 07,3156           00006                           EXTEND                                         
009219,000897: 07,3157           74746                           MP       S-ZERO                                
009220,000898: 07,3160           04753                           TC       -0CHK      -1                         
009221,000899: 
009222,000900: 07,3161           33163                           CA       CONTINU                               
009223,000901: 07,3162           04105                           TC       BANKJUMP                              
009224,000902: 07,3163           20000        CONTINU            CADR     DV1++      -1                         #  CONTINUE WITH INSTRUCTION CHECK
009225,000903: 
009226,000904: 10,2000                                           SETLOC   30000                                 
009227,000905: 
009228,000906: 10,2000           04224                           TC       CHECKNJ                               #  CHECK FOR NEW JOB
009229,000907: 

Page 227

009231,000909:                                                                                                  #  NORMAL USE OF DV ... REMAINDER HAS SIGN OF DIVIDEND
009232,000910:                                                                                                  #  1/4 DIVIDED BY 3/8
009233,000911:                                                                                                  #  C(A) = 25252 WITH A + QUOTIENT AND 52525 WITH A - QUOTIENT.
009234,000912:                                                                                                  #  C(L) = REMAINDER = /100000/ WITH SIGN OF DIVIDEND.
009235,000913: 10,2001           34747        DV1++              CA       DV1CON                                #  14000
009236,000914: 10,2002           55042                           TS       KEEP7                                 #  14000, +3/8
009237,000915: 10,2003           54002                           TS       Q                                     
009238,000916: 10,2004           40000                           CS       A                                     
009239,000917: 10,2005           55041                           TS       KEEP6                                 #  63000, -3/8
009240,000918: 10,2006           34711                           CA       S+ZERO                                
009241,000919: 10,2007           54001                           TS       L                                     
009242,000920: 10,2010           34706                           CA       SBIT13                                #  10000
009243,000921: 10,2011           00006                           EXTEND                                         
009244,000922: 10,2012           10002                           DV       Q                                     #  CHECKS RSC PULSE
009245,000923: 10,2013           55034                           TS       KEEP1                                 #  25252
009246,000924: 10,2014           34711                           CA       S+ZERO                                
009247,000925: 10,2015           22000        DV1+-              LXCH     A                                     
009248,000926: 10,2016           00006                           EXTEND                                         
009249,000927: 10,2017           11041                           DV       KEEP6                                 
009250,000928: 10,2020           61034                           AD       KEEP1                                 
009251,000929: 10,2021           04754                           TC       -0CHK                                 
009252,000930: 10,2022           34746                           CA       S-ZERO                                
009253,000931: 10,2023           22000                           LXCH     A                                     
009254,000932: 10,2024           40000        DV1-+              CS       A                                     
009255,000933: 10,2025           00006                           EXTEND                                         
009256,000934: 10,2026           11042                           DV       KEEP7                                 
009257,000935: 10,2027           55034                           TS       KEEP1                                 #  52525
009258,000936: 10,2030           34746                           CA       S-ZERO                                
009259,000937: 10,2031           22000        DV1--              LXCH     A                                     
009260,000938: 10,2032           00006                           EXTEND                                         
009261,000939: 10,2033           11041                           DV       KEEP6                                 
009262,000940: 10,2034           61034                           AD       KEEP1                                 
009263,000941: 10,2035           04754                           TC       -0CHK                                 
009264,000942: 10,2036           30001                           CA       L                                     
009265,000943: 10,2037           64706                           AD       SBIT13                                
009266,000944: 10,2040           04754                           TC       -0CHK                                 
009267,000945:                                                                                                  #  1/2 TO 15TH DIVIDED BY 1/2 TO 14TH
009268,000946:                                                                                                  #  C(A) SHOULD BE 1/2 AND CONTENTS OF L SHOULD BE ZERO
009269,000947: 10,2041           34712        DV2++              CA       S+1                                   
009270,000948: 10,2042           55042                           TS       KEEP7                                 #  00001, DIVISOR
009271,000949: 10,2043           40000                           CS       A                                     
009272,000950: 10,2044           55041                           TS       KEEP6                                 #  77776, DIVISOR
009273,000951: 10,2045           34711                           CA       S+ZERO                                
009274,000952: 10,2046           34707                           CA       SBIT14                                #  20000
009275,000953: 10,2047           54001                           TS       L                                     
009276,000954: 10,2050           34711                           CA       S+ZERO                                
009277,000955: 10,2051           00006                           EXTEND                                         
009278,000956: 10,2052           11042                           DV       KEEP7                                 #  C(A) = 1/2, C(L) = +0
009279,000957: 10,2053           55034                           TS       KEEP1                                 
009280,000958: 10,2054           22000        DV2+-              LXCH     A                                     

Page 228

009282,000960: 10,2055           00006                           EXTEND                                         
009283,000961: 10,2056           11041                           DV       KEEP6                                 
009284,000962: 10,2057           55035                           TS       KEEP2                                 #  -1/2
009285,000963: 10,2060           61034                           AD       KEEP1                                 
009286,000964: 10,2061           04754                           TC       -0CHK                                 
009287,000965: 10,2062           31035                           CA       KEEP2                                 
009288,000966: 10,2063           22000                           LXCH     A                                     
009289,000967: 10,2064           40000        DV2-+              CS       A                                     
009290,000968: 10,2065           00006                           EXTEND                                         
009291,000969: 10,2066           11042                           DV       KEEP7                                 
009292,000970: 10,2067           55035                           TS       KEEP2                                 
009293,000971: 10,2070           22000        DV2--              LXCH     A                                     
009294,000972: 10,2071           00006                           EXTEND                                         
009295,000973: 10,2072           11041                           DV       KEEP6                                 
009296,000974: 10,2073           55034                           TS       KEEP1                                 
009297,000975: 10,2074           61035                           AD       KEEP2                                 
009298,000976: 10,2075           04754                           TC       -0CHK                                 
009299,000977: 10,2076           41034                           CS       KEEP1                                 #  MAKE SURE QUOTIENT IS 1/2
009300,000978: 10,2077           64707                           AD       SBIT14                                
009301,000979: 10,2100           04754                           TC       -0CHK                                 
009302,000980: 10,2101           30001                           CA       L                                     
009303,000981: 10,2102           04754                           TC       -0CHK                                 
009304,000982:                                                                                                  #  SAME AS PREVIOUS DIVISION EXCEPT A AND L WILL HAVE OPPOSITE SIGNS
009305,000983:                                                                                                  #  BEFORE DIVISION.  SINCE A WILL ALWAYS BE ZERO, THE SIGN OF THE QUOTIENT
009306,000984:                                                                                                  #  WILL DEPEND ON THE SIGN OF L AND THE SIGN OF THE DIVISOR.
009307,000985: 10,2103           34707        DV3++              CA       SBIT14                                #  20000
009308,000986: 10,2104           54001                           TS       L                                     
009309,000987: 10,2105           34746                           CA       S-ZERO                                
009310,000988: 10,2106           00006                           EXTEND                                         
009311,000989: 10,2107           11042                           DV       KEEP7                                 
009312,000990: 10,2110           55034                           TS       KEEP1                                 #  20000
009313,000991: 10,2111           22000        DV3+-              LXCH     A                                     
009314,000992: 10,2112           40000                           CS       A                                     #  A = -0
009315,000993: 10,2113           00006                           EXTEND                                         
009316,000994: 10,2114           11041                           DV       KEEP6                                 
009317,000995: 10,2115           61034                           AD       KEEP1                                 
009318,000996: 10,2116           04754                           TC       -0CHK                                 
009319,000997: 10,2117           44707                           CS       SBIT14                                #  -1/2
009320,000998: 10,2120           22000        DV3-+              LXCH     A                                     
009321,000999: 10,2121           00006                           EXTEND                                         
009322,001000: 10,2122           11042                           DV       KEEP7                                 
009323,001001: 10,2123           55034                           TS       KEEP1                                 
009324,001002: 10,2124           22000        DV3--              LXCH     A                                     
009325,001003: 10,2125           40000                           CS       A                                     #  A = +0
009326,001004: 10,2126           00006                           EXTEND                                         
009327,001005: 10,2127           11041                           DV       KEEP6                                 
009328,001006: 10,2130           61034                           AD       KEEP1                                 
009329,001007: 10,2131           04754                           TC       -0CHK                                 
009330,001008: 10,2132           40001                           CS       L                                     
009331,001009: 10,2133           04753                           TC       -0CHK      -1                         
009332,001010: 

Page 229

009334,001012:                                                                                                  #  C(A) = 17777 AND C(L) = 37777.  THIS IS DIVIDED BY 20000.  THE RESULT
009335,001013:                                                                                                  #  SHOULD BE +-/37777/ AND THE REMAINDER +-/17777/
009336,001014: 10,2134           34725        DV4++              CA       S+MAX                                 
009337,001015: 10,2135           54001                           TS       L                                     
009338,001016: 10,2136           34707                           CA       SBIT14                                
009339,001017: 10,2137           55042                           TS       KEEP7                                 #  20000
009340,001018: 10,2140           40000                           CS       A                                     
009341,001019: 10,2141           55041                           TS       KEEP6                                 #  57777
009342,001020: 10,2142           34723                           CA       S13BITS                               #  17777
009343,001021: 10,2143           00006                           EXTEND                                         
009344,001022: 10,2144           11042                           DV       KEEP7                                 
009345,001023: 10,2145           55034                           TS       KEEP1                                 
009346,001024: 10,2146           22000        DV4+-              LXCH     A                                     
009347,001025: 10,2147           00006                           EXTEND                                         
009348,001026: 10,2150           11041                           DV       KEEP6                                 
009349,001027: 10,2151           55035                           TS       KEEP2                                 
009350,001028: 10,2152           61034                           AD       KEEP1                                 
009351,001029: 10,2153           04754                           TC       -0CHK                                 
009352,001030: 10,2154           31035                           CA       KEEP2                                 
009353,001031: 10,2155           22000                           LXCH     A                                     
009354,001032: 10,2156           40000        DV4-+              CS       A                                     
009355,001033: 10,2157           00006                           EXTEND                                         
009356,001034: 10,2160           11042                           DV       KEEP7                                 
009357,001035: 10,2161           61034                           AD       KEEP1                                 
009358,001036: 10,2162           04754                           TC       -0CHK                                 
009359,001037: 10,2163           31035                           CA       KEEP2                                 
009360,001038: 10,2164           22000        DV4--              LXCH     A                                     
009361,001039: 10,2165           00006                           EXTEND                                         
009362,001040: 10,2166           11041                           DV       KEEP6                                 
009363,001041: 10,2167           55036                           TS       KEEP3                                 
009364,001042: 10,2170           61035                           AD       KEEP2                                 
009365,001043: 10,2171           04754                           TC       -0CHK                                 
009366,001044: 10,2172           41036                           CS       KEEP3                                 
009367,001045: 10,2173           64725                           AD       S+MAX                                 
009368,001046: 10,2174           04754                           TC       -0CHK                                 
009369,001047: 10,2175           30001                           CA       L                                     
009370,001048: 10,2176           64723                           AD       S13BITS                               
009371,001049: 10,2177           04754                           TC       -0CHK                                 
009372,001050:                                                                                                  #  C(A) = +-/17777/ AND C(L) = +-/37777/ WITH OPPOSITE SIGN BEFORE DEVISION
009373,001051:                                                                                                  #  THE QUOTIENT SHOULD BE +-/37774/ WITH THE SIGN DEPENDING ON THE SIGN OF
009374,001052:                                                                                                  #  A AND THE SIGN OF THE DEVISOR. THE C(L) = +-/1/ DEPENDING ON THE SIGN
009375,001053:                                                                                                  #  OF A.
009376,001054: 10,2200           44725        DV5++              CS       S+MAX                                 
009377,001055: 10,2201           54001                           TS       L                                     #  40000
009378,001056: 10,2202           34723                           CA       S13BITS                               #  17777
009379,001057: 10,2203           00006                           EXTEND                                         
009380,001058: 10,2204           11042                           DV       KEEP7                                 
009381,001059: 10,2205           55034                           TS       KEEP1                                 #  37774
009382,001060: 10,2206           56001                           XCH      L                                     
009383,001061: 10,2207           04761                           TC       -1CHK      -1                         
009384,001062: 

Page 230

009386,001064: 10,2210           34726        DV5+-              CA       S-MAX                                 
009387,001065: 10,2211           54001                           TS       L                                     #  40000
009388,001066: 10,2212           34723                           CA       S13BITS                               #  17777
009389,001067: 10,2213           00006                           EXTEND                                         
009390,001068: 10,2214           11041                           DV       KEEP6                                 #  C(A) = -37774, C(L) = +1
009391,001069: 10,2215           61034                           AD       KEEP1                                 
009392,001070: 10,2216           04754                           TC       -0CHK                                 
009393,001071: 10,2217           56001                           XCH      L                                     
009394,001072: 10,2220           04761                           TC       -1CHK      -1                         
009395,001073: 10,2221           34725        DV5-+              CA       S+MAX                                 
009396,001074: 10,2222           54001                           TS       L                                     #  37777
009397,001075: 10,2223           44723                           CS       S13BITS                               #  60000
009398,001076: 10,2224           00006                           EXTEND                                         
009399,001077: 10,2225           11042                           DV       KEEP7                                 #  C(A) = -37774, C(L) = -1
009400,001078: 10,2226           55035                           TS       KEEP2                                 
009401,001079: 10,2227           61034                           AD       KEEP1                                 
009402,001080: 10,2230           04754                           TC       -0CHK                                 
009403,001081: 10,2231           56001                           XCH      L                                     
009404,001082: 10,2232           04762                           TC       -1CHK                                 
009405,001083: 10,2233           34725        DV5--              CA       S+MAX                                 
009406,001084: 10,2234           54001                           TS       L                                     #  37777
009407,001085: 10,2235           44723                           CS       S13BITS                               #  60000
009408,001086: 10,2236           00006                           EXTEND                                         
009409,001087: 10,2237           11041                           DV       KEEP6                                 #  C(A) = 37774, C(L) = -1
009410,001088: 10,2240           61035                           AD       KEEP2                                 
009411,001089: 10,2241           04754                           TC       -0CHK                                 
009412,001090: 10,2242           56001                           XCH      L                                     
009413,001091: 10,2243           04762                           TC       -1CHK                                 
009414,001092: 10,2244           31035                           CA       KEEP2                                 #  -37774
009415,001093: 10,2245           64744                           AD       S-2                                   #  -37776
009416,001094: 10,2246           64725                           AD       S+MAX                                 #  +1
009417,001095: 10,2247           04761                           TC       -1CHK      -1                         #  CHECK THAT QUOTIENT IS +-/37774/
009418,001096: 
009419,001097:                                                                                                  #  DIVIDE SAME (37776).  THE RESULT SHOULD BE MAXIMUM AND THE REMAINDER
009420,001098:                                                                                                  #  SHOULD BE THE SAME VALUE AS THE DIVISOR WITH THE SAME SIGN AS THE
009421,001099:                                                                                                  #  DIVIDEND
009422,001100: 10,2250           34711        DV6++              CA       S+ZERO                                
009423,001101: 10,2251           54001                           TS       L                                     
009424,001102: 10,2252           44750                           CS       DV2CON                                #  37776
009425,001103: 10,2253           55041                           TS       KEEP6                                 #  40001
009426,001104: 10,2254           40000                           CS       A                                     
009427,001105: 10,2255           55042                           TS       KEEP7                                 #  37776
009428,001106: 10,2256           00006                           EXTEND                                         
009429,001107: 10,2257           11042                           DV       KEEP7                                 
009430,001108: 10,2260           40000                           CS       A                                     
009431,001109: 10,2261           60001                           AD       L                                     
009432,001110: 10,2262           04762                           TC       -1CHK                                 
009433,001111: 10,2263           34711                           CA       S+ZERO                                
009434,001112: 10,2264           22000        DV6+-              LXCH     A                                     
009435,001113: 10,2265           00006                           EXTEND                                         

Page 231

009437,001115: 10,2266           11041                           DV       KEEP6                                 
009438,001116: 10,2267           60001                           AD       L                                     
009439,001117: 10,2270           04762                           TC       -1CHK                                 
009440,001118: 10,2271           34746                           CA       S-ZERO                                
009441,001119: 10,2272           22000        DV6-+              LXCH     A                                     
009442,001120: 10,2273           40000                           CS       A                                     
009443,001121: 10,2274           00006                           EXTEND                                         
009444,001122: 10,2275           11042                           DV       KEEP7                                 
009445,001123: 10,2276           40000                           CS       A                                     
009446,001124: 10,2277           60001                           AD       L                                     
009447,001125: 10,2300           04761                           TC       -1CHK      -1                         
009448,001126: 10,2301           34746                           CA       S-ZERO                                
009449,001127: 10,2302           22000        DV6--              LXCH     A                                     
009450,001128: 10,2303           00006                           EXTEND                                         
009451,001129: 10,2304           11041                           DV       KEEP6                                 
009452,001130: 10,2305           60001                           AD       L                                     
009453,001131: 10,2306           04761                           TC       -1CHK      -1                         
009454,001132: 10,2307           40001                           CS       L                                     
009455,001133: 10,2310           61041                           AD       KEEP6                                 
009456,001134: 10,2311           04754                           TC       -0CHK                                 
009457,001135:                                                                                                  #  DIVIDE SAME (ZERO).  THE RESULT SHOULD BE MAXIMUM AND THE REMAINDER
009458,001136:                                                                                                  #  SHOULD BE THE SAME VALUE AS THE DIVISOR WITH THE SAME SIGN AS THE
009459,001137:                                                                                                  #  DIVIDEND.
009460,001138: 10,2312           44711        DV7++              CS       S+ZERO                                
009461,001139: 10,2313           55041                           TS       KEEP6                                 #  -0
009462,001140: 10,2314           40000                           CS       A                                     
009463,001141: 10,2315           55042                           TS       KEEP7                                 #  +0
009464,001142: 10,2316           54001                           TS       L                                     
009465,001143: 10,2317           00006                           EXTEND                                         
009466,001144: 10,2320           11042                           DV       KEEP7                                 
009467,001145: 10,2321           64726                           AD       S-MAX                                 
009468,001146: 10,2322           04754                           TC       -0CHK                                 
009469,001147: 10,2323           22000        DV7+-              LXCH     A                                     #  C(A) = C(L) = +0
009470,001148: 10,2324           00006                           EXTEND                                         
009471,001149: 10,2325           11041                           DV       KEEP6                                 
009472,001150: 10,2326           64725                           AD       S+MAX                                 
009473,001151: 10,2327           04754                           TC       -0CHK                                 
009474,001152: 10,2330           40000                           CS       A                                     
009475,001153: 10,2331           22000        DV7-+              LXCH     A                                     
009476,001154: 10,2332           40000                           CS       A                                     #  C(A) = C(L) = -0
009477,001155: 10,2333           00006                           EXTEND                                         
009478,001156: 10,2334           11042                           DV       KEEP7                                 
009479,001157: 10,2335           64725                           AD       S+MAX                                 
009480,001158: 10,2336           04754                           TC       -0CHK                                 
009481,001159: 10,2337           40000                           CS       A                                     
009482,001160: 10,2340           22000        DV7--              LXCH     A                                     #  C(A) = C(L) = -0
009483,001161: 10,2341           00006                           EXTEND                                         
009484,001162: 10,2342           11041                           DV       KEEP6                                 
009485,001163: 10,2343           64726                           AD       S-MAX                                 
009486,001164: 10,2344           04754                           TC       -0CHK                                 

Page 232

009488,001166: 10,2345           40001                           CS       L                                     
009489,001167: 10,2346           04753                           TC       -0CHK      -1                         
009490,001168: 
009491,001169:                                                                                                  #  DEVIDE SAME (ZERO). THE CONTENTS OF THE A REGISTER AND L REGISTER WILL
009492,001170:                                                                                                  #  HAVE OPPOSITE SIGNS BEFORE DEVISION. THE SIGN OF THE QUOTIENT WILL
009493,001171:                                                                                                  #  DEPEND ON THE SIGN OF THE L REGISTER BEFORE DEVISION AND THE SIGN OF
009494,001172:                                                                                                  #  THE DEVISOR. THE SIGN OF THE REMAINDER IS THE SAME SIGN AS THE SIGN OF
009495,001173:                                                                                                  #  THE L REGISTER BEFORE DEVISION. C(L)  REMAINS SAME
009496,001174: 10,2347           34711        DV8++              CA       S+ZERO                                
009497,001175: 10,2350           55042                           TS       KEEP7                                 #  +0
009498,001176: 10,2351           54001                           TS       L                                     
009499,001177: 10,2352           40000                           CS       A                                     
009500,001178: 10,2353           55041                           TS       KEEP6                                 #  -0
009501,001179: 10,2354           00006                           EXTEND                                         #  A = -0, L = +0
009502,001180: 10,2355           11042                           DV       KEEP7                                 #  A = L = +0
009503,001181: 10,2356           55034                           TS       KEEP1                                 
009504,001182: 10,2357           30001                           CA       L                                     #  C(A) = C(L) = +0
009505,001183: 10,2360           04753                           TC       -0CHK      -1                         
009506,001184: 10,2361           40000        DV8+-              CS       A                                     
009507,001185: 10,2362           00006                           EXTEND                                         #  A = -0, L = +0
009508,001186: 10,2363           11041                           DV       KEEP6                                 #  A = -0, L = +0
009509,001187: 10,2364           61034                           AD       KEEP1                                 
009510,001188: 10,2365           04754                           TC       -0CHK                                 
009511,001189: 10,2366           40000                           CS       A                                     
009512,001190: 10,2367           56001                           XCH      L                                     #  PUT -0 IN L
009513,001191: 10,2370           04753                           TC       -0CHK      -1                         #  CHECK C(L)
009514,001192: 10,2371           00006        DV8-+              EXTEND                                         #  A = +0, L = -0
009515,001193: 10,2372           11042                           DV       KEEP7                                 #  A = L = -0
009516,001194: 10,2373           55035                           TS       KEEP2                                 
009517,001195: 10,2374           61034                           AD       KEEP1                                 
009518,001196: 10,2375           04754                           TC       -0CHK                                 
009519,001197: 10,2376           40000                           CS       A                                     
009520,001198: 10,2377           56001                           XCH      L                                     #  PUT -0 IN L
009521,001199: 10,2400           04754                           TC       -0CHK                                 #  CHECK C(L)
009522,001200: 10,2401           00006        DV8--              EXTEND                                         #  A = +0, L = -0
009523,001201: 10,2402           11041                           DV       KEEP6                                 #  A = +0, L = -0
009524,001202: 10,2403           61035                           AD       KEEP2                                 
009525,001203: 10,2404           04754                           TC       -0CHK                                 
009526,001204: 10,2405           34725                           CA       S+MAX                                 #  CHECK QUOTIENT IS CORRECT
009527,001205: 10,2406           61035                           AD       KEEP2                                 
009528,001206: 10,2407           04754                           TC       -0CHK                                 
009529,001207: 10,2410           56001                           XCH      L                                     
009530,001208: 10,2411           04754                           TC       -0CHK                                 #  CHECK C(L)
009531,001209: 
009532,001210:                                                                                                  #  INPUT-OUTPUT INSTRUCTIONS
009533,001211:                                                                                                  #  NORMAL USE OF READ AND WRITE
009534,001212: 10,2412           34745        IN-OUT1            CA       S-1                                   
009535,001213: 10,2413           00006                           EXTEND                                         
009536,001214: 10,2414           01001                           WRITE    L                                     #  77776
009537,001215: 10,2415           40000                           CS       A                                     #  00001

Page 233

009539,001217: 10,2416           00006                           EXTEND                                         
009540,001218: 10,2417           00001                           READ     L                                     #  77776
009541,001219: 10,2420           04762                           TC       -1CHK                                 
009542,001220: 10,2421           34726                           CA       S-MAX                                 
009543,001221: 10,2422           64726                           AD       S-MAX                                 #  C(A) = 10 - 00001
009544,001222: 10,2423           00006                           EXTEND                                         
009545,001223: 10,2424           01002                           WRITE    Q                                     
009546,001224: 10,2425           40000                           CS       A                                     #  01 - 37776
009547,001225: 10,2426           00006                           EXTEND                                         
009548,001226: 10,2427           00002                           READ     Q                                     #   10 - 00001
009549,001227: 10,2430           55034                           TS       KEEP1                                 
009550,001228: 10,2431           04770                           TC       ERRORS                                
009551,001229: 10,2432           31034                           CA       KEEP1                                 
009552,001230: 10,2433           64725                           AD       S+MAX                                 
009553,001231: 10,2434           04761                           TC       -1CHK      -1                         
009554,001232: 
009555,001233:                                                                                                  #  NORMAL USE OF RAND, RAND = READ AND MASK
009556,001234: 10,2435           34711        RANDCHK            CA       S+ZERO                                
009557,001235: 10,2436           54001                           TS       L                                     
009558,001236: 10,2437           00006                           EXTEND                                         
009559,001237: 10,2440           02001                           RAND     L                                     #  00000, 00000
009560,001238: 10,2441           04753                           TC       -0CHK      -1                         
009561,001239: 10,2442           34746                           CA       S-ZERO                                
009562,001240: 10,2443           00006                           EXTEND                                         
009563,001241: 10,2444           02001                           RAND     L                                     #   77777, 00000
009564,001242: 10,2445           04753                           TC       -0CHK      -1                         
009565,001243: 10,2446           40000                           CS       A                                     
009566,001244: 10,2447           54001                           TS       L                                     
009567,001245: 10,2450           40000                           CS       A                                     
009568,001246: 10,2451           00006                           EXTEND                                         
009569,001247: 10,2452           02001                           RAND     L                                     #  00000, 77777
009570,001248: 10,2453           04753                           TC       -0CHK      -1                         
009571,001249: 10,2454           34746                           CA       S-ZERO                                
009572,001250: 10,2455           00006                           EXTEND                                         
009573,001251: 10,2456           02001                           RAND     L                                     #  77777, 77777
009574,001252: 10,2457           04754                           TC       -0CHK                                 

The following test is slightly wrong. Its proper operation relies on the Q register storing an overflow condition. However, it is run without interrupts inhibited, so it's possible for an interrupt to occur and destroy Q's overflow (via QRUPT). The test designers were likely either unaware of this possibility, or thought that overlfow in Q would inhibit interrupts like it would in A. Or, perhaps, the digital simulator could have been wrong as discussed above for "DCA L". A correct version of the test would have an INHINT immediately prior to "XCH Q", and a RELINT sometime after "RAND Q".

009583,001261: 10,2460           34725        RANDOV             CA       S+MAX                                 
009584,001262: 10,2461           64713                           AD       S+2                                   #   01 - 00001
009585,001263: 10,2462           56002                           XCH      Q                                     
009586,001264: 10,2463           34746                           CA       S-ZERO                                #   77777
009587,001265: 10,2464           00006                           EXTEND                                         
009588,001266: 10,2465           02002                           RAND     Q                                     #   01 - 00001
009589,001267: 10,2466           55034                           TS       KEEP1                                 
009590,001268: 10,2467           04770                           TC       ERRORS                                
009591,001269: 10,2470           04761                           TC       -1CHK      -1                         
009592,001270: 10,2471           41034                           CS       KEEP1                                 
009593,001271: 10,2472           04762                           TC       -1CHK                                 
009594,001272: 
009595,001273:                                                                                                  #  NORMAL USE OF WAND, WAND = WRITE AND MASK
009596,001274: 10,2473           34711        WANDCHK            CA       S+ZERO                                

Page 234

009598,001276: 10,2474           54001                           TS       L                                     
009599,001277: 10,2475           00006                           EXTEND                                         
009600,001278: 10,2476           03001                           WAND     L                                     #  00000, 00000
009601,001279: 10,2477           60001                           AD       L                                     
009602,001280: 10,2500           04753                           TC       -0CHK      -1                         
009603,001281: 10,2501           34746                           CA       S-ZERO                                
009604,001282: 10,2502           00006                           EXTEND                                         
009605,001283: 10,2503           03001                           WAND     L                                     #  77777, 00000
009606,001284: 10,2504           60001                           AD       L                                     
009607,001285: 10,2505           04753                           TC       -0CHK      -1                         
009608,001286: 10,2506           40000                           CS       A                                     
009609,001287: 10,2507           54001                           TS       L                                     
009610,001288: 10,2510           40000                           CS       A                                     
009611,001289: 10,2511           00006                           EXTEND                                         
009612,001290: 10,2512           03001                           WAND     L                                     #  00000, 77777
009613,001291: 10,2513           60001                           AD       L                                     
009614,001292: 10,2514           04753                           TC       -0CHK      -1                         
009615,001293: 10,2515           34746                           CA       S-ZERO                                
009616,001294: 10,2516           54001                           TS       L                                     
009617,001295: 10,2517           00006                           EXTEND                                         
009618,001296: 10,2520           03001                           WAND     L                                     #  77777, 77777
009619,001297: 10,2521           60001                           AD       L                                     
009620,001298: 10,2522           04754                           TC       -0CHK                                 

The following test is slightly wrong. (See the discussion for RANDOV above.)

009622,001300: 10,2523           34725        WANDUF             CA       S+MAX                                 
009623,001301: 10,2524           64713                           AD       S+2                                   #  01 - 00001
009624,001302: 10,2525           56002                           XCH      Q                                     
009625,001303: 10,2526           34746                           CA       S-ZERO                                #  77777
009626,001304: 10,2527           00006                           EXTEND                                         
009627,001305: 10,2530           03002                           WAND     Q                                     
009628,001306: 10,2531           55035                           TS       KEEP2                                 
009629,001307: 10,2532           04770                           TC       ERRORS                                
009630,001308: 10,2533           30002                           CA       Q                                     
009631,001309: 10,2534           55034                           TS       KEEP1                                 
009632,001310: 10,2535           04770                           TC       ERRORS                                
009633,001311: 10,2536           41034                           CS       KEEP1                                 
009634,001312: 10,2537           04762                           TC       -1CHK                                 
009635,001313: 10,2540           41035                           CS       KEEP2                                 
009636,001314: 10,2541           04762                           TC       -1CHK                                 
009637,001315: 
009638,001316:                                                                                                  #  NORMAL USE OF ROR, READ AND SUPERIMPOSE
009639,001317: 10,2542           34711        RORCHK             CA       S+ZERO                                
009640,001318: 10,2543           54001                           TS       L                                     
009641,001319: 10,2544           00006                           EXTEND                                         
009642,001320: 10,2545           04001                           ROR      L                                     #  00000, 00000
009643,001321: 10,2546           04753                           TC       -0CHK      -1                         
009644,001322: 10,2547           30001                           CA       L                                     
009645,001323: 10,2550           04753                           TC       -0CHK      -1                         
009646,001324: 10,2551           34746                           CA       S-ZERO                                
009647,001325: 10,2552           00006                           EXTEND                                         
009648,001326: 10,2553           04001                           ROR      L                                     #  77777, 00000
009649,001327: 

Page 235

009651,001329: 10,2554           04754                           TC       -0CHK                                 
009652,001330: 10,2555           30001                           CA       L                                     
009653,001331: 10,2556           04753                           TC       -0CHK      -1                         
009654,001332: 10,2557           40000                           CS       A                                     
009655,001333: 10,2560           54001                           TS       L                                     
009656,001334: 10,2561           40000                           CS       A                                     
009657,001335: 10,2562           00006                           EXTEND                                         
009658,001336: 10,2563           04001                           ROR      L                                     #  00000, 77777
009659,001337: 10,2564           04754                           TC       -0CHK                                 
009660,001338: 10,2565           30001                           CA       L                                     
009661,001339: 10,2566           04754                           TC       -0CHK                                 
009662,001340: 10,2567           34746                           CA       S-ZERO                                
009663,001341: 10,2570           00006                           EXTEND                                         
009664,001342: 10,2571           04001                           ROR      L                                     #  77777, 77777
009665,001343: 10,2572           04754                           TC       -0CHK                                 

The following test is slightly wrong. (See the discussion for RANDOV above.)

009667,001345: 10,2573           34726        ROROV              CA       S-MAX                                 
009668,001346: 10,2574           64744                           AD       S-2                                   #  10 - 37776
009669,001347: 10,2575           56002                           XCH      Q                                     
009670,001348: 10,2576           34725                           CA       S+MAX                                 
009671,001349: 10,2577           64712                           AD       S+1                                   #  01 - 00000
009672,001350: 10,2600           00006                           EXTEND                                         
009673,001351: 10,2601           04002                           ROR      Q                                     #  11 - 37776
009674,001352: 10,2602           55034                           TS       KEEP1                                 
009675,001353: 10,2603           02605                           TC       +2                                    
009676,001354: 10,2604           04770                           TC       ERRORS                                
009677,001355: 10,2605           31034                           CA       KEEP1                                 
009678,001356: 10,2606           04762                           TC       -1CHK                                 
009679,001357: 
009680,001358:                                                                                                  #  NORMAL USE OF WOR, WOR = WRITE AND SUPERIMPOSE
009681,001359: 10,2607           34711        WORCHK             CA       S+ZERO                                
009682,001360: 10,2610           54001                           TS       L                                     
009683,001361: 10,2611           00006                           EXTEND                                         
009684,001362: 10,2612           05001                           WOR      L                                     #  00000, 00000
009685,001363: 10,2613           04753                           TC       -0CHK      -1                         
009686,001364: 10,2614           30001                           CA       L                                     
009687,001365: 10,2615           04753                           TC       -0CHK      -1                         
009688,001366: 10,2616           34746                           CA       S-ZERO                                
009689,001367: 10,2617           00006                           EXTEND                                         
009690,001368: 10,2620           05001                           WOR      L                                     #  77777, 00000
009691,001369: 10,2621           04754                           TC       -0CHK                                 
009692,001370: 10,2622           30001                           CA       L                                     
009693,001371: 10,2623           04754                           TC       -0CHK                                 
009694,001372: 10,2624           40000                           CS       A                                     
009695,001373: 10,2625           54001                           TS       L                                     
009696,001374: 10,2626           40000                           CS       A                                     
009697,001375: 10,2627           00006                           EXTEND                                         
009698,001376: 10,2630           05001                           WOR      L                                     #  00000, 77777
009699,001377: 10,2631           04754                           TC       -0CHK                                 
009700,001378: 10,2632           30001                           CA       L                                     
009701,001379: 10,2633           04754                           TC       -0CHK                                 

Page 236

009703,001381: 10,2634           34726                           CA       S-MAX                                 
009704,001382: 10,2635           00006                           EXTEND                                         
009705,001383: 10,2636           05001                           WOR      L                                     #  77777, 77777
009706,001384: 10,2637           04754                           TC       -0CHK                                 
009707,001385: 10,2640           30001                           CA       L                                     
009708,001386: 10,2641           04754                           TC       -0CHK                                 

The following test is slightly wrong. (See the discussion for RANDOV above.)

009710,001388: 10,2642           34726        WOROV              CA       S-MAX                                 
009711,001389: 10,2643           64744                           AD       S-2                                   #  10 - 37776
009712,001390: 10,2644           56002                           XCH      Q                                     
009713,001391: 10,2645           34725                           CA       S+MAX                                 
009714,001392: 10,2646           64712                           AD       S+1                                   #  01 - 00000
009715,001393: 10,2647           00006                           EXTEND                                         
009716,001394: 10,2650           05002                           WOR      Q                                     #  11 - 37776
009717,001395: 10,2651           55035                           TS       KEEP2                                 #  SHOULD NOT SKIP
009718,001396: 10,2652           12654                           TCF      +2                                    
009719,001397: 10,2653           04770                           TC       ERRORS                                
009720,001398: 10,2654           56002                           XCH      Q                                     
009721,001399: 10,2655           55036                           TS       KEEP3                                 
009722,001400: 10,2656           02660                           TC       +2                                    
009723,001401: 10,2657           04770                           TC       ERRORS                                
009724,001402: 10,2660           31036                           CA       KEEP3                                 #  CHECK C(Q)
009725,001403: 10,2661           04762                           TC       -1CHK                                 
009726,001404: 10,2662           31035                           CA       KEEP2                                 
009727,001405: 10,2663           04762                           TC       -1CHK                                 #  CHECK C(A)
009728,001406: 
009729,001407:                                                                                                  #  NORMAL USE OF RXOR
009730,001408: 10,2664           34711        RXORCHK            CA       S+ZERO                                
009731,001409: 10,2665           54001                           TS       L                                     
009732,001410: 10,2666           00006                           EXTEND                                         
009733,001411: 10,2667           06001                           RXOR     L                                     #  00000, 00000
009734,001412: 10,2670           04753                           TC       -0CHK      -1                         
009735,001413: 10,2671           34746                           CA       S-ZERO                                
009736,001414: 10,2672           00006                           EXTEND                                         
009737,001415: 10,2673           06001                           RXOR     L                                     #  77777, 00000
009738,001416: 10,2674           04754                           TC       -0CHK                                 
009739,001417: 10,2675           30001                           CA       L                                     
009740,001418: 10,2676           04753                           TC       -0CHK      -1                         
009741,001419: 10,2677           40000                           CS       A                                     
009742,001420: 10,2700           54001                           TS       L                                     
009743,001421: 10,2701           40000                           CS       A                                     
009744,001422: 10,2702           00006                           EXTEND                                         
009745,001423: 10,2703           06001                           RXOR     L                                     #  00000, 77777
009746,001424: 10,2704           04754                           TC       -0CHK                                 
009747,001425: 10,2705           34746                           CA       S-ZERO                                
009748,001426: 10,2706           00006                           EXTEND                                         
009749,001427: 10,2707           06001                           RXOR     L                                     #  77777, 77777
009750,001428: 10,2710           04753                           TC       -0CHK      -1                         
009751,001429: 10,2711           30001                           CA       L                                     
009752,001430: 10,2712           04754                           TC       -0CHK                                 
009753,001431: 10,2713           40000                           CS       A                                     

Page 237

009755,001433: 10,2714           54002                           TS       Q                                     

The following test is slightly wrong. (See the discussion for RANDOV above.)

009757,001435: 10,2715           34725        RXORUV             CA       S+MAX                                 
009758,001436: 10,2716           64713                           AD       S+2                                   #  01 - 00001
009759,001437: 10,2717           00006                           EXTEND                                         
009760,001438: 10,2720           06002                           RXOR     Q                                     #  10 - 37776, C(Q) = -0
009761,001439: 10,2721           55034                           TS       KEEP1                                 
009762,001440: 10,2722           04770                           TC       ERRORS                                
009763,001441: 10,2723           31034                           CA       KEEP1                                 
009764,001442: 10,2724           04762                           TC       -1CHK                                 
009765,001443: 
009766,001444: 10,2725           04224                           TC       CHECKNJ                               #  CHECK FOR NEW JOB
009767,001445: 10,2726           02732                           TC       XTRANDX                               
009768,001446: 
009769,001447:                                                                                                  #  NEXT THREE CONSTANTS ARE ADDRESSESS USED BY EXTRACODE INSTRUCTIONS
009770,001448: 10,2727           02740        ADRSBZMF           ADRES    NDXBZMF                               
009771,001449: 10,2730           02744        ADRSDCA            ADRES    NDXDCA                                
009772,001450: 10,2731           03033        ADRSQXCH           ADRES    NDXAUG                                
009773,001451: 
009774,001452:                                                                                                  #  NORMAL USE OF INDEX WITH EXTRACODE INSTRUCTIONS
009775,001453:                                                                                                  #  INDEX INSTRUCTION USED WITH INDEX AND BZF
009776,001454: 10,2732           34711        XTRANDX            CA       S+ZERO                                
009777,001455: 10,2733           00006                           EXTEND                                         
009778,001456: 10,2734           54711                           NDX      S+ZERO                                
009779,001457: 10,2735           52727                           NDX      ADRSBZMF                              
009780,001458: 10,2736           10000                           BZF      00000                                 #  BZF +2
009781,001459: 10,2737           04770                           TC       ERRORS                                
009782,001460:                                                                                                  #  INDEX INSTRUCTION USED WITH BZMF
009783,001461: 10,2740           00006        NDXBZMF            EXTEND                                         
009784,001462: 10,2741           52730                           NDX      ADRSDCA                               
009785,001463: 10,2742           60000                           BZMF     0000                                  #  BZMF+2
009786,001464: 10,2743           04770                           TC       ERRORS                                
009787,001465:                                                                                                  #  INDEX INSTRUCTION USED WITH DCA
009788,001466: 10,2744           00006        NDXDCA             EXTEND                                         
009789,001467: 10,2745           54751                           INDEX    ADRS+1                                #  DCA S+1
009790,001468: 10,2746           30001                           DCA      0000                                  #  C(A) = +1, C(L) = +2
009791,001469: 10,2747           40000                           CS       A                                     
009792,001470: 10,2750           60001                           AD       L                                     
009793,001471: 10,2751           04761                           TC       -1CHK      -1                         
009794,001472:                                                                                                  #  INDEX INSTRUCTION USED WITH DCS
009795,001473: 10,2752           00006                           EXTEND                                         
009796,001474: 10,2753           54751                           INDEX    ADRS+1                                #  DCS S+1
009797,001475: 10,2754           40001                           DCS      0000                                  #  C(A) = -1, C(L) = -2
009798,001476: 10,2755           40000                           CS       A                                     
009799,001477: 10,2756           60001                           AD       L                                     
009800,001478: 10,2757           04762                           TC       -1CHK                                 
009801,001479:                                                                                                  #  INDEX INSTRUCTION USED WITH MP AND SU
009802,001480: 10,2760           34725                           CA       S+MAX                                 #  37777
009803,001481: 10,2761           00006                           EXTEND                                         
009804,001482: 10,2762           54751                           NDX      ADRS+1                                
009805,001483: 10,2763           70001                           MP       0001                                  #  C(A) = 1, C(L) = 37776

Page 238

009807,001485: 10,2764           04761                           TC       -1CHK      -1                         
009808,001486: 10,2765           34725                           CA       S+MAX                                 #  37777
009809,001487: 10,2766           00006                           EXTEND                                         
009810,001488: 10,2767           54712                           NDX      S+1                                   
009811,001489: 10,2770           60000                           SU       0000                                  
009812,001490: 10,2771           04761                           TC       -1CHK      -1                         
009813,001491:                                                                                                  #  INDEX INSTRUCTION USED WITH DV
009814,001492: 10,2772           34747        NDXDV              CA       DV1CON                                #  PUT 14000 (3/8) IN KEEP3
009815,001493: 10,2773           55036                           TS       KEEP3                                 
009816,001494: 10,2774           34711                           CA       S+ZERO                                
009817,001495: 10,2775           54001                           TS       L                                     
009818,001496: 10,2776           34706                           CA       SBIT13                                #  10000
009819,001497: 10,2777           00006                           EXTEND                                         
009820,001498: 10,3000           54665                           NDX      ADRS3                                 
009821,001499: 10,3001           10000                           DV       0000                                  #  C(A) = 25252, C(L) = 10000
009822,001500: 10,3002           55034                           TS       KEEP1                                 
009823,001501: 10,3003           34746                           CA       S-ZERO                                
009824,001502: 10,3004           56001                           XCH      L                                     
009825,001503: 10,3005           40000                           CS       A                                     
009826,001504: 10,3006           00006                           EXTEND                                         
009827,001505: 10,3007           54665                           NDX      ADRS3                                 
009828,001506: 10,3010           10000                           DV       0000                                  
009829,001507: 10,3011           61034                           AD       KEEP1                                 
009830,001508: 10,3012           04754                           TC       -0CHK                                 
009831,001509:                                                                                                  #  INDEX USED WITH MSU (C(A) = +0, C(K) = -0) (RESULT = -1)
009832,001510: 10,3013           34711        NDXMSU             CA       S+ZERO                                
009833,001511: 10,3014           55034                           TS       KEEP1                                 
009834,001512: 10,3015           40000                           CS       A                                     
009835,001513: 10,3016           00006                           EXTEND                                         
009836,001514: 10,3017           54663                           NDX      ADRS1                                 #  MSU KEEP1
009837,001515: 10,3020           20000                           MSU      0000                                  #  C(A) = -1
009838,001516: 10,3021           04762                           TC       -1CHK                                 
009839,001517:                                                                                                  #  INDEX USED WITH QXCH
009840,001518: 10,3022           32731        NDXQXCH            CA       ADRSQXCH                              
009841,001519: 10,3023           55034                           TS       KEEP1                                 
009842,001520: 10,3024           03026                           TC       +2                                    
009843,001521: 10,3025           04770                           TC       ERRORS                                
009844,001522: 10,3026           00006                           EXTEND                                         
009845,001523: 10,3027           54663                           NDX      ADRS1                                 #  QXCH KEEP1
009846,001524: 10,3030           22000                           QXCH     0000                                  
009847,001525: 10,3031           00002                           TC       Q                                     
009848,001526: 10,3032           04770                           TC       ERRORS                                
009849,001527:                                                                                                  #  INDEX USED WITH AUG
009850,001528: 10,3033           44711        NDXAUG             CS       S+ZERO                                
009851,001529: 10,3034           55034                           TS       KEEP1                                 #  00000
009852,001530: 10,3035           00006                           EXTEND                                         
009853,001531: 10,3036           54663                           NDX      ADRS1                                 #  AUG KEEP1
009854,001532: 10,3037           24000                           AUG      0000                                  
009855,001533: 10,3040           31034                           CA       KEEP1                                 
009856,001534: 10,3041           04762                           TC       -1CHK                                 
009857,001535: 

Page 239

009859,001537:                                                                                                  #  INDEX USED WITH DIM
009860,001538: 10,3042           34713        NDXDIM             CA       S+2                                   
009861,001539: 10,3043           55034                           TS       KEEP1                                 
009862,001540: 10,3044           00006                           EXTEND                                         
009863,001541: 10,3045           54663                           NDX      ADRS1                                 #  DIM KEEP1
009864,001542: 10,3046           26000                           DIM      0000                                  
009865,001543: 10,3047           41034                           CS       KEEP1                                 
009866,001544: 10,3050           04762                           TC       -1CHK                                 
009867,001545: 
009868,001546:                                                                                                  #  NORMAL USE OF INDEX WITH IN-OUT INSTRUCTIONS
009869,001547:                                                                                                  #  INDEX USED WITH WRITE AND READ
009870,001548: 10,3051           34745        NDXINOUT           CA       S-1                                   
009871,001549: 10,3052           00006                           EXTEND                                         
009872,001550: 10,3053           54712                           NDX      S+1                                   #  WRITE L
009873,001551: 10,3054           01000                           WRITE    0000                                  
009874,001552: 10,3055           40000                           CS       A                                     
009875,001553: 10,3056           00006                           EXTEND                                         
009876,001554: 10,3057           54712                           NDX      S+1                                   #  READ L
009877,001555: 10,3060           00000                           READ     0000                                  
009878,001556: 10,3061           04762                           TC       -1CHK                                 
009879,001557:                                                                                                  #  INDEX USED WITH RAND
009880,001558: 10,3062           34712                           CA       S+1                                   #  00001
009881,001559: 10,3063           54001                           TS       L                                     
009882,001560: 10,3064           34746                           CA       S-ZERO                                #  77777
009883,001561: 10,3065           00006                           EXTEND                                         
009884,001562: 10,3066           54712                           NDX      S+1                                   #  RAND L
009885,001563: 10,3067           02000                           RAND     00000                                 
009886,001564: 10,3070           04761                           TC       -1CHK      -1                         
009887,001565:                                                                                                  #  INDEX USED WITH WAND
009888,001566: 10,3071           34726                           CA       S-MAX                                 #  40000
009889,001567: 10,3072           64712                           AD       S+1                                   #  40001
009890,001568: 10,3073           54001                           TS       L                                     
009891,001569: 10,3074           34725                           CA       S+MAX                                 #  37777
009892,001570: 10,3075           00006                           EXTEND                                         
009893,001571: 10,3076           54712                           NDX      S+1                                   #  WAND L
009894,001572: 10,3077           03000                           WAND     0000                                  #  C(A) = C(L) = +1
009895,001573: 10,3100           04761                           TC       -1CHK      -1                         
009896,001574: 10,3101           40001                           CS       L                                     
009897,001575: 10,3102           04762                           TC       -1CHK                                 
009898,001576:                                                                                                  #  INDEX USED WITH ROR
009899,001577: 10,3103           34712                           CA       S+1                                   
009900,001578: 10,3104           54002                           TS       Q                                     
009901,001579: 10,3105           34711                           CA       S+ZERO                                
009902,001580: 10,3106           00006                           EXTEND                                         
009903,001581: 10,3107           54713                           NDX      S+2                                   #  ROR Q
009904,001582: 10,3110           04000                           ROR      0000                                  
009905,001583: 10,3111           04761                           TC       -1CHK      -1                         
009906,001584:                                                                                                  #  INDEX USED WITH WOR
009907,001585: 10,3112           34737                           CA       S-7                                   
009908,001586: 10,3113           54001                           TS       L                                     #  77770

Page 240

009910,001588: 10,3114           34725                           CA       S+MAX                                 
009911,001589: 10,3115           64745                           AD       S-1                                   #  37776
009912,001590: 10,3116           00006                           EXTEND                                         
009913,001591: 10,3117           54712                           NDX      S+1                                   #  WOR L
009914,001592: 10,3120           05000                           WOR      0000                                  #  C(A) = C(L) = -1
009915,001593: 10,3121           04762                           TC       -1CHK                                 
009916,001594: 10,3122           30001                           CA       L                                     
009917,001595: 10,3123           04762                           TC       -1CHK                                 
009918,001596:                                                                                                  #  INDEX USED WITH RXOR
009919,001597: 10,3124           34745                           CA       S-1                                   
009920,001598: 10,3125           54001                           TS       L                                     #  77776
009921,001599: 10,3126           34725                           CA       S+MAX                                 #  37777
009922,001600: 10,3127           00006                           EXTEND                                         
009923,001601: 10,3130           54712                           NDX      S+1                                   #  RXOR L
009924,001602: 10,3131           06000                           RXOR     0000                                  #  C(A) = 40001
009925,001603: 10,3132           64725                           AD       S+MAX                                 
009926,001604: 10,3133           04761                           TC       -1CHK      -1                         
009927,001605:                                                                                                  #  CHECKS EXTRACODE INDEX OF AN SC REGISTER
009928,001606: 10,3134           34713                           CA       S+2                                   
009929,001607: 10,3135           55034                           TS       KEEP1                                 
009930,001608: 10,3136           34663                           CA       ADRS1                                 #  ADDRESS OF KEEP1
009931,001609: 10,3137           54001                           TS       L                                     
009932,001610: 10,3140           34712                           CA       S+1                                   
009933,001611: 10,3141           00006                           EXTEND                                         
009934,001612: 10,3142           50001                           NDX      L                                     
009935,001613: 10,3143           60000                           SU       0000                                  
009936,001614: 10,3144           04762                           TC       -1CHK                                 
009937,001615: 
009938,001616:                                                                                                  #  CHECK OF SPECIAL AND CENTRAL REGISTERS
009939,001617:                                                                                                  #  CHANGE OF SIGN BY ADDING SAME NUMBER (ADDER)
009940,001618: 10,3145           34707        ADDCHK             CA       SBIT14                                #  20000
009941,001619: 10,3146           60000                           AD       A                                     #  01 -00000
009942,001620: 10,3147           54000                           TS       A                                     
009943,001621: 10,3150           04770                           TC       ERRORS                                
009944,001622: 10,3151           60000                           AD       A                                     #  10 - 00000
009945,001623: 10,3152           54000                           TS       A                                     
009946,001624: 10,3153           04770                           TC       ERRORS                                
009947,001625: 10,3154           60000                           AD       A                                     #  00001
009948,001626: 10,3155           54000                           TS       A                                     
009949,001627: 10,3156           03160                           TC       +2                                    
009950,001628: 10,3157           04770                           TC       ERRORS                                
009951,001629: 10,3160           04761                           TC       -1CHK      -1                         
009952,001630: 
009953,001631:                                                                                                  #  NORMAL OPERATION OF CYCLE RIGHT REGISTER
009954,001632: 10,3161           34733        CYRCHK             CA       CYRCON                                #  57761
009955,001633: 10,3162           55040                           TS       KEEP5                                 #  COUNTDOWN REGISTER
009956,001634: 10,3163           34726                           CA       S-MAX                                 #  40000
009957,001635: 10,3164           54020                           TS       CYR                                   
009958,001636: 10,3165           10020        CYRLOOP            CCS      CYR                                   
009959,001637: 10,3166           03172                           TC       CYRCNTDN                              

Page 241

009961,001639: 10,3167           04770                           TC       ERRORS                                
009962,001640: 10,3170           03174                           TC       ENDCYR                                
009963,001641: 10,3171           04770                           TC       ERRORS                                
009964,001642: 10,3172           25040        CYRCNTDN           INCR     KEEP5                                 
009965,001643: 10,3173           03165                           TC       CYRLOOP                               
009966,001644: 10,3174           31040        ENDCYR             CA       KEEP5                                 #  57777
009967,001645: 10,3175           60020                           AD       CYR                                   #  C(CYR) = 20000
009968,001646: 10,3176           10000                           CCS      A                                     #  -0 = END OF CYCLE RIGHT CHECK
009969,001647: 10,3177           04770                           TC       ERRORS                                
009970,001648: 10,3200           04770                           TC       ERRORS                                
009971,001649: 10,3201           04770                           TC       ERRORS                                
009972,001650: 
009973,001651:                                                                                                  #  NORMAL OPERATION OF CYCLE LEFT REGISTER
009974,001652: 10,3202           34735        CYLCHK             CA       S-15                                  #  77760, -15
009975,001653: 10,3203           55040                           TS       KEEP5                                 #  COUNT REGISTER
009976,001654: 10,3204           34726                           CA       S-MAX                                 #  40000
009977,001655: 10,3205           54022                           TS       CYL                                   
009978,001656: 10,3206           10022        CYLLOOP            CCS      CYL                                   
009979,001657: 10,3207           03213                           TC       CYLCNTDN                              
009980,001658: 10,3210           04770                           TC       ERRORS                                
009981,001659: 10,3211           03215                           TC       ENDCYL                                
009982,001660: 10,3212           04770                           TC       ERRORS                                
009983,001661: 10,3213           25040        CYLCNTDN           INCR     KEEP5                                 
009984,001662: 10,3214           03206                           TC       CYLLOOP                               
009985,001663: 10,3215           30022        ENDCYL             CA       CYL                                   #  C(CYL) SHOULD = +1
009986,001664: 10,3216           04761                           TC       -1CHK      -1                         
009987,001665: 10,3217           31040                           CA       KEEP5                                 
009988,001666: 10,3220           04762                           TC       -1CHK                                 
009989,001667: 
009990,001668:                                                                                                  #  NORMAL OPERATION OF SHIFT RIGHT REGISTER
009991,001669: 10,3221           34736        SRCHK              CA       S-14                                  #  77761, -14
009992,001670: 10,3222           55040                           TS       KEEP5                                 #  COUNT REGISTER
009993,001671: 10,3223           34726                           CA       S-MAX                                 #  40000
009994,001672: 10,3224           54021                           TS       SR                                    
009995,001673: 10,3225           10021        SRLOOP             CCS      SR                                    
009996,001674: 10,3226           04770                           TC       ERRORS                                
009997,001675: 10,3227           04770                           TC       ERRORS                                
009998,001676: 10,3230           03234                           TC       SRCNTDN                               
009999,001677: 10,3231           31040                           CA       KEEP5                                 #  HAS SHIFTED 14 TIMES
010000,001678: 10,3232           04762                           TC       -1CHK                                 
010001,001679: 10,3233           03236                           TC       EDOPCHK                               #  NEXT SUBROUTINE
010002,001680: 10,3234           25040        SRCNTDN            INCR     KEEP5                                 #  INCREMENT COUNT REGISTER
010003,001681: 10,3235           03225                           TC       SRLOOP                                
010004,001682: 
010005,001683:                                                                                                  #  NORMAL OPERATION OF EDOP REGISTER.  BITS 8 - 14 OF G REGISTER GO TO
010006,001684:                                                                                                  #  BITS 1 - 7 OF EDOP.
010007,001685: 10,3236           34735        EDOPCHK            CA       S-15                                  #  77760, -15
010008,001686: 10,3237           55040                           TS       KEEP5                                 #  COUNT REGISTER
010009,001687: 10,3240           34722                           CA       S7BITS                                #  00177
010010,001688: 10,3241           54022                           TS       CYL                                   

Page 242

010012,001690: 10,3242           30022        EDOPLOOP           CA       CYL                                   
010013,001691: 10,3243           54023                           TS       EDOP                                  
010014,001692: 10,3244           54020                           TS       CYR                                   #  SHIFT LEFT 7 TIMES
010015,001693: 10,3245           30020                           CA       CYR                                   
010016,001694: 10,3246           30020                           CA       CYR                                   
010017,001695: 10,3247           30020                           CA       CYR                                   
010018,001696: 10,3250           30020                           CA       CYR                                   
010019,001697: 10,3251           30020                           CA       CYR                                   
010020,001698: 10,3252           30020                           CA       CYR                                   
010021,001699: 10,3253           30020                           CA       CYR                                   
010022,001700: 10,3254           74722                           MASK     S7BITS                                
010023,001701: 10,3255           40000                           CS       A                                     
010024,001702: 10,3256           55034                           TS       KEEP1                                 #  COMPLEMEMT OF C(EDOP)
010025,001703: 10,3257           34746                           CA       S-ZERO                                
010026,001704: 10,3260           70023                           MASK     EDOP                                  
010027,001705: 10,3261           61034                           AD       KEEP1                                 
010028,001706: 10,3262           04754                           TC       -0CHK                                 
010029,001707: 10,3263           25040                           INCR     KEEP5                                 #  INCREMEMT COUNT REGISTER
010030,001708: 10,3264           10023                           CCS      EDOP                                  
010031,001709: 10,3265           03242                           TC       EDOPLOOP                              
010032,001710: 10,3266           03271                           TC       ENDEDOP                               
010033,001711: 10,3267           04770                           TC       ERRORS                                
010034,001712: 10,3270           04770                           TC       ERRORS                                
010035,001713: 10,3271           31040        ENDEDOP            CA       KEEP5                                 #  SHOULD HAVE PERFORMED EDOPLOOP 14 TIMES
010036,001714: 10,3272           04762                           TC       -1CHK                                 
010037,001715: 
010038,001716: 10,3273           25046                           INCR     SCOUNT                                #  INCREMENT UPON SUCCESSFUL COMLETION
010039,001717: 
010040,001718: 10,3274           05010                           TC       SMODECHK                              
010041,001719: 
010042,001720: 

End of include-file AGC_BLK2_INSTRUCTION_CHECK.agc.  Parent file is MAIN.agc