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.

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

Page 210

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

The 00000 below is lightly circled.

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

Page 211

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

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

Page 212

008456,000131:    5007           04224                           TC       CHECKNJ                               

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

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

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

Page 213

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

Page 214

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

Page 215

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

Page 216

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

Page 217

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

Page 218

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

Page 219

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

Page 220

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

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

Page 221

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

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

Page 223

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

Page 224

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

Page 225

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

Page 226

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

Page 227

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

Page 228

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

Page 229

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

Page 230

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

Page 231

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

Page 232

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

Page 233

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

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

Page 234

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

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

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

Page 235

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

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

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

Page 236

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

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

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

Page 237

009758,001433: 10,2714           54002                           TS       Q                                     

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

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

Page 238

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

Page 239

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

Page 240

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

Page 241

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

Page 242

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

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