Apollo Guidance Computer (AGC) assembler, version 20090313, built Mar 16 2009 (c)2003-2005 Ronald S. Burkey Refer to http://www.ibiblio.org/apollo/index.html for more information. Pass #1 Pass #2 000001,000001: # Copyright 2004 Ronald S. Burkey000002,000002: # 000003,000003: # This file is part of yaAGC. 000004,000004: 000005,000005: # yaAGC is free software; you can redistribute it and/or modify 000006,000006: # it under the terms of the GNU General Public License as published by 000007,000007: # the Free Software Foundation; either version 2 of the License, or 000008,000008: # (at your option) any later version. 000009,000009: 000010,000010: # yaAGC is distributed in the hope that it will be useful, 000011,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 000012,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 000013,000013: # GNU General Public License for more details. 000014,000014: 000015,000015: # You should have received a copy of the GNU General Public License 000016,000016: # along with yaAGC; if not, write to the Free Software 000017,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 000018,000018: 000019,000019: # Filename: Validation.s 000020,000020: # Purpose: This is a program which attempts to provide a validation 000021,000021: # suite --- "suite" being, perhaps, too grandiose a term --- 000022,000022: # for the instructions of the yaAGC CPU. I've written this 000023,000023: # directly from E-2052 (Savage & Drake). 000024,000024: # Mod history: 07/03/04 RSB. Began. 000025,000025: # 07/07/04 RSB. Added ValidateSmally.s. 000026,000026: # 07/10/04 RSB. Added ERRSUB. 000027,000027: # 07/23/04 RSB Added a few seconds of delay at the start 000028,000028: # of the program. 000029,000029: # 08/12/04 RSB ... and removed it again, since yaAGC has 000030,000030: # been fixed not to need it. The last time 000031,000031: # I checked, Julian's sim would still need\ 000032,000032: # it, but that was a month or so ago. 000033,000033: 000034,000034: # This program is probably not a bad introduction on how to write an AGC 000035,000035: # program that interacts with the DSKY, though it doesn't use any interrupts. 000036,000036: # What it does is pretty simple: 000037,000037: 000038,000038: # 1. Clears the DSKY, and then writes 00 to MODE of the DSKY. 000039,000039: # 2. Perform tests. Upon finding an error: 000040,000040: # a) Writes a non-zero error code to MODE of the DSKY. 000041,000041: # b) Turns on the OPR ERR lamp. 000042,000042: # c) Waits for the PRO key to be pressed. 000043,000043: # d) Turns off the OPR ERR lamp. 000044,000044: # e) Proceeds with further tests. 000045,000045: # 3. When all done, writes 77 to MODE of the DSKY. 000046,000046: 000047,000047: # To keep this file from becoming too big and ponderous, most of the 000048,000048: # code is split out into include-files. 000049,000049: 000050,000050: # ------------------------------------------------------------------------- 000051,000051: 000052,000052: 4000 SETLOC 4000 # 000053,000053: 000054,000054: # An interrupt-vector table will go here when (if) I become 000055,000055: # interested in validating the interrupt behavior, but for 000056,000056: # now I'm just interested in how the instructions perform, 000057,000057: # so the program simply starts here. 000058,000058: 000059,000059: # We start by testing a few random items that pop into my 000060,000060: # mind, and then proceed to test the instructions, to the 000061,000061: # extent feasible. 000062,000062: 000063,000063: # Initialization. 000064,000064: 4000 00004 INHINT # 000065,000065: 4001 30007 CA ZEROES # zero out A 000066,000066: 4002 54061 TS ERRNUM # and the error-code 000067,000067: 4003 54062 TS ERRSUB # 000068,000068: 000069,000069: # The following has been removed because the problem in yaAGC that it worked 000070,000070: # around has been fixed. 000071,000071: # # A few seconds delay. Not needed by the test, but helpful 000072,000072: # # (given the wimpy socket mechanism I used to connect the 000073,000073: # # simulated DSKY and AGC) to allow time for the DSKY and 000074,000074: # # AGC to connect. 000075,000075: # CA THREE 000076,000076: # INITLOOP TS TEMPI 000077,000077: # CA MAXP 000078,000078: # CCS A 000079,000079: # TCF -1 000080,000080: # CA TEMPI 000081,000081: # CCS A 000082,000082: # TCF INITLOOP 000083,000083: 000084,000084: 4004 07240 TC ERRORDSP # display it on the DSKY. 000085,000085: 000086,000086: # Just a little test of ERRORDSP ... 000087,000087: # LOOP INCR ERRNUM 000088,000088: # TC ERRORDSP 000089,000089: # TCF LOOP 000090,000090: 000091,000091: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 000092,000092: # Test 1: what is in the Z register? Should be the 000093,000093: # next address after the 'CA' instruction, which I've 000094,000094: # cunningly placed in the WHERE1 constant. 000095,000095: 4005 24061 INCR ERRNUM # 000096,000096: 4006 30005 CA Z # fetch Z. 000097,000097: 4007 54001 DEST1 TS L # 000098,000098: 4010 37454 CA WHERE1 # 000099,000099: 4011 00006 EXTEND # 000100,000100: 4012 60001 SU L # 000101,000101: 4013 00006 EXTEND # 000102,000102: 4014 14016 BZF TEST1OK # 000103,000103: 4015 07240 TC ERRORDSP # Error! 000104,000104: 4016 TEST1OK # 000105,000105: 000106,000106: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 000107,000107: # Test 2: check of the editing registers. 000108,000108: # I've swiped this from the Luminary AGC self-check. 000109,000109: 4016 24061 CYCLSHFT INCR ERRNUM # 000110,000110: 4017 37455 CA CONC+S1 # 25252 000111,000111: 4020 54020 TS CYR # C(CYR) = 12525 000112,000112: 4021 54022 TS CYL # C(CYL) = 52524 000113,000113: 4022 54021 TS SR # C(SR) = 12525 000114,000114: 4023 54023 TS EDOP # C(EDOP) = 00125 000115,000115: 4024 60020 AD CYR # 37777 C(CYR) = 45252 000116,000116: 4025 60022 AD CYL # 00-12524 C(CYL) = 25251 000117,000117: 4026 60021 AD SR # 00-25251 C(SR) = 05252 000118,000118: 4027 60023 AD EDOP # 00-25376 C(EDOP) = +0 000119,000119: 4030 67456 AD CONC+S2 # C(CONC+S2) = 52400 000120,000120: 4031 07360 TC -1CHK # 000121,000121: 4032 60020 AD CYR # 45252 000122,000122: 4033 60022 AD CYL # 72523 000123,000123: 4034 60021 AD SR # 77775 000124,000124: 4035 60023 AD EDOP # 77775 000125,000125: 4036 67440 AD S+1 # 77776 000126,000126: 4037 07360 TC -1CHK # 000127,000127: 000128,000128: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 000129,000129: # Test 3: check of TC. 000130,000130: 4040 24061 INCR ERRNUM # 000131,000131: # ... add the code for this later ... 000132,000132: 000133,000133: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 000134,000134: # Test 4: check of CCS. 000135,000135: $ValidateCCS.s 000136,000001: # Copyright 2004 Ronald S. Burkey 000137,000002: # 000138,000003: # This file is part of yaAGC. 000139,000004: 000140,000005: # yaAGC is free software; you can redistribute it and/or modify 000141,000006: # it under the terms of the GNU General Public License as published by 000142,000007: # the Free Software Foundation; either version 2 of the License, or 000143,000008: # (at your option) any later version. 000144,000009: 000145,000010: # yaAGC is distributed in the hope that it will be useful, 000146,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 000147,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 000148,000013: # GNU General Public License for more details. 000149,000014: 000150,000015: # You should have received a copy of the GNU General Public License 000151,000016: # along with yaAGC; if not, write to the Free Software 000152,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 000153,000018: 000154,000019: # Filename: ValidateCCS.s 000155,000020: # Purpose: This is the part of the Validation program that validates 000156,000021: # just the CCS instruction. 000157,000022: # Mod history: 07/04/04 RSB. Began. 000158,000023: 000159,000024: # We check using values that are 000160,000025: # +-37777, +-1, and +-0, from both the accumulator and the 000161,000026: # L register. 000162,000027: 4041 24061 INCR ERRNUM # 000163,000028: 000164,000029: # First, 37777 from accumulator. 000165,000030: 4042 24062 INCR ERRSUB # 1 000166,000031: 4043 37443 CA MAXP # 000167,000032: 4044 10000 CCS A # 000168,000033: 4045 14051 TCF CCSCHK1 # 000169,000034: 4046 14252 TCF ERROR4 # 000170,000035: 4047 14252 TCF ERROR4 # 000171,000036: 4050 14252 TCF ERROR4 # 000172,000037: 4051 24062 CCSCHK1 INCR ERRSUB # 2 000173,000038: 4052 54001 TS L # 000174,000039: 4053 37444 CA MAXP-1 # 000175,000040: 4054 00006 EXTEND # 000176,000041: 4055 60001 SU L # 000177,000042: 4056 00006 EXTEND # 000178,000043: 4057 14061 BZF CCSOK1 # 000179,000044: 4060 14252 TCF ERROR4 # 000180,000045: 4061 CCSOK1 # 000181,000046: # Next, 0 and 1 from accumulator. 000182,000047: 4061 24062 INCR ERRSUB # 3 000183,000048: 4062 30007 CA ZEROES # 000184,000049: 4063 24000 INCR A # 000185,000050: 4064 10000 CCS A # 000186,000051: 4065 14071 TCF CCSCHK2 # 000187,000052: 4066 14252 TCF ERROR4 # 000188,000053: 4067 14252 TCF ERROR4 # 000189,000054: 4070 14252 TCF ERROR4 # 000190,000055: 4071 24062 CCSCHK2 INCR ERRSUB # 4 000191,000056: 4072 00006 EXTEND # 000192,000057: 4073 14075 BZF CCSOK2 # 000193,000058: 4074 14252 TCF ERROR4 # 000194,000059: 4075 CCSOK2 # 000195,000060: # Next, -37777 from accumulator. 000196,000061: 4075 24062 INCR ERRSUB # 5 000197,000062: 4076 37443 CA MAXP # 000198,000063: 4077 40000 COM # 000199,000064: 4100 10000 CCS A # 000200,000065: 4101 14252 TCF ERROR4 # 000201,000066: 4102 14252 TCF ERROR4 # 000202,000067: 4103 14105 TCF CCSCHK3 # 000203,000068: 4104 14252 TCF ERROR4 # 000204,000069: 4105 24062 CCSCHK3 INCR ERRSUB # 6 000205,000070: 4106 54001 TS L # 000206,000071: 4107 37444 CA MAXP-1 # 000207,000072: 4110 00006 EXTEND # 000208,000073: 4111 60001 SU L # 000209,000074: 4112 00006 EXTEND # 000210,000075: 4113 14115 BZF CCSOK3 # 000211,000076: 4114 14252 TCF ERROR4 # 000212,000077: 4115 CCSOK3 # 000213,000078: # Next, -0 and -1 from accumulator. 000214,000079: 4115 24062 INCR ERRSUB # 7 000215,000080: 4116 30007 CA ZEROES # 000216,000081: 4117 24000 INCR A # 000217,000082: 4120 40000 COM # 000218,000083: 4121 54001 TS L # 000219,000084: 4122 10001 CCS L # 000220,000085: 4123 14252 TCF ERROR4 # 000221,000086: 4124 14252 TCF ERROR4 # 000222,000087: 4125 14127 TCF CCSCHK4 # 000223,000088: 4126 14252 TCF ERROR4 # 000224,000089: 4127 24062 CCSCHK4 INCR ERRSUB # 10 000225,000090: 4130 40000 COM # 000226,000091: 4131 10000 CCS A # 000227,000092: 4132 14252 TCF ERROR4 # 000228,000093: 4133 14252 TCF ERROR4 # 000229,000094: 4134 14252 TCF ERROR4 # 000230,000095: 4135 00006 EXTEND # 000231,000096: 4136 14137 BZF CCSOK4 # 000232,000097: 4137 CCSOK4 # 000233,000098: # Next, 37777 from L. 000234,000099: 4137 24062 INCR ERRSUB # 11 000235,000100: 4140 37443 CA MAXP # 000236,000101: 4141 54001 TS L # 000237,000102: 4142 10001 CCS L # 000238,000103: 4143 14147 TCF CCSCHK5 # 000239,000104: 4144 14252 TCF ERROR4 # 000240,000105: 4145 14252 TCF ERROR4 # 000241,000106: 4146 14252 TCF ERROR4 # 000242,000107: 4147 24062 CCSCHK5 INCR ERRSUB # 12 000243,000108: 4150 54063 TS TEMPI # 000244,000109: 4151 37444 CA MAXP-1 # 000245,000110: 4152 00006 EXTEND # 000246,000111: 4153 60063 SU TEMPI # 000247,000112: 4154 00006 EXTEND # 000248,000113: 4155 14157 BZF CCSOK5 # 000249,000114: 4156 14252 TCF ERROR4 # 000250,000115: 4157 24062 CCSOK5 INCR ERRSUB # 13 000251,000116: 4160 37443 CA MAXP # 000252,000117: 4161 00006 EXTEND # 000253,000118: 4162 60001 SU L # 000254,000119: 4163 00006 EXTEND # 000255,000120: 4164 14166 BZF CCSOK5A # 000256,000121: 4165 14252 TCF ERROR4 # 000257,000122: 4166 CCSOK5A # 000258,000123: # Next, 0 and 1 from L. 000259,000124: 4166 24062 INCR ERRSUB # 14 000260,000125: 4167 30007 CA ZEROES # 000261,000126: 4170 24000 INCR A # 000262,000127: 4171 54001 TS L # 000263,000128: 4172 10001 CCS L # 000264,000129: 4173 14177 TCF CCSCHK6 # 000265,000130: 4174 14252 TCF ERROR4 # 000266,000131: 4175 14252 TCF ERROR4 # 000267,000132: 4176 14252 TCF ERROR4 # 000268,000133: 4177 24062 CCSCHK6 INCR ERRSUB # 15 000269,000134: 4200 54001 TS L # 000270,000135: 4201 10001 CCS L # 000271,000136: 4202 14252 TCF ERROR4 # 000272,000137: 4203 14206 TCF CCSOK6 # 000273,000138: 4204 14252 TCF ERROR4 # 000274,000139: 4205 14252 TCF ERROR4 # 000275,000140: 4206 CCSOK6 # 000276,000141: # Next, -37777 from L. 000277,000142: 4206 24062 INCR ERRSUB # 16 000278,000143: 4207 37443 CA MAXP # 000279,000144: 4210 40000 COM # 000280,000145: 4211 54001 TS L # 000281,000146: 4212 10001 CCS L # 000282,000147: 4213 14252 TCF ERROR4 # 000283,000148: 4214 14252 TCF ERROR4 # 000284,000149: 4215 14217 TCF CCSCHK7 # 000285,000150: 4216 14252 TCF ERROR4 # 000286,000151: 4217 24062 CCSCHK7 INCR ERRSUB # 17 000287,000152: 4220 54063 TS TEMPI # 000288,000153: 4221 37444 CA MAXP-1 # 000289,000154: 4222 00006 EXTEND # 000290,000155: 4223 60063 SU TEMPI # 000291,000156: 4224 00006 EXTEND # 000292,000157: 4225 14227 BZF CCSOK7A # 000293,000158: 4226 14252 TCF ERROR4 # 000294,000159: 4227 CCSOK7A # 000295,000160: # Next, -0 and -1 from L. 000296,000161: 4227 24062 INCR ERRSUB # 20 000297,000162: 4230 30007 CA ZEROES # 000298,000163: 4231 24000 INCR A # 000299,000164: 4232 40000 COM # 000300,000165: 4233 54001 TS L # 000301,000166: 4234 10001 CCS L # 000302,000167: 4235 14252 TCF ERROR4 # 000303,000168: 4236 14252 TCF ERROR4 # 000304,000169: 4237 14241 TCF CCSCHK8 # 000305,000170: 4240 14252 TCF ERROR4 # 000306,000171: 4241 24062 CCSCHK8 INCR ERRSUB # 21 000307,000172: 4242 40000 COM # 000308,000173: 4243 54001 TS L # 000309,000174: 4244 10001 CCS L # 000310,000175: 4245 14252 TCF ERROR4 # 000311,000176: 4246 14252 TCF ERROR4 # 000312,000177: 4247 14252 TCF ERROR4 # 000313,000178: 4250 14251 TCF CCSOK8A # 000314,000179: 4251 CCSOK8A # 000315,000180: # All done. 000316,000181: 4251 14253 TCF DONE4 # 000317,000182: 4252 07240 ERROR4 TC ERRORDSP # 000318,000183: 4253 30007 DONE4 CA ZEROES # 000319,000184: 4254 54062 TS ERRSUB # 000320,000185: 000321,000186: (End of include-file ValidateCCS.s, resuming Validation.s) 000321,000135: 000322,000136: 000323,000137: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 000324,000138: # Test 5: check of TCF. 000325,000139: 4255 24061 INCR ERRNUM # 000326,000140: # ... add this later ... 000327,000141: 000328,000142: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 000329,000143: # Tests 6-10 (octal): check of DAS. 000330,000144: $ValidateDAS.s 000331,000001: # Copyright 2004 Ronald S. Burkey 000332,000002: # 000333,000003: # This file is part of yaAGC. 000334,000004: 000335,000005: # yaAGC is free software; you can redistribute it and/or modify 000336,000006: # it under the terms of the GNU General Public License as published by 000337,000007: # the Free Software Foundation; either version 2 of the License, or 000338,000008: # (at your option) any later version. 000339,000009: 000340,000010: # yaAGC is distributed in the hope that it will be useful, 000341,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 000342,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 000343,000013: # GNU General Public License for more details. 000344,000014: 000345,000015: # You should have received a copy of the GNU General Public License 000346,000016: # along with yaAGC; if not, write to the Free Software 000347,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 000348,000018: 000349,000019: # Filename: ValidateDAS.s 000350,000020: # Purpose: This is the portion of the Validation program that attempts 000351,000021: # to validate the DAS instruction 000352,000022: # Mod history: 07/04/04 RSB. Began. 000353,000023: 000354,000024: # (Test 6.) What we do here is just add 000355,000025: # various numbers and check the result, including some 000356,000026: # boundary cases that generate +- overflow. 000357,000027: 4256 24061 INCR ERRNUM # 000358,000028: 000359,000029: 4257 00006 EXTEND # 000360,000030: 4260 37462 DCA BIGRNUM # Get 123454321 * 14 (octal). 000361,000031: 4261 00006 EXTEND # 000362,000032: 4262 40001 DCOM # 123454321 * -14. 000363,000033: 4263 52065 DXCH TEMPJ # Save at TEMPJ,TEMPK 000364,000034: 4264 37437 CA TWNTHREE # TEMPI is loop counter. 000365,000035: 000366,000036: # First check the normal case. 000367,000037: # The idea here is that we start with -14*123454321, go to 000368,000038: # -13*123454321, ..., -0, +1*123454321, ..., +14*123454321. 000369,000039: # Then we compare the results. 000370,000040: 4265 24062 INCR ERRSUB # 1 000371,000041: 4266 54063 DASLOOP TS TEMPI # 000372,000042: 4267 00006 EXTEND # Update the running sum. 000373,000043: 4270 37460 DCA BIGNUM # 000374,000044: 4271 20065 DAS TEMPJ # 000375,000045: 4272 00006 EXTEND # Overflow? 000376,000046: 4273 14275 BZF DASNOV1 # 000377,000047: 4274 14572 TCF VDAERROR # 000378,000048: 4275 30001 DASNOV1 CA L # L-reg 0? 000379,000049: 4276 00006 EXTEND # 000380,000050: 4277 14301 BZF DASNOV1A # 000381,000051: 4300 14572 TCF VDAERROR # 000382,000052: 4301 10063 DASNOV1A CCS TEMPI # 000383,000053: 4302 14266 TCF DASLOOP # 000384,000054: 4303 24062 INCR ERRSUB # 2 000385,000055: 4304 00006 EXTEND # Compare. 000386,000056: 4305 37462 DCA BIGRNUM # 000387,000057: 4306 00006 EXTEND # 000388,000058: 4307 60064 SU TEMPJ # 000389,000059: 4310 00006 EXTEND # 000390,000060: 4311 14313 BZF DASOK1 # 000391,000061: 4312 14572 TCF VDAERROR # 000392,000062: 4313 24062 DASOK1 INCR ERRSUB # 3 000393,000063: 4314 30001 CA L # 000394,000064: 4315 00006 EXTEND # 000395,000065: 4316 60065 SU TEMPK # 000396,000066: 4317 00006 EXTEND # 000397,000067: 4320 14322 BZF DASOK2 # 000398,000068: 4321 14572 TCF VDAERROR # 000399,000069: 4322 DASOK2 # 000400,000070: 4322 30007 CA ZEROES # 000401,000071: 4323 54062 TS ERRSUB # 000402,000072: 000403,000073: # (Test 7.) Now we check boundary cases where +- overflow are 000404,000074: # generated. Also, we check that adding +-0 doesn't change 000405,000075: # the result. 000406,000076: 4324 24061 INCR ERRNUM # 000407,000077: 4325 24062 INCR ERRSUB # 1 000408,000078: # Add +-0 to next-to-highest DP integer. 000409,000079: 4326 00006 EXTEND # 000410,000080: 4327 37500 DCA DBMAXP-1 # Next-to-highest + DP. 000411,000081: 4330 52065 DXCH TEMPJ # Store in erasable. 000412,000082: # ... first, +0. 000413,000083: 4331 00006 EXTEND # Let's add +0 to it. 000414,000084: 4332 37464 DCA DBZERO # 000415,000085: 4333 20065 DAS TEMPJ # 000416,000086: 4334 00006 EXTEND # Overflow? 000417,000087: 4335 14337 BZF DASOK3 # 000418,000088: 4336 14572 TCF VDAERROR # 000419,000089: 4337 24062 DASOK3 INCR ERRSUB # 2 000420,000090: 4340 00006 EXTEND # 000421,000091: 4341 37500 DCA DBMAXP-1 # Check if unchanged. 000422,000092: 4342 00006 EXTEND # MS word first. 000423,000093: 4343 60064 SU TEMPJ # 000424,000094: 4344 00006 EXTEND # 000425,000095: 4345 14347 BZF DASOK4 # 000426,000096: 4346 14572 TCF VDAERROR # 000427,000097: 4347 24062 DASOK4 INCR ERRSUB # 3 000428,000098: 4350 30001 CA L # LS word. 000429,000099: 4351 00006 EXTEND # 000430,000100: 4352 60065 SU TEMPK # 000431,000101: 4353 00006 EXTEND # 000432,000102: 4354 14356 BZF DASOK5 # 000433,000103: 4355 14572 TCF VDAERROR # 000434,000104: # ... now, -0. 000435,000105: 4356 24062 DASOK5 INCR ERRSUB # 4 000436,000106: 4357 00006 EXTEND # Let's add -0 to it. 000437,000107: 4360 37466 DCA DBMZERO # 000438,000108: 4361 20065 DAS TEMPJ # 000439,000109: 4362 00006 EXTEND # Overflow? 000440,000110: 4363 14365 BZF DASOK6 # 000441,000111: 4364 14572 TCF VDAERROR # 000442,000112: 4365 24062 DASOK6 INCR ERRSUB # 5 000443,000113: 4366 00006 EXTEND # 000444,000114: 4367 37500 DCA DBMAXP-1 # Check if unchanged. 000445,000115: 4370 00006 EXTEND # MS word first. 000446,000116: 4371 60064 SU TEMPJ # 000447,000117: 4372 00006 EXTEND # 000448,000118: 4373 14375 BZF DASOK7 # 000449,000119: 4374 14572 TCF VDAERROR # 000450,000120: 4375 24062 DASOK7 INCR ERRSUB # 6 000451,000121: 4376 30001 CA L # LS word. 000452,000122: 4377 00006 EXTEND # 000453,000123: 4400 60065 SU TEMPK # 000454,000124: 4401 00006 EXTEND # 000455,000125: 4402 14404 BZF DASOK8 # 000456,000126: 4403 14572 TCF VDAERROR # 000457,000127: 4404 DASOK8 # 000458,000128: # Now add +1, and make sure no overflow. 000459,000129: 4404 24062 INCR ERRSUB # 7 000460,000130: 4405 00006 EXTEND # Let's add +1 to it. 000461,000131: 4406 37470 DCA DBONE # 000462,000132: 4407 20065 DAS TEMPJ # 000463,000133: 4410 00006 EXTEND # Overflow? 000464,000134: 4411 14413 BZF DASOK9 # 000465,000135: 4412 14572 TCF VDAERROR # 000466,000136: 4413 24062 DASOK9 INCR ERRSUB # 10 octal 000467,000137: 4414 00006 EXTEND # 000468,000138: 4415 37474 DCA DBMAXP # Check result. 000469,000139: 4416 00006 EXTEND # MS word first. 000470,000140: 4417 60064 SU TEMPJ # 000471,000141: 4420 00006 EXTEND # 000472,000142: 4421 14423 BZF DASOK10 # 000473,000143: 4422 14572 TCF VDAERROR # 000474,000144: 4423 24062 DASOK10 INCR ERRSUB # 11 octal 000475,000145: 4424 30001 CA L # LS word. 000476,000146: 4425 00006 EXTEND # 000477,000147: 4426 60065 SU TEMPK # 000478,000148: 4427 00006 EXTEND # 000479,000149: 4430 14432 BZF DASOK11 # 000480,000150: 4431 14572 TCF VDAERROR # 000481,000151: 4432 DASOK11 # 000482,000152: # Now add +1 again, and make sure there is overflow and 000483,000153: # there is wraparound to +0. 000484,000154: 4432 24062 INCR ERRSUB # 12 000485,000155: 4433 00006 EXTEND # Let's add +1 to it. 000486,000156: 4434 37470 DCA DBONE # 000487,000157: 4435 20065 DAS TEMPJ # 000488,000158: 4436 67424 AD NEGONE # Positive overflow? 000489,000159: 4437 00006 EXTEND # Overflow? 000490,000160: 4440 14442 BZF DASOK12 # 000491,000161: 4441 14572 TCF VDAERROR # 000492,000162: 4442 24062 DASOK12 INCR ERRSUB # 13 000493,000163: 4443 00006 EXTEND # 000494,000164: 4444 37464 DCA DBZERO # Check result. 000495,000165: 4445 00006 EXTEND # MS word first. 000496,000166: 4446 60064 SU TEMPJ # 000497,000167: 4447 00006 EXTEND # 000498,000168: 4450 14452 BZF DASOK13 # 000499,000169: 4451 14572 TCF VDAERROR # 000500,000170: 4452 24062 DASOK13 INCR ERRSUB # 14 000501,000171: 4453 30001 CA L # LS word. 000502,000172: 4454 00006 EXTEND # 000503,000173: 4455 60065 SU TEMPK # 000504,000174: 4456 00006 EXTEND # 000505,000175: 4457 14461 BZF DASOK14 # 000506,000176: 4460 14572 TCF VDAERROR # 000507,000177: 4461 DASOK14 # 000508,000178: # Same thing now, but with negative values. 000509,000179: 4461 24062 INCR ERRSUB # 15 000510,000180: 4462 00006 EXTEND # 000511,000181: 4463 37502 DCA DBMAXN-1 # 000512,000182: 4464 52065 DXCH TEMPJ # 000513,000183: # Now add -1, and make sure no overflow. 000514,000184: 4465 00006 EXTEND # Let's add -1 to it. 000515,000185: 4466 37472 DCA DBMONE # 000516,000186: 4467 20065 DAS TEMPJ # 000517,000187: 4470 00006 EXTEND # Overflow? 000518,000188: 4471 14473 BZF DASOK15 # 000519,000189: 4472 14572 TCF VDAERROR # 000520,000190: 4473 24062 DASOK15 INCR ERRSUB # 16 000521,000191: 4474 00006 EXTEND # 000522,000192: 4475 37476 DCA DBMAXN # Check result. 000523,000193: 4476 00006 EXTEND # MS word first. 000524,000194: 4477 60064 SU TEMPJ # 000525,000195: 4500 00006 EXTEND # 000526,000196: 4501 14503 BZF DASOK16 # 000527,000197: 4502 14572 TCF VDAERROR # 000528,000198: 4503 24062 DASOK16 INCR ERRSUB # 17 000529,000199: 4504 30001 CA L # LS word. 000530,000200: 4505 00006 EXTEND # 000531,000201: 4506 60065 SU TEMPK # 000532,000202: 4507 00006 EXTEND # 000533,000203: 4510 14512 BZF DASOK17 # 000534,000204: 4511 14572 TCF VDAERROR # 000535,000205: 4512 DASOK17 # 000536,000206: # Now add -1 again, and make sure there is pos. overflow and 000537,000207: # there is wraparound to -0. 000538,000208: 4512 24062 INCR ERRSUB # 20 octal 000539,000209: 4513 00006 EXTEND # Let's add -1 to it. 000540,000210: 4514 37472 DCA DBMONE # 000541,000211: 4515 20065 DAS TEMPJ # 000542,000212: 4516 67430 AD ONE # 000543,000213: 4517 00006 EXTEND # Overflow? 000544,000214: 4520 14522 BZF DASOK18 # 000545,000215: 4521 14572 TCF VDAERROR # 000546,000216: 4522 24062 DASOK18 INCR ERRSUB # 21 octal 000547,000217: 4523 00006 EXTEND # 000548,000218: 4524 37466 DCA DBMZERO # Check result. 000549,000219: 4525 00006 EXTEND # MS word first. 000550,000220: 4526 60064 SU TEMPJ # 000551,000221: 4527 00006 EXTEND # 000552,000222: 4530 14532 BZF DASOK19 # 000553,000223: 4531 14572 TCF VDAERROR # 000554,000224: 4532 24062 DASOK19 INCR ERRSUB # 22 000555,000225: 4533 30001 CA L # LS word. 000556,000226: 4534 00006 EXTEND # 000557,000227: 4535 60065 SU TEMPK # 000558,000228: 4536 00006 EXTEND # 000559,000229: 4537 14541 BZF DASOK20 # 000560,000230: 4540 14572 TCF VDAERROR # 000561,000231: 4541 DASOK20 # 000562,000232: 000563,000233: 4541 30007 CA ZEROES # 000564,000234: 4542 54062 TS ERRSUB # 000565,000235: 000566,000236: # (Test 8.) Now we check cases where the signs of the more-significant 000567,000237: # and less-significant words disagree. 000568,000238: 4543 24061 INCR ERRNUM # 000569,000239: 000570,000240: # Check that X + -X = -0. This isn't spec'd, but I've seen 000571,000241: # a comment somewhere that it is true. 000572,000242: 4544 24062 INCR ERRSUB # 1 000573,000243: 4545 00006 EXTEND # 000574,000244: 4546 37460 DCA BIGNUM # 000575,000245: 4547 00006 EXTEND # 000576,000246: 4550 40001 DCOM # 000577,000247: 4551 52065 DXCH TEMPJ # 000578,000248: 4552 00006 EXTEND # 000579,000249: 4553 37460 DCA BIGNUM # 000580,000250: 4554 20065 DAS TEMPJ # 000581,000251: 4555 30064 CA TEMPJ # 000582,000252: 4556 10000 CCS A # 000583,000253: 4557 14572 TCF VDAERROR # 000584,000254: 4560 14572 TCF VDAERROR # 000585,000255: 4561 14572 TCF VDAERROR # 000586,000256: 4562 24062 INCR ERRSUB # 2 000587,000257: 4563 30065 CA TEMPK # 000588,000258: 4564 10000 CCS A # 000589,000259: 4565 14572 TCF VDAERROR # 000590,000260: 4566 14572 TCF VDAERROR # 000591,000261: 4567 14572 TCF VDAERROR # 000592,000262: 000593,000263: 4570 14573 TCF +3 # 000594,000264: 4571 00010 TSTEIGHT DEC 8 B-14 # 000595,000265: 4572 07240 VDAERROR TC ERRORDSP # 000596,000266: 4573 34571 CA TSTEIGHT # 000597,000267: 4574 54061 TS ERRNUM # 000598,000268: 4575 30007 CA ZEROES # 000599,000269: 4576 54062 TS ERRSUB # 000600,000270: (End of include-file ValidateDAS.s, resuming Validation.s) 000600,000144: 000601,000145: 000602,000146: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 000603,000147: # Test 11: check of LXCH. 000604,000148: $ValidateLXCH.s 000605,000001: # Copyright 2004 Ronald S. Burkey 000606,000002: # 000607,000003: # This file is part of yaAGC. 000608,000004: 000609,000005: # yaAGC is free software; you can redistribute it and/or modify 000610,000006: # it under the terms of the GNU General Public License as published by 000611,000007: # the Free Software Foundation; either version 2 of the License, or 000612,000008: # (at your option) any later version. 000613,000009: 000614,000010: # yaAGC is distributed in the hope that it will be useful, 000615,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 000616,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 000617,000013: # GNU General Public License for more details. 000618,000014: 000619,000015: # You should have received a copy of the GNU General Public License 000620,000016: # along with yaAGC; if not, write to the Free Software 000621,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 000622,000018: 000623,000019: # Filename: ValidateLXCH.s 000624,000020: # Purpose: This is the part of the Validation suite used for checking 000625,000021: # the LXCH instruction. 000626,000022: # Mod history: 07/04/04 RSB. Began. 000627,000023: 000628,000024: 4577 24061 INCR ERRNUM # 000629,000025: 000630,000026: # First we'll swap L and TEMPI 000631,000027: 4600 24062 INCR ERRSUB # 1 000632,000028: 4601 37430 CA ONE # 000633,000029: 4602 54063 TS TEMPI # 000634,000030: 4603 37424 CA NEGONE # 000635,000031: 4604 54001 TS L # 000636,000032: 4605 22063 LXCH TEMPI # 000637,000033: 4606 30063 CA TEMPI # 000638,000034: 4607 67430 AD ONE # 000639,000035: 4610 00006 EXTEND # 000640,000036: 4611 14613 BZF LXCHOK1 # 000641,000037: 4612 14711 TCF VLXERROR # 000642,000038: 4613 24062 LXCHOK1 INCR ERRSUB # 2 000643,000039: 4614 30001 CA L # 000644,000040: 4615 67424 AD NEGONE # 000645,000041: 4616 00006 EXTEND # 000646,000042: 4617 14621 BZF LXCHOK2 # 000647,000043: 4620 14711 TCF VLXERROR # 000648,000044: 4621 LXCHOK2 # 000649,000045: # Now we'll swap A and L (without overflow) 000650,000046: 4621 24062 INCR ERRSUB # 3 000651,000047: 4622 37424 CA NEGONE # 000652,000048: 4623 54001 TS L # 000653,000049: 4624 37430 CA ONE # 000654,000050: 4625 22000 LXCH A # 000655,000051: 4626 67430 AD ONE # 000656,000052: 4627 00006 EXTEND # 000657,000053: 4630 14632 BZF LXCHOK3 # 000658,000054: 4631 14711 TCF VLXERROR # 000659,000055: 4632 24062 LXCHOK3 INCR ERRSUB # 4 000660,000056: 4633 30001 CA L # 000661,000057: 4634 67424 AD NEGONE # 000662,000058: 4635 00006 EXTEND # 000663,000059: 4636 14640 BZF LXCHOK4 # 000664,000060: 4637 14711 TCF VLXERROR # 000665,000061: 4640 LXCHOK4 # 000666,000062: # Now we'll swap A and L with + overflow. 000667,000063: 4640 24062 INCR ERRSUB # 5 000668,000064: 4641 37424 CA NEGONE # 000669,000065: 4642 54001 TS L # 000670,000066: 4643 37443 CA MAXP # 000671,000067: 4644 67430 AD ONE # 000672,000068: 4645 54000 OVSK # 000673,000069: 4646 14711 TCF VLXERROR # 000674,000070: 4647 24062 INCR ERRSUB # 6 000675,000071: 4650 54000 OVSK # 000676,000072: 4651 14711 TCF VLXERROR # 000677,000073: 4652 24062 INCR ERRSUB # 7 000678,000074: 4653 22000 LXCH A # 000679,000075: 4654 67430 AD ONE # 000680,000076: 4655 00006 EXTEND # 000681,000077: 4656 14660 BZF LXCHOK5 # 000682,000078: 4657 14711 TCF VLXERROR # 000683,000079: 4660 24062 LXCHOK5 INCR ERRSUB # 10 octal 000684,000080: 4661 30001 CA L # 000685,000081: 4662 00006 EXTEND # 000686,000082: 4663 14711 BZF VLXERROR # 000687,000083: 4664 LXCHOK6 # 000688,000084: # Now we'll swap A and L with - overflow. 000689,000085: 4664 24062 INCR ERRSUB # 11 000690,000086: 4665 37424 CA NEGONE # 000691,000087: 4666 54001 TS L # 000692,000088: 4667 37447 CA MAXN # 000693,000089: 4670 67424 AD NEGONE # 000694,000090: 4671 54000 OVSK # 000695,000091: 4672 14711 TCF VLXERROR # 000696,000092: 4673 24062 INCR ERRSUB # 12 000697,000093: 4674 54000 OVSK # 000698,000094: 4675 14711 TCF VLXERROR # 000699,000095: 4676 24062 INCR ERRSUB # 13 000700,000096: 4677 22000 LXCH A # 000701,000097: 4700 67430 AD ONE # 000702,000098: 4701 00006 EXTEND # 000703,000099: 4702 14704 BZF LXCHOK7 # 000704,000100: 4703 14711 TCF VLXERROR # 000705,000101: 4704 24062 LXCHOK7 INCR ERRSUB # 14 000706,000102: 4705 30001 CA L # 000707,000103: 4706 00006 EXTEND # 000708,000104: 4707 14711 BZF VLXERROR # 000709,000105: 4710 LXCHOK8 # 000710,000106: 000711,000107: 4710 14712 TCF +2 # 000712,000108: 4711 07240 VLXERROR TC ERRORDSP # 000713,000109: 4712 30007 CA ZEROES # 000714,000110: 4713 54062 TS ERRSUB # 000715,000111: (End of include-file ValidateLXCH.s, resuming Validation.s) 000715,000148: 000716,000149: 000717,000150: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 000718,000151: # Test 12: check of INCR. 000719,000152: $ValidateINCR.s 000720,000001: # Copyright 2004 Ronald S. Burkey 000721,000002: # 000722,000003: # This file is part of yaAGC. 000723,000004: 000724,000005: # yaAGC is free software; you can redistribute it and/or modify 000725,000006: # it under the terms of the GNU General Public License as published by 000726,000007: # the Free Software Foundation; either version 2 of the License, or 000727,000008: # (at your option) any later version. 000728,000009: 000729,000010: # yaAGC is distributed in the hope that it will be useful, 000730,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 000731,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 000732,000013: # GNU General Public License for more details. 000733,000014: 000734,000015: # You should have received a copy of the GNU General Public License 000735,000016: # along with yaAGC; if not, write to the Free Software 000736,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 000737,000018: 000738,000019: # Filename: ValidateINCR.s 000739,000020: # Purpose: This is the part of the validation suite which tests the 000740,000021: # INCR instruction. 000741,000022: # Mod history: 07/05/04 RSB. Began. 000742,000023: # 07/08/04 RSB. Overflow now inhibits BZF rather than being 000743,000024: # ignored by it. 000744,000025: 000745,000026: 000746,000027: 4714 24061 INCR ERRNUM # 000747,000028: 000748,000029: # Accumulator 000749,000030: 4715 24062 INCR ERRSUB # 1 000750,000031: 4716 37424 CA NEGONE # 000751,000032: 4717 24000 INCR A # 000752,000033: 4720 00006 EXTEND # 000753,000034: 4721 14723 BZF INCROK1 # 000754,000035: 4722 15013 TCF VINERROR # 000755,000036: 4723 24062 INCROK1 INCR ERRSUB # 2 000756,000037: 4724 54000 OVSK # 000757,000038: 4725 14727 TCF INCROK2 # 000758,000039: 4726 15013 TCF VINERROR # 000759,000040: 4727 24062 INCROK2 INCR ERRSUB # 3 000760,000041: 4730 24000 INCR A # 000761,000042: 4731 54000 OVSK # 000762,000043: 4732 14734 TCF INCROK3 # 000763,000044: 4733 15013 TCF VINERROR # 000764,000045: 4734 24062 INCROK3 INCR ERRSUB # 4 000765,000046: 4735 54001 TS L # 000766,000047: 4736 37430 CA ONE # 000767,000048: 4737 00006 EXTEND # 000768,000049: 4740 60001 SU L # 000769,000050: 4741 00006 EXTEND # 000770,000051: 4742 14744 BZF INCROK4 # 000771,000052: 4743 15013 TCF VINERROR # 000772,000053: 4744 24062 INCROK4 INCR ERRSUB # 5 000773,000054: 4745 37444 CA MAXP-1 # 000774,000055: 4746 24000 INCR A # 000775,000056: 4747 54000 OVSK # 000776,000057: 4750 14752 TCF INCROK5 # 000777,000058: 4751 15013 TCF VINERROR # 000778,000059: 4752 24062 INCROK5 INCR ERRSUB # 6 000779,000060: 4753 24000 INCR A # 000780,000061: 4754 00006 EXTEND # 000781,000062: 4755 15013 BZF VINERROR # 000782,000063: 4756 24062 INCR ERRSUB # 7 000783,000064: 4757 54000 OVSK # We expect there to BE overflow. 000784,000065: 4760 15013 TCF VINERROR # 000785,000066: 000786,000067: # TEMPI 000787,000068: 4761 24062 INCR ERRSUB # 10 octal 000788,000069: 4762 37424 CA NEGONE # 000789,000070: 4763 54063 TS TEMPI # 000790,000071: 4764 24063 INCR TEMPI # 000791,000072: 4765 30063 CA TEMPI # 000792,000073: 4766 00006 EXTEND # 000793,000074: 4767 14771 BZF INCROK7 # 000794,000075: 4770 15013 TCF VINERROR # 000795,000076: 4771 24062 INCROK7 INCR ERRSUB # 11 000796,000077: 4772 24063 INCR TEMPI # 000797,000078: 4773 37430 CA ONE # 000798,000079: 4774 00006 EXTEND # 000799,000080: 4775 60001 SU L # 000800,000081: 4776 00006 EXTEND # 000801,000082: 4777 15001 BZF INCROK8 # 000802,000083: 5000 15013 TCF VINERROR # 000803,000084: 5001 24062 INCROK8 INCR ERRSUB # 12 000804,000085: 5002 37444 CA MAXP-1 # 000805,000086: 5003 54063 TS TEMPI # 000806,000087: 5004 24063 INCR TEMPI # 000807,000088: 5005 24063 INCR TEMPI # 000808,000089: 5006 30063 CA TEMPI # 000809,000090: 5007 00006 EXTEND # 000810,000091: 5010 15012 BZF INCROK9 # 000811,000092: 5011 15013 TCF VINERROR # 000812,000093: 5012 INCROK9 # 000813,000094: 000814,000095: 5012 15014 TCF +2 # 000815,000096: 5013 07240 VINERROR TC ERRORDSP # 000816,000097: 5014 30007 CA ZEROES # 000817,000098: 5015 54062 TS ERRSUB # 000818,000099: (End of include-file ValidateINCR.s, resuming Validation.s) 000818,000152: 000819,000153: 000820,000154: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 000821,000155: # Test 13: check of ADS. 000822,000156: $ValidateADS.s 000823,000001: # Copyright 2004 Ronald S. Burkey 000824,000002: # 000825,000003: # This file is part of yaAGC. 000826,000004: 000827,000005: # yaAGC is free software; you can redistribute it and/or modify 000828,000006: # it under the terms of the GNU General Public License as published by 000829,000007: # the Free Software Foundation; either version 2 of the License, or 000830,000008: # (at your option) any later version. 000831,000009: 000832,000010: # yaAGC is distributed in the hope that it will be useful, 000833,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 000834,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 000835,000013: # GNU General Public License for more details. 000836,000014: 000837,000015: # You should have received a copy of the GNU General Public License 000838,000016: # along with yaAGC; if not, write to the Free Software 000839,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 000840,000018: 000841,000019: # Filename: ValidateADS.s 000842,000020: # Purpose: This is the part of the validation suite which tests the 000843,000021: # ADS instruction. 000844,000022: # Mod history: 07/05/04 RSB. Began. 000845,000023: # 07/08/04 RSB. + and - overflow now block BZF. 000846,000024: 000847,000025: 5016 24061 INCR ERRNUM # 000848,000026: 000849,000027: 5017 24062 INCR ERRSUB # 1 000850,000028: # First, start with -3*12345, and then add 12345 until 000851,000029: # we reach 3*12345, and check. 000852,000030: 5020 37504 CA SMALRNUM # 3 * 12345 (octal) 000853,000031: 5021 40000 COM # -3 * 12345. 000854,000032: 5022 54064 TS TEMPJ # TEMPJ is running sum. 000855,000033: 5023 37433 CA FIVE # 000856,000034: 5024 54063 ADSLOOP1 TS TEMPI # TEMPI is loop counter. 000857,000035: 5025 37503 CA SMALNUM # 000858,000036: 5026 26064 ADS TEMPJ # 000859,000037: 5027 54000 OVSK # Overflow? 000860,000038: 5030 15032 TCF ADS1 # 000861,000039: 5031 15155 TCF VDSERROR # 000862,000040: 5032 00006 ADS1 EXTEND # A and TEMPJ match? 000863,000041: 5033 60064 SU TEMPJ # 000864,000042: 5034 00006 EXTEND # 000865,000043: 5035 15037 BZF ADS2 # 000866,000044: 5036 15155 TCF VDSERROR # 000867,000045: 5037 10063 ADS2 CCS TEMPI # 000868,000046: 5040 15024 TCF ADSLOOP1 # 000869,000047: 5041 24062 INCR ERRSUB # 2 000870,000048: 5042 24062 INCR ERRSUB # 3 000871,000049: # Now compare. 000872,000050: 5043 37504 CA SMALRNUM # 000873,000051: 5044 00006 EXTEND # 000874,000052: 5045 60064 SU TEMPJ # 000875,000053: 5046 00006 EXTEND # 000876,000054: 5047 15051 BZF ADS3 # 000877,000055: 5050 15155 TCF VDSERROR # 000878,000056: 5051 ADS3 # 000879,000057: 000880,000058: 5051 24062 INCR ERRSUB # 4 000881,000059: # Same, but in the opposite direction. 000882,000060: 5052 37504 CA SMALRNUM # 3 * 12345 (octal) 000883,000061: 5053 54064 TS TEMPJ # TEMPJ is running sum. 000884,000062: 5054 37433 CA FIVE # 000885,000063: 5055 54063 ADSLOOP2 TS TEMPI # TEMPI is loop counter. 000886,000064: 5056 37503 CA SMALNUM # 000887,000065: 5057 40000 COM # 000888,000066: 5060 26064 ADS TEMPJ # 000889,000067: 5061 54000 OVSK # Overflow? 000890,000068: 5062 15064 TCF ADS4 # 000891,000069: 5063 15155 TCF VDSERROR # 000892,000070: 5064 00006 ADS4 EXTEND # A and TEMPJ match? 000893,000071: 5065 60064 SU TEMPJ # 000894,000072: 5066 00006 EXTEND # 000895,000073: 5067 15071 BZF ADS5 # 000896,000074: 5070 15155 TCF VDSERROR # 000897,000075: 5071 10063 ADS5 CCS TEMPI # 000898,000076: 5072 15055 TCF ADSLOOP2 # 000899,000077: 5073 24062 INCR ERRSUB # 5 000900,000078: 5074 24062 INCR ERRSUB # 6 000901,000079: # Now compare. 000902,000080: 5075 37504 CA SMALRNUM # 000903,000081: 5076 40000 COM # 000904,000082: 5077 00006 EXTEND # 000905,000083: 5100 60064 SU TEMPJ # 000906,000084: 5101 00006 EXTEND # 000907,000085: 5102 15104 BZF ADS6 # 000908,000086: 5103 15155 TCF VDSERROR # 000909,000087: 5104 ADS6 # 000910,000088: 000911,000089: 5104 24062 INCR ERRSUB # 7 000912,000090: # The steps above didn't generate overflow. We want to 000913,000091: # check out overflow now. 000914,000092: # + Overflow 000915,000093: 5105 37430 CA ONE # 000916,000094: 5106 54001 TS L # 000917,000095: 5107 37444 CA MAXP-1 # 000918,000096: 5110 60001 AD L # 000919,000097: 5111 54000 OVSK # 000920,000098: 5112 15114 TCF ADS7 # 000921,000099: 5113 15155 TCF VDSERROR # 000922,000100: 5114 24062 ADS7 INCR ERRSUB # 10 octal 000923,000101: 5115 60001 AD L # 000924,000102: 5116 54000 OVSK # 000925,000103: 5117 15155 TCF VDSERROR # 000926,000104: 5120 24062 INCR ERRSUB # 11 OCTAL 000927,000105: 5121 00006 EXTEND # 000928,000106: 5122 15155 BZF VDSERROR # 000929,000107: 5123 ADS8 # 000930,000108: 5123 24062 INCR ERRSUB # 12 000931,000109: # - Overflow 000932,000110: 5124 37424 CA NEGONE # 000933,000111: 5125 54001 TS L # 000934,000112: 5126 37450 CA MAXN-1 # 000935,000113: 5127 60001 AD L # 000936,000114: 5130 54000 OVSK # 000937,000115: 5131 15133 TCF ADS9 # 000938,000116: 5132 15155 TCF VDSERROR # 000939,000117: 5133 24062 ADS9 INCR ERRSUB # 13 000940,000118: 5134 60001 AD L # 000941,000119: 5135 54000 OVSK # 000942,000120: 5136 15155 TCF VDSERROR # 000943,000121: 5137 24062 INCR ERRSUB # 14 000944,000122: 5140 00006 EXTEND # 000945,000123: 5141 15155 BZF VDSERROR # 000946,000124: 5142 ADS10 # 000947,000125: 000948,000126: 5142 24062 INCR ERRSUB # 15 000949,000127: # Check that X + -X = -0. This isn't spec'd, but I've seen 000950,000128: # a comment somewhere that it is true. 000951,000129: 5143 37503 CA SMALNUM # 000952,000130: 5144 40000 COM # 000953,000131: 5145 54001 TS L # 000954,000132: 5146 37503 CA SMALNUM # 000955,000133: 5147 60001 AD L # 000956,000134: 5150 10000 CCS A # 000957,000135: 5151 15155 TCF VDSERROR # 000958,000136: 5152 15155 TCF VDSERROR # 000959,000137: 5153 15155 TCF VDSERROR # 000960,000138: 000961,000139: 5154 15156 TCF +2 # 000962,000140: 5155 07240 VDSERROR TC ERRORDSP # 000963,000141: 5156 30007 CA ZEROES # 000964,000142: 5157 54062 TS ERRSUB # 000965,000143: (End of include-file ValidateADS.s, resuming Validation.s) 000965,000156: 000966,000157: 000967,000158: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 000968,000159: # Test 14: check of CA 000969,000160: $ValidateCA.s 000970,000001: # Copyright 2004 Ronald S. Burkey 000971,000002: # 000972,000003: # This file is part of yaAGC. 000973,000004: 000974,000005: # yaAGC is free software; you can redistribute it and/or modify 000975,000006: # it under the terms of the GNU General Public License as published by 000976,000007: # the Free Software Foundation; either version 2 of the License, or 000977,000008: # (at your option) any later version. 000978,000009: 000979,000010: # yaAGC is distributed in the hope that it will be useful, 000980,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 000981,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 000982,000013: # GNU General Public License for more details. 000983,000014: 000984,000015: # You should have received a copy of the GNU General Public License 000985,000016: # along with yaAGC; if not, write to the Free Software 000986,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 000987,000018: 000988,000019: # Filename: ValidateCA.s 000989,000020: # Purpose: This is the part of the Validation program that validates 000990,000021: # just the CA instruction. 000991,000022: # Mod history: 07/05/04 RSB. Began. 000992,000023: 000993,000024: 5160 24061 INCR ERRNUM # 000994,000025: 000995,000026: # Now just load and check a few values. 000996,000027: 000997,000028: 5161 24062 INCR ERRSUB # 1 000998,000029: # Start with MAXP. Generate overflow too. 000999,000030: 5162 37443 CA MAXP # Generate overflow. 001000,000031: 5163 24000 INCR A # 001001,000032: 5164 37443 CA MAXP # Load and check overflow. 001002,000033: 5165 54000 OVSK # 001003,000034: 5166 15170 TCF CA1 # 001004,000035: 5167 15261 TCF VCAERROR # 001005,000036: 5170 24062 CA1 INCR ERRSUB # 2 001006,000037: 5171 54001 TS L # Check that loaded value is right. 001007,000038: 5172 00006 EXTEND # Compute rather than load MAXP. 001008,000039: 5173 60000 SU A # 001009,000040: 5174 67443 AD MAXP # 001010,000041: 5175 00006 EXTEND # Compare. 001011,000042: 5176 60001 SU L # 001012,000043: 5177 00006 EXTEND # 001013,000044: 5200 15202 BZF CA2 # 001014,000045: 5201 15261 TCF VCAERROR # 001015,000046: 5202 CA2 # 001016,000047: 001017,000048: 5202 24062 INCR ERRSUB # 3 001018,000049: # -MAXP. 001019,000050: 5203 37447 CA MAXN # 001020,000051: 5204 54001 TS L # Check that loaded value is right. 001021,000052: 5205 00006 EXTEND # Compute rather than load MAXN. 001022,000053: 5206 60000 SU A # 001023,000054: 5207 67447 AD MAXN # 001024,000055: 5210 00006 EXTEND # Compare. 001025,000056: 5211 60001 SU L # 001026,000057: 5212 00006 EXTEND # 001027,000058: 5213 15215 BZF CA3 # 001028,000059: 5214 15261 TCF VCAERROR # 001029,000060: 5215 CA3 # 001030,000061: 001031,000062: 5215 24062 INCR ERRSUB # 4 001032,000063: # +1. 001033,000064: 5216 37430 CA ONE # 001034,000065: 5217 54001 TS L # Check that loaded value is right. 001035,000066: 5220 00006 EXTEND # Compute rather than load MAXN. 001036,000067: 5221 60000 SU A # 001037,000068: 5222 67430 AD ONE # 001038,000069: 5223 00006 EXTEND # Compare. 001039,000070: 5224 60001 SU L # 001040,000071: 5225 00006 EXTEND # 001041,000072: 5226 15230 BZF CA4 # 001042,000073: 5227 15261 TCF VCAERROR # 001043,000074: 5230 CA4 # 001044,000075: 001045,000076: 5230 24062 INCR ERRSUB # 5 001046,000077: # -1. 001047,000078: 5231 37424 CA NEGONE # 001048,000079: 5232 54001 TS L # Check that loaded value is right. 001049,000080: 5233 00006 EXTEND # Compute rather than load MAXN. 001050,000081: 5234 60000 SU A # 001051,000082: 5235 67424 AD NEGONE # 001052,000083: 5236 00006 EXTEND # Compare. 001053,000084: 5237 60001 SU L # 001054,000085: 5240 00006 EXTEND # 001055,000086: 5241 15243 BZF CA5 # 001056,000087: 5242 15261 TCF VCAERROR # 001057,000088: 5243 CA5 # 001058,000089: 001059,000090: 5243 24062 INCR ERRSUB # 6 001060,000091: # 0. 001061,000092: 5244 30007 CA ZEROES # 001062,000093: 5245 10000 CCS A # 001063,000094: 5246 15261 TCF VCAERROR # 001064,000095: 5247 15252 TCF CA6 # 001065,000096: 5250 15261 TCF VCAERROR # 001066,000097: 5251 15261 TCF VCAERROR # 001067,000098: 5252 CA6 # 001068,000099: 001069,000100: 5252 24062 INCR ERRSUB # 7 001070,000101: # -0. 001071,000102: 5253 37423 CA NEGZERO # 001072,000103: 5254 10000 CCS A # 001073,000104: 5255 15261 TCF VCAERROR # 001074,000105: 5256 15261 TCF VCAERROR # 001075,000106: 5257 15261 TCF VCAERROR # 001076,000107: 001077,000108: 5260 15262 TCF +2 # 001078,000109: 5261 07240 VCAERROR TC ERRORDSP # 001079,000110: 5262 30007 CA ZEROES # 001080,000111: 5263 54062 TS ERRSUB # 001081,000112: 001082,000113: (End of include-file ValidateCA.s, resuming Validation.s) 001082,000160: 001083,000161: 001084,000162: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 001085,000163: # Test 15: check of CS 001086,000164: $ValidateCS.s 001087,000001: # Copyright 2004 Ronald S. Burkey 001088,000002: # 001089,000003: # This file is part of yaAGC. 001090,000004: 001091,000005: # yaAGC is free software; you can redistribute it and/or modify 001092,000006: # it under the terms of the GNU General Public License as published by 001093,000007: # the Free Software Foundation; either version 2 of the License, or 001094,000008: # (at your option) any later version. 001095,000009: 001096,000010: # yaAGC is distributed in the hope that it will be useful, 001097,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 001098,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 001099,000013: # GNU General Public License for more details. 001100,000014: 001101,000015: # You should have received a copy of the GNU General Public License 001102,000016: # along with yaAGC; if not, write to the Free Software 001103,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 001104,000018: 001105,000019: # Filename: ValidateCS.s 001106,000020: # Purpose: This is the part of the Validation program that validates 001107,000021: # just the CS instruction. 001108,000022: # Mod history: 07/05/04 RSB. Began. 001109,000023: 001110,000024: 5264 24061 INCR ERRNUM # 001111,000025: 001112,000026: # Now just load and check a few values. 001113,000027: 001114,000028: 5265 24062 INCR ERRSUB # 1 001115,000029: # Start with MAXP. Generate overflow too. 001116,000030: 5266 37443 CA MAXP # Generate overflow. 001117,000031: 5267 24000 INCR A # 001118,000032: 5270 47443 CS MAXP # Load and check overflow. 001119,000033: 5271 54000 OVSK # 001120,000034: 5272 15274 TCF CS1 # 001121,000035: 5273 15355 TCF VCSERROR # 001122,000036: 5274 24062 CS1 INCR ERRSUB # 2 001123,000037: 5275 54001 TS L # Check that loaded value is right. 001124,000038: 5276 37447 CA MAXN # 001125,000039: 5277 00006 EXTEND # Compare. 001126,000040: 5300 60001 SU L # 001127,000041: 5301 00006 EXTEND # 001128,000042: 5302 15304 BZF CS2 # 001129,000043: 5303 15355 TCF VCSERROR # 001130,000044: 5304 CS2 # 001131,000045: 001132,000046: 5304 24062 INCR ERRSUB # 3 001133,000047: # -MAXP. 001134,000048: 5305 47447 CS MAXN # 001135,000049: 5306 54001 TS L # Check that loaded value is right. 001136,000050: 5307 37443 CA MAXP # 001137,000051: 5310 00006 EXTEND # Compare. 001138,000052: 5311 60001 SU L # 001139,000053: 5312 00006 EXTEND # 001140,000054: 5313 15315 BZF CS3 # 001141,000055: 5314 15355 TCF VCSERROR # 001142,000056: 5315 CS3 # 001143,000057: 001144,000058: 5315 24062 INCR ERRSUB # 4 001145,000059: # +1. 001146,000060: 5316 47430 CS ONE # 001147,000061: 5317 54001 TS L # Check that loaded value is right. 001148,000062: 5320 37424 CA NEGONE # 001149,000063: 5321 00006 EXTEND # Compare. 001150,000064: 5322 60001 SU L # 001151,000065: 5323 00006 EXTEND # 001152,000066: 5324 15326 BZF CS4 # 001153,000067: 5325 15355 TCF VCSERROR # 001154,000068: 5326 CS4 # 001155,000069: 001156,000070: 5326 24062 INCR ERRSUB # 5 001157,000071: # -1. 001158,000072: 5327 47424 CS NEGONE # 001159,000073: 5330 54001 TS L # Check that loaded value is right. 001160,000074: 5331 37430 CA ONE # 001161,000075: 5332 00006 EXTEND # Compare. 001162,000076: 5333 60001 SU L # 001163,000077: 5334 00006 EXTEND # 001164,000078: 5335 15337 BZF CS5 # 001165,000079: 5336 15355 TCF VCSERROR # 001166,000080: 5337 CS5 # 001167,000081: 001168,000082: 5337 24062 INCR ERRSUB # 6 001169,000083: # 0. 001170,000084: 5340 40007 CS ZEROES # 001171,000085: 5341 10000 CCS A # 001172,000086: 5342 15355 TCF VCSERROR # 001173,000087: 5343 15355 TCF VCSERROR # 001174,000088: 5344 15355 TCF VCSERROR # 001175,000089: 001176,000090: 5345 24062 INCR ERRSUB # 7 001177,000091: # -0. 001178,000092: 5346 47423 CS NEGZERO # 001179,000093: 5347 10000 CCS A # 001180,000094: 5350 15355 TCF VCSERROR # 001181,000095: 5351 15354 TCF CS7 # 001182,000096: 5352 15355 TCF VCSERROR # 001183,000097: 5353 15355 TCF VCSERROR # 001184,000098: 5354 CS7 # 001185,000099: 001186,000100: 5354 15356 TCF +2 # 001187,000101: 5355 07240 VCSERROR TC ERRORDSP # 001188,000102: 5356 30007 CA ZEROES # 001189,000103: 5357 54062 TS ERRSUB # 001190,000104: 001191,000105: (End of include-file ValidateCS.s, resuming Validation.s) 001191,000164: 001192,000165: 001193,000166: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 001194,000167: # Test 16: check of TS 001195,000168: $ValidateTS.s 001196,000001: # Copyright 2004 Ronald S. Burkey 001197,000002: # 001198,000003: # This file is part of yaAGC. 001199,000004: 001200,000005: # yaAGC is free software; you can redistribute it and/or modify 001201,000006: # it under the terms of the GNU General Public License as published by 001202,000007: # the Free Software Foundation; either version 2 of the License, or 001203,000008: # (at your option) any later version. 001204,000009: 001205,000010: # yaAGC is distributed in the hope that it will be useful, 001206,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 001207,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 001208,000013: # GNU General Public License for more details. 001209,000014: 001210,000015: # You should have received a copy of the GNU General Public License 001211,000016: # along with yaAGC; if not, write to the Free Software 001212,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 001213,000018: 001214,000019: # Filename: ValidateTS.s 001215,000020: # Purpose: This is the part of the Validation program that validates 001216,000021: # just the TS instruction. 001217,000022: # Mod history: 07/05/04 RSB. Began. 001218,000023: 001219,000024: 5360 24061 INCR ERRNUM # 001220,000025: 001221,000026: # I think that the "normal" uses of TS have been 001222,000027: # adequately check by the previous tests, since data has 001223,000028: # been saved and compared for correctness. In other words, 001224,000029: # we know that it correctly saves data. That leaves 001225,000030: # only weird cases like overflow behavior and +-0 to check. 001226,000031: 001227,000032: # +0. 001228,000033: 5361 24062 INCR ERRSUB # 1 001229,000034: 5362 30007 CA ZEROES # 001230,000035: 5363 54001 TS L # 001231,000036: 5364 10001 CCS L # 001232,000037: 5365 15505 TCF VTSERROR # 001233,000038: 5366 15371 TCF TS1 # 001234,000039: 5367 15370 NOOP # 001235,000040: 5370 15505 TCF VTSERROR # 001236,000041: 5371 TS1 # 001237,000042: 001238,000043: # -0. 001239,000044: 5371 24062 INCR ERRSUB # 2 001240,000045: 5372 37423 CA NEGZERO # 001241,000046: 5373 54001 TS L # 001242,000047: 5374 10001 CCS L # 001243,000048: 5375 15376 NOOP # 001244,000049: 5376 15377 NOOP # 001245,000050: 5377 15505 TCF VTSERROR # 001246,000051: 001247,000052: # +Overflow 001248,000053: 5400 24062 INCR ERRSUB # 3 001249,000054: 5401 37443 CA MAXP # 001250,000055: 5402 67435 AD TEN # 001251,000056: 5403 54001 TS L # Should be 9. 001252,000057: 5404 15505 TCF VTSERROR # No overflow. 001253,000058: 5405 24062 INCR ERRSUB # 4 001254,000059: 5406 67424 AD NEGONE # A should have been +1. 001255,000060: 5407 00006 EXTEND # 001256,000061: 5410 15412 BZF TS2 # 001257,000062: 5411 15505 TCF VTSERROR # 001258,000063: 5412 24062 TS2 INCR ERRSUB # 5 001259,000064: 5413 37434 CA NINE # 001260,000065: 5414 00006 EXTEND # 001261,000066: 5415 60001 SU L # 001262,000067: 5416 00006 EXTEND # 001263,000068: 5417 15505 BZF VTSERROR # L contains overflow. 001264,000069: 5420 30001 CA L # 001265,000070: 5421 54063 TS TEMPI # 001266,000071: 5422 15423 NOOP # 001267,000072: 5423 37434 CA NINE # 001268,000073: 5424 00006 EXTEND # 001269,000074: 5425 60063 SU TEMPI # ... but TEMPI does not. 001270,000075: 5426 00006 EXTEND # 001271,000076: 5427 15431 BZF +2 # 001272,000077: 5430 15505 TCF VTSERROR # 001273,000078: 001274,000079: 5431 TS3 # 001275,000080: 001276,000081: # -Overflow 001277,000082: 5431 24062 INCR ERRSUB # 6 001278,000083: 5432 37435 CA TEN # 001279,000084: 5433 54001 TS L # 001280,000085: 5434 37447 CA MAXN # 001281,000086: 5435 00006 EXTEND # 001282,000087: 5436 60001 SU L # 001283,000088: 5437 54001 TS L # Should be -9. 001284,000089: 5440 15505 TCF VTSERROR # No overflow. 001285,000090: 5441 24062 INCR ERRSUB # 7 001286,000091: 5442 67430 AD ONE # A should have been -1. 001287,000092: 5443 00006 EXTEND # 001288,000093: 5444 15446 BZF TS4A # 001289,000094: 5445 15505 TCF VTSERROR # 001290,000095: 5446 24062 TS4A INCR ERRSUB # 10 octal 001291,000096: 5447 37434 CA NINE # 001292,000097: 5450 60001 AD L # 001293,000098: 5451 00006 EXTEND # 001294,000099: 5452 15505 BZF VTSERROR # L contains overflow. 001295,000100: 5453 30001 CA L # 001296,000101: 5454 54063 TS TEMPI # 001297,000102: 5455 15456 NOOP # 001298,000103: 5456 37434 CA NINE # 001299,000104: 5457 60063 AD TEMPI # 001300,000105: 5460 00006 EXTEND # 001301,000106: 5461 15463 BZF +2 # ... but TEMPI does not. 001302,000107: 5462 15505 TCF VTSERROR # 001303,000108: 001304,000109: 5463 TS4 # 001305,000110: 001306,000111: # No overflow 001307,000112: 5463 24062 INCR ERRSUB # 11 001308,000113: 5464 37433 CA FIVE # 001309,000114: 5465 40000 COM # 001310,000115: 5466 54001 TS L # -5 001311,000116: 5467 15471 TCF TS5A # No overflow. 001312,000117: 5470 15505 TCF VTSERROR # Overflow. 001313,000118: 5471 24062 TS5A INCR ERRSUB # 12 001314,000119: 5472 67433 AD FIVE # A should have been -5. 001315,000120: 5473 00006 EXTEND # 001316,000121: 5474 15476 BZF TS5 # 001317,000122: 5475 15505 TCF VTSERROR # 001318,000123: 5476 24062 TS5 INCR ERRSUB # 13 001319,000124: 5477 37433 CA FIVE # 001320,000125: 5500 60001 AD L # 001321,000126: 5501 00006 EXTEND # 001322,000127: 5502 15504 BZF TS6 # 001323,000128: 5503 15505 TCF VTSERROR # 001324,000129: 5504 TS6 # 001325,000130: 001326,000131: 5504 15506 TCF +2 # 001327,000132: 5505 07240 VTSERROR TC ERRORDSP # 001328,000133: 5506 30007 CA ZEROES # 001329,000134: 5507 54062 TS ERRSUB # 001330,000135: (End of include-file ValidateTS.s, resuming Validation.s) 001330,000168: 001331,000169: 001332,000170: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 001333,000171: # Test 17: check of INDEX 001334,000172: $ValidateINDEX.s 001335,000001: # Copyright 2004 Ronald S. Burkey 001336,000002: # 001337,000003: # This file is part of yaAGC. 001338,000004: 001339,000005: # yaAGC is free software; you can redistribute it and/or modify 001340,000006: # it under the terms of the GNU General Public License as published by 001341,000007: # the Free Software Foundation; either version 2 of the License, or 001342,000008: # (at your option) any later version. 001343,000009: 001344,000010: # yaAGC is distributed in the hope that it will be useful, 001345,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 001346,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 001347,000013: # GNU General Public License for more details. 001348,000014: 001349,000015: # You should have received a copy of the GNU General Public License 001350,000016: # along with yaAGC; if not, write to the Free Software 001351,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 001352,000018: 001353,000019: # Filename: ValidateINDEX.s 001354,000020: # Purpose: This is the part of the Validation program that validates 001355,000021: # just the INDEX instruction. 001356,000022: # Mod history: 07/05/04 RSB. Began. 001357,000023: 001358,000024: 5510 24061 INCR ERRNUM # 001359,000025: 001360,000026: # First do the "basic" (non-Extracode) INDEX instruction. 001361,000027: # Just load values from the table and check them. 001362,000028: 5511 15517 TCF AFTERTAB # 001363,000029: 5512 77772 DEC -5 B-14 # 001364,000030: 5513 77766 DEC -9 B-14 # 001365,000031: 5514 77765 TABLE DEC -10 B-14 # 001366,000032: 5515 77776 DEC -1 B-14 # 001367,000033: 5516 00001 DEC 1 B-14 # 001368,000034: 5517 AFTERTAB # 001369,000035: 5517 37430 CA ONE # 001370,000036: 5520 67430 AD ONE # 001371,000037: 5521 40000 COM # 001372,000038: 5522 54063 TS TEMPI # TEMPI is -2. 001373,000039: 001374,000040: 5523 24062 INCR ERRSUB # 1 001375,000041: 5524 50063 INDEX TEMPI # 001376,000042: 5525 35514 CA TABLE # 001377,000043: 5526 67433 AD FIVE # 001378,000044: 5527 00006 EXTEND # 001379,000045: 5530 15532 BZF INDEX1 # 001380,000046: 5531 15653 TCF VNDERROR # 001381,000047: 5532 INDEX1 # 001382,000048: 5532 24062 INCR ERRSUB # 2 001383,000049: 5533 24063 INCR TEMPI # 001384,000050: 5534 50063 INDEX TEMPI # 001385,000051: 5535 35514 CA TABLE # 001386,000052: 5536 67434 AD NINE # 001387,000053: 5537 00006 EXTEND # 001388,000054: 5540 15542 BZF INDEX2 # 001389,000055: 5541 15653 TCF VNDERROR # 001390,000056: 5542 INDEX2 # 001391,000057: 5542 24062 INCR ERRSUB # 3 001392,000058: 5543 24063 INCR TEMPI # 001393,000059: 5544 50063 INDEX TEMPI # 001394,000060: 5545 35514 CA TABLE # 001395,000061: 5546 67435 AD TEN # 001396,000062: 5547 00006 EXTEND # 001397,000063: 5550 15552 BZF INDEX3 # 001398,000064: 5551 15653 TCF VNDERROR # 001399,000065: 5552 INDEX3 # 001400,000066: 5552 24062 INCR ERRSUB # 4 001401,000067: 5553 24063 INCR TEMPI # 001402,000068: 5554 50063 INDEX TEMPI # 001403,000069: 5555 35514 CA TABLE # 001404,000070: 5556 67430 AD ONE # 001405,000071: 5557 00006 EXTEND # 001406,000072: 5560 15562 BZF INDEX4 # 001407,000073: 5561 15653 TCF VNDERROR # 001408,000074: 5562 INDEX4 # 001409,000075: 5562 24062 INCR ERRSUB # 5 001410,000076: 5563 24063 INCR TEMPI # 001411,000077: 5564 50063 INDEX TEMPI # 001412,000078: 5565 35514 CA TABLE # 001413,000079: 5566 67424 AD NEGONE # 001414,000080: 5567 00006 EXTEND # 001415,000081: 5570 15572 BZF INDEX5 # 001416,000082: 5571 15653 TCF VNDERROR # 001417,000083: 5572 INDEX5 # 001418,000084: 001419,000085: # The test of the Extracode version is done the same way, 001420,000086: # except that we use DCA rather than CA to load the values. 001421,000087: # (We discard the extra word loaded into L without checking. 001422,000088: 5572 37430 CA ONE # 001423,000089: 5573 67430 AD ONE # 001424,000090: 5574 40000 COM # 001425,000091: 5575 54063 TS TEMPI # TEMPI is -2. 001426,000092: 001427,000093: 5576 24062 INCR ERRSUB # 6 001428,000094: 5577 00006 EXTEND # 001429,000095: 5600 50063 INDEX TEMPI # 001430,000096: 5601 35515 DCA TABLE # 001431,000097: 5602 67433 AD FIVE # 001432,000098: 5603 00006 EXTEND # 001433,000099: 5604 15606 BZF INDEX6 # 001434,000100: 5605 15653 TCF VNDERROR # 001435,000101: 5606 INDEX6 # 001436,000102: 5606 24062 INCR ERRSUB # 7 001437,000103: 5607 24063 INCR TEMPI # 001438,000104: 5610 00006 EXTEND # 001439,000105: 5611 50063 INDEX TEMPI # 001440,000106: 5612 35515 DCA TABLE # 001441,000107: 5613 67434 AD NINE # 001442,000108: 5614 00006 EXTEND # 001443,000109: 5615 15617 BZF INDEX7 # 001444,000110: 5616 15653 TCF VNDERROR # 001445,000111: 5617 INDEX7 # 001446,000112: 5617 24062 INCR ERRSUB # 10 octal 001447,000113: 5620 24063 INCR TEMPI # 001448,000114: 5621 00006 EXTEND # 001449,000115: 5622 50063 INDEX TEMPI # 001450,000116: 5623 35515 DCA TABLE # 001451,000117: 5624 67435 AD TEN # 001452,000118: 5625 00006 EXTEND # 001453,000119: 5626 15630 BZF INDEX8 # 001454,000120: 5627 15653 TCF VNDERROR # 001455,000121: 5630 INDEX8 # 001456,000122: 5630 24062 INCR ERRSUB # 11 001457,000123: 5631 24063 INCR TEMPI # 001458,000124: 5632 00006 EXTEND # 001459,000125: 5633 50063 INDEX TEMPI # 001460,000126: 5634 35515 DCA TABLE # 001461,000127: 5635 67430 AD ONE # 001462,000128: 5636 00006 EXTEND # 001463,000129: 5637 15641 BZF INDEX9 # 001464,000130: 5640 15653 TCF VNDERROR # 001465,000131: 5641 INDEX9 # 001466,000132: 5641 24062 INCR ERRSUB # 12 001467,000133: 5642 24063 INCR TEMPI # 001468,000134: 5643 00006 EXTEND # 001469,000135: 5644 50063 INDEX TEMPI # 001470,000136: 5645 35515 DCA TABLE # 001471,000137: 5646 67424 AD NEGONE # 001472,000138: 5647 00006 EXTEND # 001473,000139: 5650 15652 BZF INDEX10 # 001474,000140: 5651 15653 TCF VNDERROR # 001475,000141: 5652 INDEX10 # 001476,000142: 001477,000143: # We also need to check that if the following instructions 001478,000144: # are created by indexing, that they are treated as real, 001479,000145: # rather than as the special codes RELINT, INHINT, EXTEND, 001480,000146: # and RESUME: 001481,000147: # TC 3 001482,000148: # TC 4 001483,000149: # TC 6 001484,000150: # INDEX 17 001485,000151: # However, we DON'T actually check that now, since that's 001486,000152: # not the way yaAGC is implemented currently. 001487,000153: 001488,000154: 5652 15654 TCF +2 # 001489,000155: 5653 07240 VNDERROR TC ERRORDSP # 001490,000156: 5654 30007 CA ZEROES # 001491,000157: 5655 54062 TS ERRSUB # 001492,000158: (End of include-file ValidateINDEX.s, resuming Validation.s) 001492,000172: 001493,000173: 001494,000174: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 001495,000175: # Test 20: check of RELINT 001496,000176: 5656 24061 INCR ERRNUM # 001497,000177: # ... later ... 001498,000178: 001499,000179: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 001500,000180: # Test 21: check of INHINT 001501,000181: 5657 24061 INCR ERRNUM # 001502,000182: # ... later ... 001503,000183: 001504,000184: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 001505,000185: # Test 22: check of EXTEND 001506,000186: 5660 24061 INCR ERRNUM # 001507,000187: # ... later ... 001508,000188: 001509,000189: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 001510,000190: # Test 23: check of RESUME 001511,000191: 5661 24061 INCR ERRNUM # 001512,000192: # ... later ... 001513,000193: 001514,000194: 5662 16000 TCF BANK3 # 001515,000195: 6000 SETLOC 6000 # 001516,000196: 6000 BANK3 # 001517,000197: 001518,000198: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 001519,000199: # Test 24: check of DXCH 001520,000200: $ValidateDXCH.s 001521,000001: # Copyright 2004 Ronald S. Burkey 001522,000002: # 001523,000003: # This file is part of yaAGC. 001524,000004: 001525,000005: # yaAGC is free software; you can redistribute it and/or modify 001526,000006: # it under the terms of the GNU General Public License as published by 001527,000007: # the Free Software Foundation; either version 2 of the License, or 001528,000008: # (at your option) any later version. 001529,000009: 001530,000010: # yaAGC is distributed in the hope that it will be useful, 001531,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 001532,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 001533,000013: # GNU General Public License for more details. 001534,000014: 001535,000015: # You should have received a copy of the GNU General Public License 001536,000016: # along with yaAGC; if not, write to the Free Software 001537,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 001538,000018: 001539,000019: # Filename: ValidateDXCH.s 001540,000020: # Purpose: This is the part of the Validation program that validates 001541,000021: # just the DXCH instruction. 001542,000022: # Mod history: 07/05/04 RSB. Began. 001543,000023: 001544,000024: 6000 24061 INCR ERRNUM # 001545,000025: 001546,000026: # Well, exchange something. 001547,000027: 6001 37430 CA ONE # 001548,000028: 6002 54064 TS TEMPJ # 001549,000029: 6003 37424 CA NEGONE # 001550,000030: 6004 54065 TS TEMPK # 001551,000031: 6005 37433 CA FIVE # 001552,000032: 6006 54001 TS L # 001553,000033: 6007 37435 CA TEN # 001554,000034: 6010 52065 DXCH TEMPJ # 001555,000035: # Compare to see if right. 001556,000036: 6011 67424 AD NEGONE # 001557,000037: 6012 00006 EXTEND # 001558,000038: 6013 16015 BZF DXCH1 # 001559,000039: 6014 07240 TC ERRORDSP # 001560,000040: 6015 30001 DXCH1 CA L # 001561,000041: 6016 67430 AD ONE # 001562,000042: 6017 00006 EXTEND # 001563,000043: 6020 16022 BZF DXCH2 # 001564,000044: 6021 07240 TC ERRORDSP # 001565,000045: 6022 37433 DXCH2 CA FIVE # 001566,000046: 6023 40000 COM # 001567,000047: 6024 60065 AD TEMPK # 001568,000048: 6025 00006 EXTEND # 001569,000049: 6026 16030 BZF DXCH3 # 001570,000050: 6027 07240 TC ERRORDSP # 001571,000051: 6030 37435 DXCH3 CA TEN # 001572,000052: 6031 40000 COM # 001573,000053: 6032 60064 AD TEMPJ # 001574,000054: 6033 00006 EXTEND # 001575,000055: 6034 16036 BZF DXCH4 # 001576,000056: 6035 07240 TC ERRORDSP # 001577,000057: 6036 DXCH4 # 001578,000058: 001579,000059: # Now do something similar, but with initial overflow. 001580,000060: 6036 37430 CA ONE # 001581,000061: 6037 54064 TS TEMPJ # 001582,000062: 6040 37424 CA NEGONE # 001583,000063: 6041 54065 TS TEMPK # 001584,000064: 6042 37433 CA FIVE # 001585,000065: 6043 54001 TS L # 001586,000066: 6044 37443 CA MAXP # 001587,000067: 6045 67435 AD TEN # Causes overflow. 001588,000068: 6046 52065 DXCH TEMPJ # 001589,000069: 6047 54000 OVSK # 001590,000070: 6050 16052 TCF DXCH5 # 001591,000071: 6051 07240 TC ERRORDSP # 001592,000072: 6052 DXCH5 # 001593,000073: # Compare to see if right. 001594,000074: 6052 67424 AD NEGONE # 001595,000075: 6053 00006 EXTEND # 001596,000076: 6054 16056 BZF DXCH6 # 001597,000077: 6055 07240 TC ERRORDSP # 001598,000078: 6056 30001 DXCH6 CA L # 001599,000079: 6057 67430 AD ONE # 001600,000080: 6060 00006 EXTEND # 001601,000081: 6061 16063 BZF DXCH7 # 001602,000082: 6062 07240 TC ERRORDSP # 001603,000083: 6063 37433 DXCH7 CA FIVE # 001604,000084: 6064 40000 COM # 001605,000085: 6065 60065 AD TEMPK # 001606,000086: 6066 00006 EXTEND # 001607,000087: 6067 16071 BZF DXCH8 # 001608,000088: 6070 07240 TC ERRORDSP # 001609,000089: 6071 37435 DXCH8 CA TEN # 001610,000090: 6072 40000 COM # 001611,000091: 6073 24000 INCR A # 001612,000092: 6074 60064 AD TEMPJ # 001613,000093: 6075 00006 EXTEND # 001614,000094: 6076 16100 BZF DXCH9 # 001615,000095: 6077 07240 TC ERRORDSP # 001616,000096: 6100 DXCH9 # 001617,000097: 001618,000098: # There shouldn't be any sensible reason for "DXCH A", 001619,000099: # but let's check it anyhow. 001620,000100: 6100 37435 CA TEN # 001621,000101: 6101 54001 TS L # 001622,000102: 6102 37433 CA FIVE # 001623,000103: 6103 52001 DXCH A # 001624,000104: 6104 40000 COM # 001625,000105: 6105 67433 AD FIVE # 001626,000106: 6106 00006 EXTEND # 001627,000107: 6107 16111 BZF DXCH10 # 001628,000108: 6110 07240 TC ERRORDSP # 001629,000109: 6111 30001 DXCH10 CA L # 001630,000110: 6112 40000 COM # 001631,000111: 6113 67435 AD TEN # 001632,000112: 6114 00006 EXTEND # 001633,000113: 6115 16117 BZF DXCH11 # 001634,000114: 6116 07240 TC ERRORDSP # 001635,000115: 6117 DXCH11 # 001636,000116: 001637,000117: # Finally, check "DXCH L". (This wacky, undocumented 001638,000118: # case sends A to L, L to Q, and Q to A. Before you 001639,000119: # say "of course!" note that the opposite direction 001640,000120: # is equally sensible.) 001641,000121: 6117 37435 CA TEN # 001642,000122: 6120 54002 TS Q # 001643,000123: 6121 37433 CA FIVE # 001644,000124: 6122 54001 TS L # 001645,000125: 6123 37430 CA ONE # 001646,000126: 6124 52002 DXCH L # 001647,000127: 6125 40000 COM # 001648,000128: 6126 67435 AD TEN # 001649,000129: 6127 00006 EXTEND # 001650,000130: 6130 16132 BZF DXCH12 # 001651,000131: 6131 07240 TC ERRORDSP # 001652,000132: 6132 30002 DXCH12 CA Q # 001653,000133: 6133 40000 COM # 001654,000134: 6134 67433 AD FIVE # 001655,000135: 6135 00006 EXTEND # 001656,000136: 6136 16140 BZF DXCH13 # 001657,000137: 6137 07240 TC ERRORDSP # 001658,000138: 6140 30001 DXCH13 CA L # 001659,000139: 6141 67424 AD NEGONE # 001660,000140: 6142 00006 EXTEND # 001661,000141: 6143 16145 BZF DXCH14 # 001662,000142: 6144 07240 TC ERRORDSP # 001663,000143: 6145 DXCH14 # 001664,000144: (End of include-file ValidateDXCH.s, resuming Validation.s) 001664,000200: 001665,000201: 001666,000202: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 001667,000203: # Test 25: check of XCH 001668,000204: $ValidateXCH.s 001669,000001: # Copyright 2004 Ronald S. Burkey 001670,000002: # 001671,000003: # This file is part of yaAGC. 001672,000004: 001673,000005: # yaAGC is free software; you can redistribute it and/or modify 001674,000006: # it under the terms of the GNU General Public License as published by 001675,000007: # the Free Software Foundation; either version 2 of the License, or 001676,000008: # (at your option) any later version. 001677,000009: 001678,000010: # yaAGC is distributed in the hope that it will be useful, 001679,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 001680,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 001681,000013: # GNU General Public License for more details. 001682,000014: 001683,000015: # You should have received a copy of the GNU General Public License 001684,000016: # along with yaAGC; if not, write to the Free Software 001685,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 001686,000018: 001687,000019: # Filename: ValidateXCH.s 001688,000020: # Purpose: This is the part of the Validation program that validates 001689,000021: # just the XCH instruction. 001690,000022: # Mod history: 07/05/04 RSB. Began. 001691,000023: # 07/13/04 RSB. Added ERRSUB. 001692,000024: 001693,000025: 6145 24061 INCR ERRNUM # 001694,000026: 001695,000027: # Swap some stuff. 001696,000028: 6146 24062 INCR ERRSUB # 1 001697,000029: 6147 37435 CA TEN # 001698,000030: 6150 54063 TS TEMPI # 001699,000031: 6151 37433 CA FIVE # 001700,000032: 6152 56063 XCH TEMPI # 001701,000033: 6153 40000 COM # 001702,000034: 6154 67435 AD TEN # 001703,000035: 6155 00006 EXTEND # 001704,000036: 6156 16160 BZF XCH1 # 001705,000037: 6157 16247 TCF VXCERROR # 001706,000038: 6160 24062 XCH1 INCR ERRSUB # 2 001707,000039: 6161 30063 CA TEMPI # 001708,000040: 6162 40000 COM # 001709,000041: 6163 67433 AD FIVE # 001710,000042: 6164 00006 EXTEND # 001711,000043: 6165 16167 BZF XCH2 # 001712,000044: 6166 16247 TCF VXCERROR # 001713,000045: 6167 XCH2 # 001714,000046: 001715,000047: # Same, but with some overflow correction. 001716,000048: 6167 24062 INCR ERRSUB # 3 001717,000049: 6170 37435 CA TEN # 001718,000050: 6171 54063 TS TEMPI # 001719,000051: 6172 37443 CA MAXP # 001720,000052: 6173 67433 AD FIVE # 001721,000053: 6174 56063 XCH TEMPI # 001722,000054: 6175 54000 OVSK # 001723,000055: 6176 16200 TCF XCH3A # 001724,000056: 6177 16247 TCF VXCERROR # 001725,000057: 6200 24062 XCH3A INCR ERRSUB # 4 001726,000058: 6201 40000 COM # 001727,000059: 6202 67435 AD TEN # 001728,000060: 6203 00006 EXTEND # 001729,000061: 6204 16206 BZF XCH3 # 001730,000062: 6205 16247 TCF VXCERROR # 001731,000063: 6206 24062 XCH3 INCR ERRSUB # 5 001732,000064: 6207 30063 CA TEMPI # 001733,000065: 6210 24000 INCR A # 001734,000066: 6211 40000 COM # 001735,000067: 6212 67433 AD FIVE # 001736,000068: 6213 00006 EXTEND # 001737,000069: 6214 16216 BZF XCH4 # 001738,000070: 6215 16247 TCF VXCERROR # 001739,000071: 6216 XCH4 # 001740,000072: 001741,000073: # Check for "XCH A", as if it's of any interest. 001742,000074: 6216 24062 INCR ERRSUB # 6 001743,000075: 6217 37443 CA MAXP # 001744,000076: 6220 67435 AD TEN # 001745,000077: 6221 56000 XCH A # 001746,000078: 6222 54000 OVSK # 001747,000079: 6223 16247 TCF VXCERROR # 001748,000080: 6224 24062 XCH5 INCR ERRSUB # 7 001749,000081: 6225 24000 INCR A # 001750,000082: 6226 54001 TS L # 001751,000083: 6227 16230 NOOP # 001752,000084: 6230 30001 CA L # 001753,000085: 6231 40000 COM # 001754,000086: 6232 67435 AD TEN # 001755,000087: 6233 00006 EXTEND # 001756,000088: 6234 16247 BZF VXCERROR # L contains overflow. 001757,000089: 6235 30001 CA L # 001758,000090: 6236 54063 TS TEMPI # 001759,000091: 6237 16240 NOOP # 001760,000092: 6240 37435 CA TEN # 001761,000093: 6241 40000 COM # 001762,000094: 6242 60063 AD TEMPI # 001763,000095: 6243 00006 EXTEND # 001764,000096: 6244 16246 BZF +2 # ... but TEMP doesn't. 001765,000097: 6245 16247 TCF VXCERROR # 001766,000098: 001767,000099: 001768,000100: 6246 XCH6 # 001769,000101: 001770,000102: 6246 16250 TCF +2 # 001771,000103: 6247 07240 VXCERROR TC ERRORDSP # 001772,000104: 6250 30007 CA ZEROES # 001773,000105: 6251 54062 TS ERRSUB # 001774,000106: (End of include-file ValidateXCH.s, resuming Validation.s) 001774,000204: 001775,000205: 001776,000206: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 001777,000207: # Test 26: check of AD 001778,000208: $ValidateAD.s 001779,000001: # Copyright 2004 Ronald S. Burkey 001780,000002: # 001781,000003: # This file is part of yaAGC. 001782,000004: 001783,000005: # yaAGC is free software; you can redistribute it and/or modify 001784,000006: # it under the terms of the GNU General Public License as published by 001785,000007: # the Free Software Foundation; either version 2 of the License, or 001786,000008: # (at your option) any later version. 001787,000009: 001788,000010: # yaAGC is distributed in the hope that it will be useful, 001789,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 001790,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 001791,000013: # GNU General Public License for more details. 001792,000014: 001793,000015: # You should have received a copy of the GNU General Public License 001794,000016: # along with yaAGC; if not, write to the Free Software 001795,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 001796,000018: 001797,000019: # Filename: ValidateAD.s 001798,000020: # Purpose: This is the part of the Validation program that validates 001799,000021: # just the AD instruction. 001800,000022: # Mod history: 07/05/04 RSB. Began. 001801,000023: 001802,000024: 6252 24061 INCR ERRNUM # 001803,000025: 001804,000026: # First, just add a bunch of stuff and compare. 001805,000027: # We start with -3*12345 (octal) and add 12345 001806,000028: # until we reach 3*12345. 001807,000029: 6253 37503 CA SMALNUM # 001808,000030: 6254 54065 TS TEMPK # TEMPK is the addend. 001809,000031: 6255 37504 CA SMALRNUM # 001810,000032: 6256 40000 COM # 001811,000033: 6257 54064 TS TEMPJ # TEMPJ is the running sum. 001812,000034: 6260 37433 CA FIVE # 001813,000035: 6261 24062 INCR ERRSUB # 001814,000036: 6262 54063 ADLOOP TS TEMPI # TEMPI is loop counter. 001815,000037: 6263 30064 CA TEMPJ # 001816,000038: 6264 60065 AD TEMPK # 001817,000039: 6265 54000 OVSK # Should be no overflow. 001818,000040: 6266 16270 TCF AD1 # 001819,000041: 6267 16355 TCF MADERROR # ERRSUB==1 001820,000042: 6270 54064 AD1 TS TEMPJ # 001821,000043: 6271 10063 CCS TEMPI # 001822,000044: 6272 16262 TCF ADLOOP # 001823,000045: # Check if correct. 001824,000046: 6273 24062 INCR ERRSUB # 001825,000047: 6274 30064 CA TEMPJ # 001826,000048: 6275 40000 COM # 001827,000049: 6276 67504 AD SMALRNUM # 001828,000050: 6277 00006 EXTEND # 001829,000051: 6300 16302 BZF AD2 # 001830,000052: 6301 16355 TCF MADERROR # ERRSUB==2 001831,000053: 6302 AD2 # 001832,000054: 001833,000055: # Now check +- overflow. 001834,000056: 6302 24062 INCR ERRSUB # 001835,000057: 6303 37443 CA MAXP # 001836,000058: 6304 67430 AD ONE # 001837,000059: 6305 54000 OVSK # 001838,000060: 6306 16355 TCF MADERROR # ERRSUB==3 001839,000061: 6307 24062 INCR ERRSUB # 001840,000062: 6310 54001 TS L # 001841,000063: 6311 16312 NOOP # 001842,000064: 6312 30001 CA L # 001843,000065: 6313 54063 TS TEMPI # 001844,000066: 6314 16315 NOOP # 001845,000067: 6315 10001 CCS L # 001846,000068: 6316 16322 TCF +4 # 001847,000069: 6317 16355 TCF MADERROR # ERRSUB==4 001848,000070: 6320 16355 TCF MADERROR # 001849,000071: 6321 16355 TCF MADERROR # 001850,000072: 6322 24062 INCR ERRSUB # 001851,000073: 6323 10063 CCS TEMPI # 001852,000074: 6324 16355 TCF MADERROR # ERRSUB==5 001853,000075: 6325 16330 TCF +3 # 001854,000076: 6326 16355 TCF MADERROR # 001855,000077: 6327 16355 TCF MADERROR # 001856,000078: 6330 24062 AD3 INCR ERRSUB # 001857,000079: 6331 37447 CA MAXN # 001858,000080: 6332 67424 AD NEGONE # 001859,000081: 6333 54000 OVSK # 001860,000082: 6334 16355 TCF MADERROR # ERRSUB==6 001861,000083: 6335 24062 INCR ERRSUB # 001862,000084: 6336 54001 TS L # 001863,000085: 6337 16340 NOOP # 001864,000086: 6340 30001 CA L # 001865,000087: 6341 54063 TS TEMPI # 001866,000088: 6342 16343 NOOP # 001867,000089: 6343 10001 CCS L # 001868,000090: 6344 16345 NOOP # 001869,000091: 6345 16355 TCF MADERROR # 001870,000092: 6346 16350 TCF +2 # 001871,000093: 6347 16355 TCF MADERROR # ERRSUB==7 001872,000094: 6350 10063 CCS TEMPI # 001873,000095: 6351 16352 NOOP # 001874,000096: 6352 16353 NOOP # 001875,000097: 6353 16355 TCF MADERROR # ERRSUB==7 001876,000098: 001877,000099: # We don't need to check "AD A", as this is checked 001878,000100: # for the DOUBLE instruction. 001879,000101: 001880,000102: 6354 16356 TCF +2 # 001881,000103: 6355 07240 MADERROR TC ERRORDSP # 001882,000104: 6356 30007 CA ZEROES # 001883,000105: 6357 54062 TS ERRSUB # 001884,000106: (End of include-file ValidateAD.s, resuming Validation.s) 001884,000208: 001885,000209: 001886,000210: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 001887,000211: # Test 27: check of MASK 001888,000212: $ValidateMASK.s 001889,000001: # Copyright 2004 Ronald S. Burkey 001890,000002: # 001891,000003: # This file is part of yaAGC. 001892,000004: 001893,000005: # yaAGC is free software; you can redistribute it and/or modify 001894,000006: # it under the terms of the GNU General Public License as published by 001895,000007: # the Free Software Foundation; either version 2 of the License, or 001896,000008: # (at your option) any later version. 001897,000009: 001898,000010: # yaAGC is distributed in the hope that it will be useful, 001899,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 001900,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 001901,000013: # GNU General Public License for more details. 001902,000014: 001903,000015: # You should have received a copy of the GNU General Public License 001904,000016: # along with yaAGC; if not, write to the Free Software 001905,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 001906,000018: 001907,000019: # Filename: ValidateMASK.s 001908,000020: # Purpose: This is the part of the Validation program that validates 001909,000021: # just the MASK instruction. 001910,000022: # Mod history: 07/05/04 RSB. Began. 001911,000023: 001912,000024: 6360 24061 INCR ERRNUM # 001913,000025: 001914,000026: # Just check a few values. 001915,000027: 6361 24062 INCR ERRSUB # 1 001916,000028: 6362 37505 CA MASKL1 # 001917,000029: 6363 77507 MASK MASKL2 # 001918,000030: 6364 40000 COM # 001919,000031: 6365 67511 AD ANDL1L2 # 001920,000032: 6366 00006 EXTEND # 001921,000033: 6367 16371 BZF MASK1 # 001922,000034: 6370 16422 TCF VMSERROR # 001923,000035: 6371 MASK1 # 001924,000036: 001925,000037: 6371 24062 INCR ERRSUB # 2 001926,000038: 6372 37505 CA MASKL1 # 001927,000039: 6373 77510 MASK MASKR2 # 001928,000040: 6374 40000 COM # 001929,000041: 6375 67512 AD ANDL1R2 # 001930,000042: 6376 00006 EXTEND # 001931,000043: 6377 16401 BZF MASK2 # 001932,000044: 6400 16422 TCF VMSERROR # 001933,000045: 6401 MASK2 # 001934,000046: 001935,000047: 6401 24062 INCR ERRSUB # 3 001936,000048: 6402 37506 CA MASKR1 # 001937,000049: 6403 77507 MASK MASKL2 # 001938,000050: 6404 40000 COM # 001939,000051: 6405 67513 AD ANDR1L2 # 001940,000052: 6406 00006 EXTEND # 001941,000053: 6407 16411 BZF MASK3 # 001942,000054: 6410 16422 TCF VMSERROR # 001943,000055: 6411 MASK3 # 001944,000056: 001945,000057: 6411 24062 INCR ERRSUB # 4 001946,000058: 6412 37506 CA MASKR1 # 001947,000059: 6413 77510 MASK MASKR2 # 001948,000060: 6414 40000 COM # 001949,000061: 6415 67514 AD ANDR1R2 # 001950,000062: 6416 00006 EXTEND # 001951,000063: 6417 16421 BZF MASK4 # 001952,000064: 6420 16422 TCF VMSERROR # 001953,000065: 6421 MASK4 # 001954,000066: 001955,000067: 6421 16423 TCF +2 # 001956,000068: 6422 07240 VMSERROR TC ERRORDSP # 001957,000069: 6423 30007 CA ZEROES # 001958,000070: 6424 54062 TS ERRSUB # 001959,000071: (End of include-file ValidateMASK.s, resuming Validation.s) 001959,000212: 001960,000213: 001961,000214: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 001962,000215: # Test 30: check of READ, WRITE, etc. 001963,000216: $ValidateIO.s 001964,000001: # Copyright 2004 Ronald S. Burkey 001965,000002: # 001966,000003: # This file is part of yaAGC. 001967,000004: 001968,000005: # yaAGC is free software; you can redistribute it and/or modify 001969,000006: # it under the terms of the GNU General Public License as published by 001970,000007: # the Free Software Foundation; either version 2 of the License, or 001971,000008: # (at your option) any later version. 001972,000009: 001973,000010: # yaAGC is distributed in the hope that it will be useful, 001974,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 001975,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 001976,000013: # GNU General Public License for more details. 001977,000014: 001978,000015: # You should have received a copy of the GNU General Public License 001979,000016: # along with yaAGC; if not, write to the Free Software 001980,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 001981,000018: 001982,000019: # Filename: ValidateIO.s 001983,000020: # Purpose: This is the part of the Validation program that validates 001984,000021: # just the i/o instructions like READ, WRITE, etc. 001985,000022: # Mod history: 07/05/04 RSB. Began. 001986,000023: 001987,000024: # There is no good way to test the i/o channel functions solely within the 001988,000025: # CPU, as both peripheral devices and user interaction are really required. 001989,000026: # We compromise (knowing that the CPU is virtual), and use the i/o channels 001990,000027: # 20-27 (octal), which are not used either in Colossus or Luminary. 001991,000028: 001992,000029: 6425 24061 INCR ERRNUM # 001993,000030: 001994,000031: # First check that L is channel 1 and Q is channel 2. 001995,000032: # Also, perform normal READs and WRITEs on channel 27. 001996,000033: 6426 24062 INCR ERRSUB # 1 001997,000034: 6427 37435 CA TEN # 001998,000035: 6430 00006 EXTEND # 001999,000036: 6431 01001 WRITE L # 002000,000037: 6432 37433 CA FIVE # 002001,000038: 6433 00006 EXTEND # 002002,000039: 6434 01002 WRITE Q # 002003,000040: 6435 37434 CA NINE # 002004,000041: 6436 00006 EXTEND # 002005,000042: 6437 01027 WRITE CH27 # 002006,000043: 6440 30001 CA L # 002007,000044: 6441 40000 COM # 002008,000045: 6442 67435 AD TEN # 002009,000046: 6443 00006 EXTEND # 002010,000047: 6444 16446 BZF IO1 # 002011,000048: 6445 17162 TCF IOERROR # 002012,000049: 6446 24062 IO1 INCR ERRSUB # 2 002013,000050: 6447 30002 CA Q # 002014,000051: 6450 40000 COM # 002015,000052: 6451 67433 AD FIVE # 002016,000053: 6452 00006 EXTEND # 002017,000054: 6453 16455 BZF IO2 # 002018,000055: 6454 17162 TCF IOERROR # 002019,000056: 6455 24062 IO2 INCR ERRSUB # 3 002020,000057: 6456 00006 EXTEND # 002021,000058: 6457 00001 READ L # 002022,000059: 6460 40000 COM # 002023,000060: 6461 67435 AD TEN # 002024,000061: 6462 00006 EXTEND # 002025,000062: 6463 16465 BZF IO3 # 002026,000063: 6464 17162 TCF IOERROR # 002027,000064: 6465 24062 IO3 INCR ERRSUB # 4 002028,000065: 6466 00006 EXTEND # 002029,000066: 6467 00002 READ Q # 002030,000067: 6470 40000 COM # 002031,000068: 6471 67433 AD FIVE # 002032,000069: 6472 00006 EXTEND # 002033,000070: 6473 16475 BZF IO4 # 002034,000071: 6474 17162 TCF IOERROR # 002035,000072: 6475 24062 IO4 INCR ERRSUB # 5 002036,000073: 6476 00006 EXTEND # 002037,000074: 6477 00027 READ CH27 # 002038,000075: 6500 40000 COM # 002039,000076: 6501 67434 AD NINE # 002040,000077: 6502 00006 EXTEND # 002041,000078: 6503 16505 BZF IO5 # 002042,000079: 6504 17162 TCF IOERROR # 002043,000080: 6505 IO5 # 002044,000081: 002045,000082: # Test RAND. 002046,000083: 6505 24062 INCR ERRSUB # 6 002047,000084: 6506 37505 CA MASKL1 # 002048,000085: 6507 00006 EXTEND # 002049,000086: 6510 01001 WRITE L # 002050,000087: 6511 37505 CA MASKL1 # 002051,000088: 6512 00006 EXTEND # 002052,000089: 6513 01002 WRITE Q # 002053,000090: 6514 37506 CA MASKR1 # 002054,000091: 6515 00006 EXTEND # 002055,000092: 6516 01026 WRITE CH26 # 002056,000093: 6517 37506 CA MASKR1 # 002057,000094: 6520 00006 EXTEND # 002058,000095: 6521 01027 WRITE CH27 # 002059,000096: 6522 37507 CA MASKL2 # 002060,000097: 6523 00006 EXTEND # 002061,000098: 6524 02001 RAND L # 002062,000099: 6525 40000 COM # 002063,000100: 6526 67511 AD ANDL1L2 # 002064,000101: 6527 00006 EXTEND # 002065,000102: 6530 16532 BZF IO6A # 002066,000103: 6531 17162 TCF IOERROR # 002067,000104: 6532 24062 IO6A INCR ERRSUB # 7 002068,000105: 6533 37510 CA MASKR2 # 002069,000106: 6534 00006 EXTEND # 002070,000107: 6535 02002 RAND Q # 002071,000108: 6536 40000 COM # 002072,000109: 6537 67512 AD ANDL1R2 # 002073,000110: 6540 00006 EXTEND # 002074,000111: 6541 16543 BZF IO7A # 002075,000112: 6542 17162 TCF IOERROR # 002076,000113: 6543 24062 IO7A INCR ERRSUB # 10 octal 002077,000114: 6544 37507 CA MASKL2 # 002078,000115: 6545 00006 EXTEND # 002079,000116: 6546 02026 RAND CH26 # 002080,000117: 6547 40000 COM # 002081,000118: 6550 67513 AD ANDR1L2 # 002082,000119: 6551 00006 EXTEND # 002083,000120: 6552 16554 BZF IO8A # 002084,000121: 6553 17162 TCF IOERROR # 002085,000122: 6554 24062 IO8A INCR ERRSUB # 11 002086,000123: 6555 37510 CA MASKR2 # 002087,000124: 6556 00006 EXTEND # 002088,000125: 6557 02027 RAND CH27 # 002089,000126: 6560 40000 COM # 002090,000127: 6561 67514 AD ANDR1R2 # 002091,000128: 6562 00006 EXTEND # 002092,000129: 6563 16565 BZF IO9A # 002093,000130: 6564 17162 TCF IOERROR # 002094,000131: 6565 IO9A # 002095,000132: 002096,000133: # Test ROR. 002097,000134: 6565 24062 INCR ERRSUB # 12 002098,000135: 6566 37505 CA MASKL1 # 002099,000136: 6567 00006 EXTEND # 002100,000137: 6570 01001 WRITE L # 002101,000138: 6571 37505 CA MASKL1 # 002102,000139: 6572 00006 EXTEND # 002103,000140: 6573 01002 WRITE Q # 002104,000141: 6574 37506 CA MASKR1 # 002105,000142: 6575 00006 EXTEND # 002106,000143: 6576 01026 WRITE CH26 # 002107,000144: 6577 37506 CA MASKR1 # 002108,000145: 6600 00006 EXTEND # 002109,000146: 6601 01027 WRITE CH27 # 002110,000147: 6602 37507 CA MASKL2 # 002111,000148: 6603 00006 EXTEND # 002112,000149: 6604 04001 ROR L # 002113,000150: 6605 40000 COM # 002114,000151: 6606 67515 AD ORL1L2 # 002115,000152: 6607 00006 EXTEND # 002116,000153: 6610 16612 BZF IO6O # 002117,000154: 6611 17162 TCF IOERROR # 002118,000155: 6612 24062 IO6O INCR ERRSUB # 13 002119,000156: 6613 37510 CA MASKR2 # 002120,000157: 6614 00006 EXTEND # 002121,000158: 6615 04002 ROR Q # 002122,000159: 6616 40000 COM # 002123,000160: 6617 67516 AD ORL1R2 # 002124,000161: 6620 00006 EXTEND # 002125,000162: 6621 16623 BZF IO7O # 002126,000163: 6622 17162 TCF IOERROR # 002127,000164: 6623 24062 IO7O INCR ERRSUB # 14 002128,000165: 6624 37507 CA MASKL2 # 002129,000166: 6625 00006 EXTEND # 002130,000167: 6626 04026 ROR CH26 # 002131,000168: 6627 40000 COM # 002132,000169: 6630 67517 AD ORR1L2 # 002133,000170: 6631 00006 EXTEND # 002134,000171: 6632 16634 BZF IO8O # 002135,000172: 6633 17162 TCF IOERROR # 002136,000173: 6634 24062 IO8O INCR ERRSUB # 15 002137,000174: 6635 37510 CA MASKR2 # 002138,000175: 6636 00006 EXTEND # 002139,000176: 6637 04027 ROR CH27 # 002140,000177: 6640 40000 COM # 002141,000178: 6641 67520 AD ORR1R2 # 002142,000179: 6642 00006 EXTEND # 002143,000180: 6643 16645 BZF IO9O # 002144,000181: 6644 17162 TCF IOERROR # 002145,000182: 6645 IO9O # 002146,000183: 002147,000184: # Test RXOR. 002148,000185: 6645 24062 INCR ERRSUB # 16 002149,000186: 6646 37505 CA MASKL1 # 002150,000187: 6647 00006 EXTEND # 002151,000188: 6650 01001 WRITE L # 002152,000189: 6651 37505 CA MASKL1 # 002153,000190: 6652 00006 EXTEND # 002154,000191: 6653 01002 WRITE Q # 002155,000192: 6654 37506 CA MASKR1 # 002156,000193: 6655 00006 EXTEND # 002157,000194: 6656 01026 WRITE CH26 # 002158,000195: 6657 37506 CA MASKR1 # 002159,000196: 6660 00006 EXTEND # 002160,000197: 6661 01027 WRITE CH27 # 002161,000198: 6662 37507 CA MASKL2 # 002162,000199: 6663 00006 EXTEND # 002163,000200: 6664 06001 RXOR L # 002164,000201: 6665 40000 COM # 002165,000202: 6666 67521 AD XORL1L2 # 002166,000203: 6667 00006 EXTEND # 002167,000204: 6670 16672 BZF IO6X # 002168,000205: 6671 17162 TCF IOERROR # 002169,000206: 6672 24062 IO6X INCR ERRSUB # 17 002170,000207: 6673 37510 CA MASKR2 # 002171,000208: 6674 00006 EXTEND # 002172,000209: 6675 06002 RXOR Q # 002173,000210: 6676 40000 COM # 002174,000211: 6677 67522 AD XORL1R2 # 002175,000212: 6700 00006 EXTEND # 002176,000213: 6701 16703 BZF IO7X # 002177,000214: 6702 17162 TCF IOERROR # 002178,000215: 6703 24062 IO7X INCR ERRSUB # 20 octal 002179,000216: 6704 37507 CA MASKL2 # 002180,000217: 6705 00006 EXTEND # 002181,000218: 6706 06026 RXOR CH26 # 002182,000219: 6707 40000 COM # 002183,000220: 6710 67523 AD XORR1L2 # 002184,000221: 6711 00006 EXTEND # 002185,000222: 6712 16714 BZF IO8X # 002186,000223: 6713 17162 TCF IOERROR # 002187,000224: 6714 24062 IO8X INCR ERRSUB # 21 002188,000225: 6715 37510 CA MASKR2 # 002189,000226: 6716 00006 EXTEND # 002190,000227: 6717 06027 RXOR CH27 # 002191,000228: 6720 40000 COM # 002192,000229: 6721 67524 AD XORR1R2 # 002193,000230: 6722 00006 EXTEND # 002194,000231: 6723 16725 BZF IO9X # 002195,000232: 6724 17162 TCF IOERROR # 002196,000233: 6725 IO9X # 002197,000234: 002198,000235: # Test WAND. 002199,000236: 6725 24062 INCR ERRSUB # 22 002200,000237: 6726 37505 CA MASKL1 # 002201,000238: 6727 00006 EXTEND # 002202,000239: 6730 01001 WRITE L # 002203,000240: 6731 37505 CA MASKL1 # 002204,000241: 6732 00006 EXTEND # 002205,000242: 6733 01002 WRITE Q # 002206,000243: 6734 37506 CA MASKR1 # 002207,000244: 6735 00006 EXTEND # 002208,000245: 6736 01026 WRITE CH26 # 002209,000246: 6737 37506 CA MASKR1 # 002210,000247: 6740 00006 EXTEND # 002211,000248: 6741 01027 WRITE CH27 # 002212,000249: 6742 37507 CA MASKL2 # 002213,000250: 6743 00006 EXTEND # 002214,000251: 6744 03001 WAND L # 002215,000252: 6745 40000 COM # 002216,000253: 6746 60001 AD L # 002217,000254: 6747 00006 EXTEND # 002218,000255: 6750 16752 BZF IO10A # 002219,000256: 6751 17162 TCF IOERROR # 002220,000257: 6752 24062 IO10A INCR ERRSUB # 23 002221,000258: 6753 37511 CA ANDL1L2 # 002222,000259: 6754 40000 COM # 002223,000260: 6755 60001 AD L # 002224,000261: 6756 00006 EXTEND # 002225,000262: 6757 16761 BZF IO11A # 002226,000263: 6760 17162 TCF IOERROR # 002227,000264: 6761 24062 IO11A INCR ERRSUB # 24 002228,000265: 6762 37510 CA MASKR2 # 002229,000266: 6763 00006 EXTEND # 002230,000267: 6764 03002 WAND Q # 002231,000268: 6765 40000 COM # 002232,000269: 6766 60002 AD Q # 002233,000270: 6767 00006 EXTEND # 002234,000271: 6770 16772 BZF IO12A # 002235,000272: 6771 17162 TCF IOERROR # 002236,000273: 6772 24062 IO12A INCR ERRSUB # 25 002237,000274: 6773 37512 CA ANDL1R2 # 002238,000275: 6774 40000 COM # 002239,000276: 6775 60002 AD Q # 002240,000277: 6776 00006 EXTEND # 002241,000278: 6777 17001 BZF IO13A # 002242,000279: 7000 17162 TCF IOERROR # 002243,000280: 7001 24062 IO13A INCR ERRSUB # 26 002244,000281: 7002 37507 CA MASKL2 # 002245,000282: 7003 00006 EXTEND # 002246,000283: 7004 03026 WAND CH26 # 002247,000284: 7005 40000 COM # 002248,000285: 7006 67513 AD ANDR1L2 # 002249,000286: 7007 00006 EXTEND # 002250,000287: 7010 17012 BZF IO14A # 002251,000288: 7011 17162 TCF IOERROR # 002252,000289: 7012 24062 IO14A INCR ERRSUB # 27 002253,000290: 7013 00006 EXTEND # 002254,000291: 7014 00026 READ CH26 # 002255,000292: 7015 40000 COM # 002256,000293: 7016 67513 AD ANDR1L2 # 002257,000294: 7017 00006 EXTEND # 002258,000295: 7020 17022 BZF IO15A # 002259,000296: 7021 17162 TCF IOERROR # 002260,000297: 7022 24062 IO15A INCR ERRSUB # 30 octal 002261,000298: 7023 37510 CA MASKR2 # 002262,000299: 7024 00006 EXTEND # 002263,000300: 7025 03027 WAND CH27 # 002264,000301: 7026 40000 COM # 002265,000302: 7027 67514 AD ANDR1R2 # 002266,000303: 7030 00006 EXTEND # 002267,000304: 7031 17033 BZF IO16A # 002268,000305: 7032 17162 TCF IOERROR # 002269,000306: 7033 24062 IO16A INCR ERRSUB # 31 002270,000307: 7034 00006 EXTEND # 002271,000308: 7035 00027 READ CH27 # 002272,000309: 7036 40000 COM # 002273,000310: 7037 67514 AD ANDR1R2 # 002274,000311: 7040 00006 EXTEND # 002275,000312: 7041 17043 BZF IO17A # 002276,000313: 7042 17162 TCF IOERROR # 002277,000314: 7043 IO17A # 002278,000315: 002279,000316: # Test WOR. 002280,000317: 7043 24062 INCR ERRSUB # 32 002281,000318: 7044 37505 CA MASKL1 # 002282,000319: 7045 00006 EXTEND # 002283,000320: 7046 01001 WRITE L # 002284,000321: 7047 37505 CA MASKL1 # 002285,000322: 7050 00006 EXTEND # 002286,000323: 7051 01002 WRITE Q # 002287,000324: 7052 37506 CA MASKR1 # 002288,000325: 7053 00006 EXTEND # 002289,000326: 7054 01026 WRITE CH26 # 002290,000327: 7055 37506 CA MASKR1 # 002291,000328: 7056 00006 EXTEND # 002292,000329: 7057 01027 WRITE CH27 # 002293,000330: 7060 37507 CA MASKL2 # 002294,000331: 7061 00006 EXTEND # 002295,000332: 7062 05001 WOR L # 002296,000333: 7063 40000 COM # 002297,000334: 7064 60001 AD L # 002298,000335: 7065 00006 EXTEND # 002299,000336: 7066 17070 BZF IO10O # 002300,000337: 7067 17162 TCF IOERROR # 002301,000338: 7070 24062 IO10O INCR ERRSUB # 33 002302,000339: 7071 37515 CA ORL1L2 # 002303,000340: 7072 40000 COM # 002304,000341: 7073 60001 AD L # 002305,000342: 7074 00006 EXTEND # 002306,000343: 7075 17077 BZF IO11O # 002307,000344: 7076 17162 TCF IOERROR # 002308,000345: 7077 24062 IO11O INCR ERRSUB # 34 002309,000346: 7100 37510 CA MASKR2 # 002310,000347: 7101 00006 EXTEND # 002311,000348: 7102 05002 WOR Q # 002312,000349: 7103 40000 COM # 002313,000350: 7104 60002 AD Q # 002314,000351: 7105 00006 EXTEND # 002315,000352: 7106 17110 BZF IO12O # 002316,000353: 7107 17162 TCF IOERROR # 002317,000354: 7110 24062 IO12O INCR ERRSUB # 35 002318,000355: 7111 37516 CA ORL1R2 # 002319,000356: 7112 40000 COM # 002320,000357: 7113 60002 AD Q # 002321,000358: 7114 00006 EXTEND # 002322,000359: 7115 17117 BZF IO13O # 002323,000360: 7116 17162 TCF IOERROR # 002324,000361: 7117 24062 IO13O INCR ERRSUB # 36 002325,000362: 7120 37507 CA MASKL2 # 002326,000363: 7121 00006 EXTEND # 002327,000364: 7122 05026 WOR CH26 # 002328,000365: 7123 40000 COM # 002329,000366: 7124 67517 AD ORR1L2 # 002330,000367: 7125 00006 EXTEND # 002331,000368: 7126 17130 BZF IO14O # 002332,000369: 7127 17162 TCF IOERROR # 002333,000370: 7130 24062 IO14O INCR ERRSUB # 37 002334,000371: 7131 00006 EXTEND # 002335,000372: 7132 00026 READ CH26 # 002336,000373: 7133 40000 COM # 002337,000374: 7134 67517 AD ORR1L2 # 002338,000375: 7135 00006 EXTEND # 002339,000376: 7136 17140 BZF IO15O # 002340,000377: 7137 17162 TCF IOERROR # 002341,000378: 7140 24062 IO15O INCR ERRSUB # 40 octal 002342,000379: 7141 37510 CA MASKR2 # 002343,000380: 7142 00006 EXTEND # 002344,000381: 7143 05027 WOR CH27 # 002345,000382: 7144 40000 COM # 002346,000383: 7145 67520 AD ORR1R2 # 002347,000384: 7146 00006 EXTEND # 002348,000385: 7147 17151 BZF IO16O # 002349,000386: 7150 17162 TCF IOERROR # 002350,000387: 7151 24062 IO16O INCR ERRSUB # 41 002351,000388: 7152 00006 EXTEND # 002352,000389: 7153 00027 READ CH27 # 002353,000390: 7154 40000 COM # 002354,000391: 7155 67520 AD ORR1R2 # 002355,000392: 7156 00006 EXTEND # 002356,000393: 7157 17161 BZF IO17O # 002357,000394: 7160 17162 TCF IOERROR # 002358,000395: 7161 IO17O # 002359,000396: 002360,000397: # Test EDRUPT. (I believe it ... sure ... why not?) 002361,000398: # ... later ... 002362,000399: 002363,000400: # All done! 002364,000401: 7161 17163 TCF IODONE # 002365,000402: 7162 07240 IOERROR TC ERRORDSP # 002366,000403: 7163 30007 IODONE CA ZEROES # 002367,000404: 7164 54062 TS ERRSUB # 002368,000405: 002369,000406: (End of include-file ValidateIO.s, resuming Validation.s) 002369,000216: 002370,000217: 002371,000218: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 002372,000219: # Test 31: check of DV 002373,000220: $ValidateDV.s 002374,000001: # Copyright 2004 Ronald S. Burkey 002375,000002: # 002376,000003: # This file is part of yaAGC. 002377,000004: 002378,000005: # yaAGC is free software; you can redistribute it and/or modify 002379,000006: # it under the terms of the GNU General Public License as published by 002380,000007: # the Free Software Foundation; either version 2 of the License, or 002381,000008: # (at your option) any later version. 002382,000009: 002383,000010: # yaAGC is distributed in the hope that it will be useful, 002384,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 002385,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 002386,000013: # GNU General Public License for more details. 002387,000014: 002388,000015: # You should have received a copy of the GNU General Public License 002389,000016: # along with yaAGC; if not, write to the Free Software 002390,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 002391,000018: 002392,000019: # Filename: ValidateDV.s 002393,000020: # Purpose: This is the part of the Validation program that validates 002394,000021: # just the DV instruction. 002395,000022: # Mod history: 07/05/04 RSB. Began. 002396,000023: 002397,000024: 7165 24061 INCR ERRNUM # 002398,000025: (End of include-file ValidateDV.s, resuming Validation.s) 002398,000220: 002399,000221: 002400,000222: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 002401,000223: # Test 32: check of BZF 002402,000224: $ValidateBZF.s 002403,000001: # Copyright 2004 Ronald S. Burkey 002404,000002: # 002405,000003: # This file is part of yaAGC. 002406,000004: 002407,000005: # yaAGC is free software; you can redistribute it and/or modify 002408,000006: # it under the terms of the GNU General Public License as published by 002409,000007: # the Free Software Foundation; either version 2 of the License, or 002410,000008: # (at your option) any later version. 002411,000009: 002412,000010: # yaAGC is distributed in the hope that it will be useful, 002413,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 002414,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 002415,000013: # GNU General Public License for more details. 002416,000014: 002417,000015: # You should have received a copy of the GNU General Public License 002418,000016: # along with yaAGC; if not, write to the Free Software 002419,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 002420,000018: 002421,000019: # Filename: ValidateBZF.s 002422,000020: # Purpose: This is the part of the Validation program that validates 002423,000021: # just the BZF instruction. 002424,000022: # Mod history: 07/05/04 RSB. Began. 002425,000023: 002426,000024: 7166 24061 INCR ERRNUM # 002427,000025: (End of include-file ValidateBZF.s, resuming Validation.s) 002427,000224: 002428,000225: 002429,000226: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 002430,000227: # Test 33: check of MSU 002431,000228: $ValidateMSU.s 002432,000001: # Copyright 2004 Ronald S. Burkey 002433,000002: # 002434,000003: # This file is part of yaAGC. 002435,000004: 002436,000005: # yaAGC is free software; you can redistribute it and/or modify 002437,000006: # it under the terms of the GNU General Public License as published by 002438,000007: # the Free Software Foundation; either version 2 of the License, or 002439,000008: # (at your option) any later version. 002440,000009: 002441,000010: # yaAGC is distributed in the hope that it will be useful, 002442,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 002443,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 002444,000013: # GNU General Public License for more details. 002445,000014: 002446,000015: # You should have received a copy of the GNU General Public License 002447,000016: # along with yaAGC; if not, write to the Free Software 002448,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 002449,000018: 002450,000019: # Filename: ValidateMSU.s 002451,000020: # Purpose: This is the part of the Validation program that validates 002452,000021: # just the MSU instruction. 002453,000022: # Mod history: 07/05/04 RSB. Began. 002454,000023: 002455,000024: 7167 24061 INCR ERRNUM # 002456,000025: (End of include-file ValidateMSU.s, resuming Validation.s) 002456,000228: 002457,000229: 002458,000230: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 002459,000231: # Test 34: check of QXCH 002460,000232: $ValidateQXCH.s 002461,000001: # Copyright 2004 Ronald S. Burkey 002462,000002: # 002463,000003: # This file is part of yaAGC. 002464,000004: 002465,000005: # yaAGC is free software; you can redistribute it and/or modify 002466,000006: # it under the terms of the GNU General Public License as published by 002467,000007: # the Free Software Foundation; either version 2 of the License, or 002468,000008: # (at your option) any later version. 002469,000009: 002470,000010: # yaAGC is distributed in the hope that it will be useful, 002471,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 002472,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 002473,000013: # GNU General Public License for more details. 002474,000014: 002475,000015: # You should have received a copy of the GNU General Public License 002476,000016: # along with yaAGC; if not, write to the Free Software 002477,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 002478,000018: 002479,000019: # Filename: ValidateQXCH.s 002480,000020: # Purpose: This is the part of the Validation program that validates 002481,000021: # just the QXCH instruction. 002482,000022: # Mod history: 07/05/04 RSB. Began. 002483,000023: 002484,000024: 7170 24061 INCR ERRNUM # 002485,000025: (End of include-file ValidateQXCH.s, resuming Validation.s) 002485,000232: 002486,000233: 002487,000234: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 002488,000235: # Test 35: check of AUG 002489,000236: $ValidateAUG.s 002490,000001: # Copyright 2004 Ronald S. Burkey 002491,000002: # 002492,000003: # This file is part of yaAGC. 002493,000004: 002494,000005: # yaAGC is free software; you can redistribute it and/or modify 002495,000006: # it under the terms of the GNU General Public License as published by 002496,000007: # the Free Software Foundation; either version 2 of the License, or 002497,000008: # (at your option) any later version. 002498,000009: 002499,000010: # yaAGC is distributed in the hope that it will be useful, 002500,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 002501,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 002502,000013: # GNU General Public License for more details. 002503,000014: 002504,000015: # You should have received a copy of the GNU General Public License 002505,000016: # along with yaAGC; if not, write to the Free Software 002506,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 002507,000018: 002508,000019: # Filename: ValidateAUG.s 002509,000020: # Purpose: This is the part of the Validation program that validates 002510,000021: # just the AUG instruction. 002511,000022: # Mod history: 07/05/04 RSB. Began. 002512,000023: 002513,000024: 7171 24061 INCR ERRNUM # 002514,000025: (End of include-file ValidateAUG.s, resuming Validation.s) 002514,000236: 002515,000237: 002516,000238: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 002517,000239: # Test 36: check of DIM 002518,000240: $ValidateDIM.s 002519,000001: # Copyright 2004 Ronald S. Burkey 002520,000002: # 002521,000003: # This file is part of yaAGC. 002522,000004: 002523,000005: # yaAGC is free software; you can redistribute it and/or modify 002524,000006: # it under the terms of the GNU General Public License as published by 002525,000007: # the Free Software Foundation; either version 2 of the License, or 002526,000008: # (at your option) any later version. 002527,000009: 002528,000010: # yaAGC is distributed in the hope that it will be useful, 002529,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 002530,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 002531,000013: # GNU General Public License for more details. 002532,000014: 002533,000015: # You should have received a copy of the GNU General Public License 002534,000016: # along with yaAGC; if not, write to the Free Software 002535,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 002536,000018: 002537,000019: # Filename: ValidateDIM.s 002538,000020: # Purpose: This is the part of the Validation program that validates 002539,000021: # just the DIM instruction. 002540,000022: # Mod history: 07/05/04 RSB. Began. 002541,000023: 002542,000024: 7172 24061 INCR ERRNUM # 002543,000025: (End of include-file ValidateDIM.s, resuming Validation.s) 002543,000240: 002544,000241: 002545,000242: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 002546,000243: # Test 37: check of DCA 002547,000244: $ValidateDCA.s 002548,000001: # Copyright 2004 Ronald S. Burkey 002549,000002: # 002550,000003: # This file is part of yaAGC. 002551,000004: 002552,000005: # yaAGC is free software; you can redistribute it and/or modify 002553,000006: # it under the terms of the GNU General Public License as published by 002554,000007: # the Free Software Foundation; either version 2 of the License, or 002555,000008: # (at your option) any later version. 002556,000009: 002557,000010: # yaAGC is distributed in the hope that it will be useful, 002558,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 002559,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 002560,000013: # GNU General Public License for more details. 002561,000014: 002562,000015: # You should have received a copy of the GNU General Public License 002563,000016: # along with yaAGC; if not, write to the Free Software 002564,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 002565,000018: 002566,000019: # Filename: ValidateDCA.s 002567,000020: # Purpose: This is the part of the Validation program that validates 002568,000021: # just the DCA instruction. 002569,000022: # Mod history: 07/05/04 RSB. Began. 002570,000023: 002571,000024: 7173 24061 INCR ERRNUM # 002572,000025: (End of include-file ValidateDCA.s, resuming Validation.s) 002572,000244: 002573,000245: 002574,000246: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 002575,000247: # Test 40: check of DCS 002576,000248: $ValidateDCS.s 002577,000001: # Copyright 2004 Ronald S. Burkey 002578,000002: # 002579,000003: # This file is part of yaAGC. 002580,000004: 002581,000005: # yaAGC is free software; you can redistribute it and/or modify 002582,000006: # it under the terms of the GNU General Public License as published by 002583,000007: # the Free Software Foundation; either version 2 of the License, or 002584,000008: # (at your option) any later version. 002585,000009: 002586,000010: # yaAGC is distributed in the hope that it will be useful, 002587,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 002588,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 002589,000013: # GNU General Public License for more details. 002590,000014: 002591,000015: # You should have received a copy of the GNU General Public License 002592,000016: # along with yaAGC; if not, write to the Free Software 002593,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 002594,000018: 002595,000019: # Filename: ValidateDCS.s 002596,000020: # Purpose: This is the part of the Validation program that validates 002597,000021: # just the DCS instruction. 002598,000022: # Mod history: 07/05/04 RSB. Began. 002599,000023: 002600,000024: 7174 24061 INCR ERRNUM # 002601,000025: (End of include-file ValidateDCS.s, resuming Validation.s) 002601,000248: 002602,000249: 002603,000250: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 002604,000251: # Test 41: check of SU 002605,000252: $ValidateSU.s 002606,000001: # Copyright 2004 Ronald S. Burkey 002607,000002: # 002608,000003: # This file is part of yaAGC. 002609,000004: 002610,000005: # yaAGC is free software; you can redistribute it and/or modify 002611,000006: # it under the terms of the GNU General Public License as published by 002612,000007: # the Free Software Foundation; either version 2 of the License, or 002613,000008: # (at your option) any later version. 002614,000009: 002615,000010: # yaAGC is distributed in the hope that it will be useful, 002616,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 002617,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 002618,000013: # GNU General Public License for more details. 002619,000014: 002620,000015: # You should have received a copy of the GNU General Public License 002621,000016: # along with yaAGC; if not, write to the Free Software 002622,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 002623,000018: 002624,000019: # Filename: ValidateSU.s 002625,000020: # Purpose: This is the part of the Validation program that validates 002626,000021: # just the SU instruction. 002627,000022: # Mod history: 07/05/04 RSB. Began. 002628,000023: 002629,000024: 7175 24061 INCR ERRNUM # 002630,000025: (End of include-file ValidateSU.s, resuming Validation.s) 002630,000252: 002631,000253: 002632,000254: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 002633,000255: # Test 42: check of BZMF 002634,000256: $ValidateBZMF.s 002635,000001: # Copyright 2004 Ronald S. Burkey 002636,000002: # 002637,000003: # This file is part of yaAGC. 002638,000004: 002639,000005: # yaAGC is free software; you can redistribute it and/or modify 002640,000006: # it under the terms of the GNU General Public License as published by 002641,000007: # the Free Software Foundation; either version 2 of the License, or 002642,000008: # (at your option) any later version. 002643,000009: 002644,000010: # yaAGC is distributed in the hope that it will be useful, 002645,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 002646,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 002647,000013: # GNU General Public License for more details. 002648,000014: 002649,000015: # You should have received a copy of the GNU General Public License 002650,000016: # along with yaAGC; if not, write to the Free Software 002651,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 002652,000018: 002653,000019: # Filename: ValidateBZMF.s 002654,000020: # Purpose: This is the part of the Validation program that validates 002655,000021: # just the BZMF instruction. 002656,000022: # Mod history: 07/05/04 RSB. Began. 002657,000023: 002658,000024: 7176 24061 INCR ERRNUM # 002659,000025: (End of include-file ValidateBZMF.s, resuming Validation.s) 002659,000256: 002660,000257: 002661,000258: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 002662,000259: # Test 43: check of MP 002663,000260: $ValidateMP.s 002664,000001: # Copyright 2004 Ronald S. Burkey 002665,000002: # 002666,000003: # This file is part of yaAGC. 002667,000004: 002668,000005: # yaAGC is free software; you can redistribute it and/or modify 002669,000006: # it under the terms of the GNU General Public License as published by 002670,000007: # the Free Software Foundation; either version 2 of the License, or 002671,000008: # (at your option) any later version. 002672,000009: 002673,000010: # yaAGC is distributed in the hope that it will be useful, 002674,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 002675,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 002676,000013: # GNU General Public License for more details. 002677,000014: 002678,000015: # You should have received a copy of the GNU General Public License 002679,000016: # along with yaAGC; if not, write to the Free Software 002680,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 002681,000018: 002682,000019: # Filename: ValidateMP.s 002683,000020: # Purpose: This is the part of the Validation program that validates 002684,000021: # just the MP instruction. 002685,000022: # Mod history: 07/05/04 RSB. Began. 002686,000023: 002687,000024: 7177 24061 INCR ERRNUM # 002688,000025: (End of include-file ValidateMP.s, resuming Validation.s) 002688,000260: 002689,000261: 002690,000262: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 002691,000263: # Test 44: check of XXALQ, XLQ 002692,000264: $ValidateX.s 002693,000001: # Copyright 2004 Ronald S. Burkey 002694,000002: # 002695,000003: # This file is part of yaAGC. 002696,000004: 002697,000005: # yaAGC is free software; you can redistribute it and/or modify 002698,000006: # it under the terms of the GNU General Public License as published by 002699,000007: # the Free Software Foundation; either version 2 of the License, or 002700,000008: # (at your option) any later version. 002701,000009: 002702,000010: # yaAGC is distributed in the hope that it will be useful, 002703,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 002704,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 002705,000013: # GNU General Public License for more details. 002706,000014: 002707,000015: # You should have received a copy of the GNU General Public License 002708,000016: # along with yaAGC; if not, write to the Free Software 002709,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 002710,000018: 002711,000019: # Filename: ValidateX.s 002712,000020: # Purpose: This is the part of the Validation program that validates 002713,000021: # just the XXALQ AND XLQ instructions. 002714,000022: # Mod history: 07/05/04 RSB. Began. 002715,000023: 002716,000024: 7200 24061 INCR ERRNUM # 002717,000025: (End of include-file ValidateX.s, resuming Validation.s) 002717,000264: 002718,000265: 002719,000266: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 002720,000267: # Test 45: check of RETURN 002721,000268: 7201 24061 INCR ERRNUM # 002722,000269: # ... later ... 002723,000270: 002724,000271: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 002725,000272: # Test 46: check of NOOP 002726,000273: $ValidateNOOP.s 002727,000001: # Copyright 2004 Ronald S. Burkey 002728,000002: # 002729,000003: # This file is part of yaAGC. 002730,000004: 002731,000005: # yaAGC is free software; you can redistribute it and/or modify 002732,000006: # it under the terms of the GNU General Public License as published by 002733,000007: # the Free Software Foundation; either version 2 of the License, or 002734,000008: # (at your option) any later version. 002735,000009: 002736,000010: # yaAGC is distributed in the hope that it will be useful, 002737,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 002738,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 002739,000013: # GNU General Public License for more details. 002740,000014: 002741,000015: # You should have received a copy of the GNU General Public License 002742,000016: # along with yaAGC; if not, write to the Free Software 002743,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 002744,000018: 002745,000019: # Filename: ValidateNOOP.s 002746,000020: # Purpose: This is the part of the Validation program that validates 002747,000021: # just the NOOP instruction. 002748,000022: # Mod history: 07/05/04 RSB. Began. 002749,000023: 002750,000024: 7202 24061 INCR ERRNUM # 002751,000025: (End of include-file ValidateNOOP.s, resuming Validation.s) 002751,000273: 002752,000274: 002753,000275: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 002754,000276: # Test 47: check of DDOUBL 002755,000277: $ValidateDDOUBL.s 002756,000001: # Copyright 2004 Ronald S. Burkey 002757,000002: # 002758,000003: # This file is part of yaAGC. 002759,000004: 002760,000005: # yaAGC is free software; you can redistribute it and/or modify 002761,000006: # it under the terms of the GNU General Public License as published by 002762,000007: # the Free Software Foundation; either version 2 of the License, or 002763,000008: # (at your option) any later version. 002764,000009: 002765,000010: # yaAGC is distributed in the hope that it will be useful, 002766,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 002767,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 002768,000013: # GNU General Public License for more details. 002769,000014: 002770,000015: # You should have received a copy of the GNU General Public License 002771,000016: # along with yaAGC; if not, write to the Free Software 002772,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 002773,000018: 002774,000019: # Filename: ValidateDDOUBL.s 002775,000020: # Purpose: This is the part of the Validation program that validates 002776,000021: # just the DDOUBL instruction. 002777,000022: # Mod history: 07/05/04 RSB. Began. 002778,000023: 002779,000024: 7203 24061 INCR ERRNUM # 002780,000025: (End of include-file ValidateDDOUBL.s, resuming Validation.s) 002780,000277: 002781,000278: 002782,000279: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 002783,000280: # Test 50: check of ZL, ZQ 002784,000281: $ValidateZX.s 002785,000001: # Copyright 2004 Ronald S. Burkey 002786,000002: # 002787,000003: # This file is part of yaAGC. 002788,000004: 002789,000005: # yaAGC is free software; you can redistribute it and/or modify 002790,000006: # it under the terms of the GNU General Public License as published by 002791,000007: # the Free Software Foundation; either version 2 of the License, or 002792,000008: # (at your option) any later version. 002793,000009: 002794,000010: # yaAGC is distributed in the hope that it will be useful, 002795,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 002796,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 002797,000013: # GNU General Public License for more details. 002798,000014: 002799,000015: # You should have received a copy of the GNU General Public License 002800,000016: # along with yaAGC; if not, write to the Free Software 002801,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 002802,000018: 002803,000019: # Filename: ValidateZX.s 002804,000020: # Purpose: This is the part of the Validation program that validates 002805,000021: # just the ZL and ZQ instructions. 002806,000022: # Mod history: 07/05/04 RSB. Began. 002807,000023: 002808,000024: 7204 24061 INCR ERRNUM # 002809,000025: (End of include-file ValidateZX.s, resuming Validation.s) 002809,000281: 002810,000282: 002811,000283: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 002812,000284: # Test 51: check of COM 002813,000285: $ValidateCOM.s 002814,000001: # Copyright 2004 Ronald S. Burkey 002815,000002: # 002816,000003: # This file is part of yaAGC. 002817,000004: 002818,000005: # yaAGC is free software; you can redistribute it and/or modify 002819,000006: # it under the terms of the GNU General Public License as published by 002820,000007: # the Free Software Foundation; either version 2 of the License, or 002821,000008: # (at your option) any later version. 002822,000009: 002823,000010: # yaAGC is distributed in the hope that it will be useful, 002824,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 002825,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 002826,000013: # GNU General Public License for more details. 002827,000014: 002828,000015: # You should have received a copy of the GNU General Public License 002829,000016: # along with yaAGC; if not, write to the Free Software 002830,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 002831,000018: 002832,000019: # Filename: ValidateCOM.s 002833,000020: # Purpose: This is the part of the Validation program that validates 002834,000021: # just the COM instruction. 002835,000022: # Mod history: 07/05/04 RSB. Began. 002836,000023: 002837,000024: 7205 24061 INCR ERRNUM # 002838,000025: (End of include-file ValidateCOM.s, resuming Validation.s) 002838,000285: 002839,000286: 002840,000287: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 002841,000288: # Test 52: check of OVSK 002842,000289: $ValidateOVSK.s 002843,000001: # Copyright 2004 Ronald S. Burkey 002844,000002: # 002845,000003: # This file is part of yaAGC. 002846,000004: 002847,000005: # yaAGC is free software; you can redistribute it and/or modify 002848,000006: # it under the terms of the GNU General Public License as published by 002849,000007: # the Free Software Foundation; either version 2 of the License, or 002850,000008: # (at your option) any later version. 002851,000009: 002852,000010: # yaAGC is distributed in the hope that it will be useful, 002853,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 002854,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 002855,000013: # GNU General Public License for more details. 002856,000014: 002857,000015: # You should have received a copy of the GNU General Public License 002858,000016: # along with yaAGC; if not, write to the Free Software 002859,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 002860,000018: 002861,000019: # Filename: ValidateOVSK.s 002862,000020: # Purpose: This is the part of the Validation program that validates 002863,000021: # just the OVSK instruction. 002864,000022: # Mod history: 07/05/04 RSB. Began. 002865,000023: 002866,000024: 7206 24061 INCR ERRNUM # 002867,000025: (End of include-file ValidateOVSK.s, resuming Validation.s) 002867,000289: 002868,000290: 002869,000291: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 002870,000292: # Test 53: check of TCAA 002871,000293: $ValidateTCAA.s 002872,000001: # Copyright 2004 Ronald S. Burkey 002873,000002: # 002874,000003: # This file is part of yaAGC. 002875,000004: 002876,000005: # yaAGC is free software; you can redistribute it and/or modify 002877,000006: # it under the terms of the GNU General Public License as published by 002878,000007: # the Free Software Foundation; either version 2 of the License, or 002879,000008: # (at your option) any later version. 002880,000009: 002881,000010: # yaAGC is distributed in the hope that it will be useful, 002882,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 002883,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 002884,000013: # GNU General Public License for more details. 002885,000014: 002886,000015: # You should have received a copy of the GNU General Public License 002887,000016: # along with yaAGC; if not, write to the Free Software 002888,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 002889,000018: 002890,000019: # Filename: ValidateTCAA.s 002891,000020: # Purpose: This is the part of the Validation program that validates 002892,000021: # just the TCAA instruction. 002893,000022: # Mod history: 07/05/04 RSB. Began. 002894,000023: 002895,000024: 7207 24061 INCR ERRNUM # 002896,000025: (End of include-file ValidateTCAA.s, resuming Validation.s) 002896,000293: 002897,000294: 002898,000295: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 002899,000296: # Test 54: check of DOUBLE 002900,000297: $ValidateDOUBLE.s 002901,000001: # Copyright 2004 Ronald S. Burkey 002902,000002: # 002903,000003: # This file is part of yaAGC. 002904,000004: 002905,000005: # yaAGC is free software; you can redistribute it and/or modify 002906,000006: # it under the terms of the GNU General Public License as published by 002907,000007: # the Free Software Foundation; either version 2 of the License, or 002908,000008: # (at your option) any later version. 002909,000009: 002910,000010: # yaAGC is distributed in the hope that it will be useful, 002911,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 002912,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 002913,000013: # GNU General Public License for more details. 002914,000014: 002915,000015: # You should have received a copy of the GNU General Public License 002916,000016: # along with yaAGC; if not, write to the Free Software 002917,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 002918,000018: 002919,000019: # Filename: ValidateDOUBLE.s 002920,000020: # Purpose: This is the part of the Validation program that validates 002921,000021: # just the DOUBLE instruction. 002922,000022: # Mod history: 07/05/04 RSB. Began. 002923,000023: 002924,000024: 7210 24061 INCR ERRNUM # 002925,000025: (End of include-file ValidateDOUBLE.s, resuming Validation.s) 002925,000297: 002926,000298: 002927,000299: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 002928,000300: # Test 55: check of DCOM 002929,000301: $ValidateDCOM.s 002930,000001: # Copyright 2004 Ronald S. Burkey 002931,000002: # 002932,000003: # This file is part of yaAGC. 002933,000004: 002934,000005: # yaAGC is free software; you can redistribute it and/or modify 002935,000006: # it under the terms of the GNU General Public License as published by 002936,000007: # the Free Software Foundation; either version 2 of the License, or 002937,000008: # (at your option) any later version. 002938,000009: 002939,000010: # yaAGC is distributed in the hope that it will be useful, 002940,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 002941,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 002942,000013: # GNU General Public License for more details. 002943,000014: 002944,000015: # You should have received a copy of the GNU General Public License 002945,000016: # along with yaAGC; if not, write to the Free Software 002946,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 002947,000018: 002948,000019: # Filename: ValidateDCOM.s 002949,000020: # Purpose: This is the part of the Validation program that validates 002950,000021: # just the DCOM instruction. 002951,000022: # Mod history: 07/05/04 RSB. Began. 002952,000023: 002953,000024: 7211 24061 INCR ERRNUM # 002954,000025: (End of include-file ValidateDCOM.s, resuming Validation.s) 002954,000301: 002955,000302: 002956,000303: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 002957,000304: # Test 56: check of SQUARE 002958,000305: $ValidateSQUARE.s 002959,000001: # Copyright 2004 Ronald S. Burkey 002960,000002: # 002961,000003: # This file is part of yaAGC. 002962,000004: 002963,000005: # yaAGC is free software; you can redistribute it and/or modify 002964,000006: # it under the terms of the GNU General Public License as published by 002965,000007: # the Free Software Foundation; either version 2 of the License, or 002966,000008: # (at your option) any later version. 002967,000009: 002968,000010: # yaAGC is distributed in the hope that it will be useful, 002969,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 002970,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 002971,000013: # GNU General Public License for more details. 002972,000014: 002973,000015: # You should have received a copy of the GNU General Public License 002974,000016: # along with yaAGC; if not, write to the Free Software 002975,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 002976,000018: 002977,000019: # Filename: ValidateSQUARE.s 002978,000020: # Purpose: This is the part of the Validation program that validates 002979,000021: # just the SQUARE instruction. 002980,000022: # Mod history: 07/05/04 RSB. Began. 002981,000023: 002982,000024: 7212 24061 INCR ERRNUM # 002983,000025: (End of include-file ValidateSQUARE.s, resuming Validation.s) 002983,000305: 002984,000306: 002985,000307: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 002986,000308: # Test 57: check of DTCB 002987,000309: $ValidateDTCB.s 002988,000001: # Copyright 2004 Ronald S. Burkey 002989,000002: # 002990,000003: # This file is part of yaAGC. 002991,000004: 002992,000005: # yaAGC is free software; you can redistribute it and/or modify 002993,000006: # it under the terms of the GNU General Public License as published by 002994,000007: # the Free Software Foundation; either version 2 of the License, or 002995,000008: # (at your option) any later version. 002996,000009: 002997,000010: # yaAGC is distributed in the hope that it will be useful, 002998,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 002999,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 003000,000013: # GNU General Public License for more details. 003001,000014: 003002,000015: # You should have received a copy of the GNU General Public License 003003,000016: # along with yaAGC; if not, write to the Free Software 003004,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 003005,000018: 003006,000019: # Filename: ValidateDTCB.s 003007,000020: # Purpose: This is the part of the Validation program that validates 003008,000021: # just the DTCB instruction. 003009,000022: # Mod history: 07/05/04 RSB. Began. 003010,000023: 003011,000024: 7213 24061 INCR ERRNUM # 003012,000025: (End of include-file ValidateDTCB.s, resuming Validation.s) 003012,000309: 003013,000310: 003014,000311: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 003015,000312: # Test 60: check of DTCF 003016,000313: $ValidateDTCF.s 003017,000001: # Copyright 2004 Ronald S. Burkey 003018,000002: # 003019,000003: # This file is part of yaAGC. 003020,000004: 003021,000005: # yaAGC is free software; you can redistribute it and/or modify 003022,000006: # it under the terms of the GNU General Public License as published by 003023,000007: # the Free Software Foundation; either version 2 of the License, or 003024,000008: # (at your option) any later version. 003025,000009: 003026,000010: # yaAGC is distributed in the hope that it will be useful, 003027,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 003028,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 003029,000013: # GNU General Public License for more details. 003030,000014: 003031,000015: # You should have received a copy of the GNU General Public License 003032,000016: # along with yaAGC; if not, write to the Free Software 003033,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 003034,000018: 003035,000019: # Filename: ValidateDTCF.s 003036,000020: # Purpose: This is the part of the Validation program that validates 003037,000021: # just the DTCF instruction. 003038,000022: # Mod history: 07/05/04 RSB. Began. 003039,000023: 003040,000024: 7214 24061 INCR ERRNUM # 003041,000025: (End of include-file ValidateDTCF.s, resuming Validation.s) 003041,000313: 003042,000314: 003043,000315: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 003044,000316: # Test 61-65: Test written from the flowcharts in the 003045,000317: # Appendix of E-2065 (Smally's "Block II AGC Self-Check 003046,000318: # and Show-Banksum). 003047,000319: $ValidateSmally.s 003048,000001: # Copyright 2004 Ronald S. Burkey 003049,000002: # 003050,000003: # This file is part of yaAGC. 003051,000004: 003052,000005: # yaAGC is free software; you can redistribute it and/or modify 003053,000006: # it under the terms of the GNU General Public License as published by 003054,000007: # the Free Software Foundation; either version 2 of the License, or 003055,000008: # (at your option) any later version. 003056,000009: 003057,000010: # yaAGC is distributed in the hope that it will be useful, 003058,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 003059,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 003060,000013: # GNU General Public License for more details. 003061,000014: 003062,000015: # You should have received a copy of the GNU General Public License 003063,000016: # along with yaAGC; if not, write to the Free Software 003064,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 003065,000018: 003066,000019: # Filename: ValidateSmally.s 003067,000020: # Purpose: This is the part of the Validation program, written to 003068,000021: # correspond as best I can to the flowcharts in the Appendix 003069,000022: # of E-2065, which is a document titled "Block II AGC 003070,000023: # Self-Check and Show-Banksum", by Edwin D. Smally. 003071,000024: # Mod history: 07/07/04 RSB. Began. 003072,000025: 003073,000026: # Similar code was apparently originally in Luminary and/or Colossus, 003074,000027: # but much of it was removed over the course of time to make more room. 003075,000028: # I don't know what the original code was like, but the flowcharts still 003076,000029: # exist, so I've rewritten the code from the flowcharts. 003077,000030: 003078,000031: 7215 00006 EXTEND # 003079,000032: 7216 37221 DCA ASMGEN # 003080,000033: 7217 52005 DTCF # 003081,000034: 7220 10000 02000 ASMGEN 2FCADR SMGEN # 003082,000035: 7222 12000 02000 ASMGEN2 2FCADR SMGEN2 # 003083,000036: 7224 14000 02000 ASMGEN3 2FCADR SMGEN3 # 003084,000037: 7226 16000 02000 ASMMP 2FCADR SMMP # 003085,000038: 7230 20000 02000 ASMDV 2FCADR SMDV # 003086,000039: 7232 SMNEXT # 003087,000040: 003088,000041: 04,2000 BANK 4 # 003089,000042: 04,2000 SMGEN # 003090,000043: 04,2000 24061 INCR ERRNUM # 003091,000044: 04,2001 30007 CA ZEROES # 003092,000045: 04,2002 54062 TS ERRSUB # 003093,000046: # ERRNUM==61 003094,000047: $SmallyTCTCF.s # ERRSUB==1 003095,000001: # Copyright 2004 Ronald S. Burkey 003096,000002: # 003097,000003: # This file is part of yaAGC. 003098,000004: 003099,000005: # yaAGC is free software; you can redistribute it and/or modify 003100,000006: # it under the terms of the GNU General Public License as published by 003101,000007: # the Free Software Foundation; either version 2 of the License, or 003102,000008: # (at your option) any later version. 003103,000009: 003104,000010: # yaAGC is distributed in the hope that it will be useful, 003105,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 003106,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 003107,000013: # GNU General Public License for more details. 003108,000014: 003109,000015: # You should have received a copy of the GNU General Public License 003110,000016: # along with yaAGC; if not, write to the Free Software 003111,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 003112,000018: 003113,000019: # Filename: SmallyTCTCF.s 003114,000020: # Purpose: This is code written from the flowchart on p. 32 of 003115,000021: # E-2065, which is a document titled "Block II AGC 003116,000022: # Self-Check and Show-Banksum", by Edwin D. Smally. 003117,000023: # Mod history: 07/07/04 RSB. Began. 003118,000024: 003119,000025: # Similar code was apparently originally in Luminary and/or Colossus, 003120,000026: # but much of it was removed over the course of time to make more room. 003121,000027: # I don't know what the original code was like, but the flowcharts still 003122,000028: # exist, so I've rewritten the code from the flowcharts. 003123,000029: 003124,000030: # P. 32 of Smally. 003125,000031: 003126,000032: 04,2003 24062 INCR ERRSUB # 1 003127,000033: 04,2004 22007 ZL # 003128,000034: 04,2005 02007 TC +2 # 003129,000035: 04,2006 12015 TCF TCTCFDON # 003130,000036: 04,2007 24001 INCR L # 003131,000037: 04,2010 12012 TCF +2 # 003132,000038: 04,2011 12013 TCF TCTCFERR # 003133,000039: 04,2012 00002 RETURN # 003134,000040: 003135,000041: 04,2013 07240 TCTCFERR TC ERRORDSP # 003136,000042: 04,2014 12020 TCF TCTCFDN2 # 003137,000043: 04,2015 30001 TCTCFDON CA L # 003138,000044: 04,2016 00006 EXTEND # 003139,000045: 04,2017 12013 BZF TCTCFERR # 003140,000046: 04,2020 TCTCFDN2 # (End of include-file SmallyTCTCF.s, resuming ValidateSmally.s) 003140,000047: 003141,000048: $SmallyCCSCHK.s # 2-7 003142,000001: # Copyright 2004 Ronald S. Burkey 003143,000002: # 003144,000003: # This file is part of yaAGC. 003145,000004: 003146,000005: # yaAGC is free software; you can redistribute it and/or modify 003147,000006: # it under the terms of the GNU General Public License as published by 003148,000007: # the Free Software Foundation; either version 2 of the License, or 003149,000008: # (at your option) any later version. 003150,000009: 003151,000010: # yaAGC is distributed in the hope that it will be useful, 003152,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 003153,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 003154,000013: # GNU General Public License for more details. 003155,000014: 003156,000015: # You should have received a copy of the GNU General Public License 003157,000016: # along with yaAGC; if not, write to the Free Software 003158,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 003159,000018: 003160,000019: # Filename: SmallyCCSCHK.s 003161,000020: # Purpose: This is code written from the flowchart on p. 33 of 003162,000021: # E-2065, which is a document titled "Block II AGC 003163,000022: # Self-Check and Show-Banksum", by Edwin D. Smally. 003164,000023: # Mod history: 07/07/04 RSB. Began. 003165,000024: 003166,000025: # Similar code was apparently originally in Luminary and/or Colossus, 003167,000026: # but much of it was removed over the course of time to make more room. 003168,000027: # I don't know what the original code was like, but the flowcharts still 003169,000028: # exist, so I've rewritten the code from the flowcharts. 003170,000029: 003171,000030: # P. 33 of Smally. 003172,000031: 003173,000032: 04,2020 24062 INCR ERRSUB # 2 003174,000033: 04,2021 37426 CA NEGTHREE # 003175,000034: 04,2022 10000 CCS A # 003176,000035: 04,2023 12067 TCF CCSERROR # 003177,000036: 04,2024 12067 TCF CCSERROR # 003178,000037: 04,2025 12027 TCF +2 # 003179,000038: 04,2026 12067 TCF CCSERROR # 003180,000039: 003181,000040: 04,2027 24062 INCR ERRSUB # 3 003182,000041: 04,2030 10000 CCS A # 003183,000042: 04,2031 12035 TCF +4 # 003184,000043: 04,2032 12067 TCF CCSERROR # 003185,000044: 04,2033 12067 TCF CCSERROR # 003186,000045: 04,2034 12067 TCF CCSERROR # 003187,000046: 003188,000047: 04,2035 24062 INCR ERRSUB # 4 003189,000048: 04,2036 54066 TS SKEEP1 # 003190,000049: 04,2037 10066 CCS SKEEP1 # 003191,000050: 04,2040 12044 TCF +4 # 003192,000051: 04,2041 12067 TCF CCSERROR # 003193,000052: 04,2042 12067 TCF CCSERROR # 003194,000053: 04,2043 12067 TCF CCSERROR # 003195,000054: 003196,000055: 04,2044 24062 INCR ERRSUB # 5 003197,000056: 04,2045 10000 CCS A # 003198,000057: 04,2046 12067 TCF CCSERROR # 003199,000058: 04,2047 12052 TCF +3 # 003200,000059: 04,2050 12067 TCF CCSERROR # 003201,000060: 04,2051 12067 TCF CCSERROR # 003202,000061: 003203,000062: 04,2052 24062 INCR ERRSUB # 6 003204,000063: 04,2053 40000 CS A # 003205,000064: 04,2054 10000 CCS A # 003206,000065: 04,2055 12067 TCF CCSERROR # 003207,000066: 04,2056 12067 TCF CCSERROR # 003208,000067: 04,2057 12067 TCF CCSERROR # 003209,000068: 003210,000069: 04,2060 24062 INCR ERRSUB # 7 003211,000070: 04,2061 10000 CCS A # 003212,000071: 04,2062 12067 TCF CCSERROR # 003213,000072: 04,2063 12066 TCF +3 # 003214,000073: 04,2064 12067 TCF CCSERROR # 003215,000074: 04,2065 12067 TCF CCSERROR # 003216,000075: 003217,000076: # The flowchart says here to 003218,000077: # "check read back into erasable 003219,000078: # memory feature of CS instruction," 003220,000079: # whatever that may mean! 003221,000080: 003222,000081: 04,2066 12070 TCF CCSDONE # 003223,000082: 04,2067 07240 CCSERROR TC ERRORDSP # 003224,000083: 04,2070 CCSDONE # 003225,000084: 003226,000085: 003227,000086: (End of include-file SmallyCCSCHK.s, resuming ValidateSmally.s) 003227,000048: 003228,000049: $SmallyBZMFCHK.s # 10-14 003229,000001: # Copyright 2004 Ronald S. Burkey 003230,000002: # 003231,000003: # This file is part of yaAGC. 003232,000004: 003233,000005: # yaAGC is free software; you can redistribute it and/or modify 003234,000006: # it under the terms of the GNU General Public License as published by 003235,000007: # the Free Software Foundation; either version 2 of the License, or 003236,000008: # (at your option) any later version. 003237,000009: 003238,000010: # yaAGC is distributed in the hope that it will be useful, 003239,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 003240,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 003241,000013: # GNU General Public License for more details. 003242,000014: 003243,000015: # You should have received a copy of the GNU General Public License 003244,000016: # along with yaAGC; if not, write to the Free Software 003245,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 003246,000018: 003247,000019: # Filename: SmallyBZMFCHK.s 003248,000020: # Purpose: This is code written from the flowchart on p. 34 of 003249,000021: # E-2065, which is a document titled "Block II AGC 003250,000022: # Self-Check and Show-Banksum", by Edwin D. Smally. 003251,000023: # Mod history: 07/07/04 RSB. Began. 003252,000024: 003253,000025: # Similar code was apparently originally in Luminary and/or Colossus, 003254,000026: # but much of it was removed over the course of time to make more room. 003255,000027: # I don't know what the original code was like, but the flowcharts still 003256,000028: # exist, so I've rewritten the code from the flowcharts. 003257,000029: 003258,000030: # P. 34 of Smally. 003259,000031: 003260,000032: 04,2070 24062 INCR ERRSUB # 10 octal 003261,000033: 04,2071 37431 CA TWO # 003262,000034: 04,2072 00006 EXTEND # 003263,000035: 04,2073 62121 BZMF BZMFERR # 003264,000036: 003265,000037: 04,2074 24062 INCR ERRSUB # 11 003266,000038: 04,2075 37426 CA NEGTHREE # 003267,000039: 04,2076 00006 EXTEND # 003268,000040: 04,2077 62101 BZMF +2 # 003269,000041: 04,2100 12121 TCF BZMFERR # 003270,000042: 003271,000043: 04,2101 24062 INCR ERRSUB # 12 003272,000044: 04,2102 37443 CA MAXP # 003273,000045: 04,2103 24000 INCR A # 003274,000046: 04,2104 00006 EXTEND # 003275,000047: 04,2105 62121 BZMF BZMFERR # 003276,000048: 003277,000049: 04,2106 24062 INCR ERRSUB # 13 003278,000050: 04,2107 30007 CA ZEROES # 003279,000051: 04,2110 00006 EXTEND # 003280,000052: 04,2111 62113 BZMF +2 # 003281,000053: 04,2112 12121 TCF BZMFERR # 003282,000054: 003283,000055: 04,2113 24062 INCR ERRSUB # 14 003284,000056: 04,2114 37423 CA NEGZERO # 003285,000057: 04,2115 00006 EXTEND # 003286,000058: 04,2116 62120 BZMF +2 # 003287,000059: 04,2117 12121 TCF BZMFERR # 003288,000060: 003289,000061: 04,2120 12122 TCF +2 # 003290,000062: 04,2121 07240 BZMFERR TC ERRORDSP # 003291,000063: (End of include-file SmallyBZMFCHK.s, resuming ValidateSmally.s) 003291,000049: 003292,000050: $SmallyRESTORE1.s # 15-16 003293,000001: # Copyright 2004 Ronald S. Burkey 003294,000002: # 003295,000003: # This file is part of yaAGC. 003296,000004: 003297,000005: # yaAGC is free software; you can redistribute it and/or modify 003298,000006: # it under the terms of the GNU General Public License as published by 003299,000007: # the Free Software Foundation; either version 2 of the License, or 003300,000008: # (at your option) any later version. 003301,000009: 003302,000010: # yaAGC is distributed in the hope that it will be useful, 003303,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 003304,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 003305,000013: # GNU General Public License for more details. 003306,000014: 003307,000015: # You should have received a copy of the GNU General Public License 003308,000016: # along with yaAGC; if not, write to the Free Software 003309,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 003310,000018: 003311,000019: # Filename: SmallyRESTORE1.s 003312,000020: # Purpose: This is code written from the flowchart on p. 35 of 003313,000021: # E-2065, which is a document titled "Block II AGC 003314,000022: # Self-Check and Show-Banksum", by Edwin D. Smally. 003315,000023: # Mod history: 07/07/04 RSB. Began. 003316,000024: # 08/08/04 RSB. Finished. 003317,000025: 003318,000026: # Similar code was apparently originally in Luminary and/or Colossus, 003319,000027: # but much of it was removed over the course of time to make more room. 003320,000028: # I don't know what the original code was like, but the flowcharts still 003321,000029: # exist, so I've rewritten the code from the flowcharts. 003322,000030: 003323,000031: # P. 35 of Smally 003324,000032: 003325,000033: # Realize that to put 177 into SR with TS, we must actually 003326,000034: # use 377 since the value will be shifted. (I'm unable to 003327,000035: # find a way to insert a value into an editing register 003328,000036: # without performing editing.) 003329,000037: 04,2122 37402 CA O377 # 003330,000038: 04,2123 54021 TS SR # 003331,000039: 003332,000040: 04,2124 24062 INCR ERRSUB # 15 003333,000041: # Smally's flowchart is a bit confusing about what happens 003334,000042: # at this step. But it looks as though we execute a 003335,000043: # bunch of instructions (like CCS) that re-edit the 003336,000044: # registers, without bothering to use the results, and 003337,000045: # finally fetch the value with MASK, which does not. 003338,000046: 04,2125 10021 CCS SR # 003339,000047: 04,2126 12127 NOOP # 003340,000048: 04,2127 12130 NOOP # 003341,000049: 04,2130 12131 NOOP # 003342,000050: 04,2131 12132 NOOP # 003343,000051: 04,2132 40021 CS SR # 003344,000052: 04,2133 60021 AD SR # 003345,000053: 04,2134 00006 EXTEND # 003346,000054: 04,2135 20021 MSU SR # 003347,000055: 04,2136 00006 EXTEND # 003348,000056: 04,2137 60021 SU SR # 003349,000057: 04,2140 30021 CA SR # 003350,000058: 04,2141 70021 MASK SR # 003351,000059: 04,2142 67424 AD NEGONE # 003352,000060: 04,2143 00006 EXTEND # 003353,000061: 04,2144 12146 BZF +2 # 003354,000062: 04,2145 12161 TCF R1ERROR # 003355,000063: 003356,000064: 04,2146 24062 INCR ERRSUB # 16 003357,000065: 04,2147 00006 EXTEND # 003358,000066: 04,2150 70021 MP SR # 003359,000067: 04,2151 00006 EXTEND # 003360,000068: 04,2152 10021 DV SR # 003361,000069: 04,2153 30021 CA SR # 003362,000070: 04,2154 67424 AD NEGONE # 003363,000071: 04,2155 00006 EXTEND # 003364,000072: 04,2156 12160 BZF +2 # 003365,000073: 04,2157 12161 TCF R1ERROR # 003366,000074: 003367,000075: 04,2160 12162 TCF +2 # 003368,000076: 04,2161 07240 R1ERROR TC ERRORDSP # 003369,000077: (End of include-file SmallyRESTORE1.s, resuming ValidateSmally.s) 003369,000050: 003370,000051: $SmallyRESTORE2.s # 17-20 003371,000001: # Copyright 2004 Ronald S. Burkey 003372,000002: # 003373,000003: # This file is part of yaAGC. 003374,000004: 003375,000005: # yaAGC is free software; you can redistribute it and/or modify 003376,000006: # it under the terms of the GNU General Public License as published by 003377,000007: # the Free Software Foundation; either version 2 of the License, or 003378,000008: # (at your option) any later version. 003379,000009: 003380,000010: # yaAGC is distributed in the hope that it will be useful, 003381,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 003382,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 003383,000013: # GNU General Public License for more details. 003384,000014: 003385,000015: # You should have received a copy of the GNU General Public License 003386,000016: # along with yaAGC; if not, write to the Free Software 003387,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 003388,000018: 003389,000019: # Filename: SmallyRESTORE2.s 003390,000020: # Purpose: This is code written from the flowchart on p. 36 of 003391,000021: # E-2065, which is a document titled "Block II AGC 003392,000022: # Self-Check and Show-Banksum", by Edwin D. Smally. 003393,000023: # Mod history: 07/08/04 RSB. Began. 003394,000024: 003395,000025: # Similar code was apparently originally in Luminary and/or Colossus, 003396,000026: # but much of it was removed over the course of time to make more room. 003397,000027: # I don't know what the original code was like, but the flowcharts still 003398,000028: # exist, so I've rewritten the code from the flowcharts. 003399,000029: 003400,000030: # P. 36 of Smally 003401,000031: 003402,000032: 04,2162 37430 CA ONE # 003403,000033: 04,2163 54066 TS SKEEP1 # 003404,000034: 04,2164 37424 CA NEGONE # 003405,000035: 04,2165 54067 TS SKEEP2 # 003406,000036: 003407,000037: 04,2166 00006 EXTEND # 003408,000038: 04,2167 30067 DCA SKEEP1 # 003409,000039: 04,2170 00006 EXTEND # 003410,000040: 04,2171 40067 DCS SKEEP1 # 003411,000041: 003412,000042: 04,2172 24062 INCR ERRSUB # 17 003413,000043: 04,2173 67430 AD ONE # 003414,000044: 04,2174 00006 EXTEND # 003415,000045: 04,2175 12177 BZF +2 # 003416,000046: 04,2176 12221 TCF R2ERROR # 003417,000047: 04,2177 30001 CA L # 003418,000048: 04,2200 67424 AD NEGONE # 003419,000049: 04,2201 00006 EXTEND # 003420,000050: 04,2202 12204 BZF +2 # 003421,000051: 04,2203 12221 TCF R2ERROR # 003422,000052: 003423,000053: 04,2204 24062 INCR ERRSUB # 20 (octal) 003424,000054: 04,2205 00006 EXTEND # 003425,000055: 04,2206 30067 DCA SKEEP1 # 003426,000056: 04,2207 67424 AD NEGONE # 003427,000057: 04,2210 00006 EXTEND # 003428,000058: 04,2211 12213 BZF +2 # 003429,000059: 04,2212 12221 TCF R2ERROR # 003430,000060: 04,2213 30001 CA L # 003431,000061: 04,2214 67430 AD ONE # 003432,000062: 04,2215 00006 EXTEND # 003433,000063: 04,2216 12220 BZF +2 # 003434,000064: 04,2217 12221 TCF R2ERROR # 003435,000065: 003436,000066: 04,2220 12222 TCF +2 # 003437,000067: 04,2221 07240 R2ERROR TC ERRORDSP # 003438,000068: (End of include-file SmallyRESTORE2.s, resuming ValidateSmally.s) 003438,000051: 003439,000052: $SmallyRESTORE3.s # 21-22 003440,000001: # Copyright 2004 Ronald S. Burkey 003441,000002: # 003442,000003: # This file is part of yaAGC. 003443,000004: 003444,000005: # yaAGC is free software; you can redistribute it and/or modify 003445,000006: # it under the terms of the GNU General Public License as published by 003446,000007: # the Free Software Foundation; either version 2 of the License, or 003447,000008: # (at your option) any later version. 003448,000009: 003449,000010: # yaAGC is distributed in the hope that it will be useful, 003450,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 003451,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 003452,000013: # GNU General Public License for more details. 003453,000014: 003454,000015: # You should have received a copy of the GNU General Public License 003455,000016: # along with yaAGC; if not, write to the Free Software 003456,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 003457,000018: 003458,000019: # Filename: SmallyRESTORE3.s 003459,000020: # Purpose: This is code written from the flowchart on p. 37 of 003460,000021: # E-2065, which is a document titled "Block II AGC 003461,000022: # Self-Check and Show-Banksum", by Edwin D. Smally. 003462,000023: # Mod history: 07/07/04 RSB. Began. 003463,000024: 003464,000025: # Similar code was apparently originally in Luminary and/or Colossus, 003465,000026: # but much of it was removed over the course of time to make more room. 003466,000027: # I don't know what the original code was like, but the flowcharts still 003467,000028: # exist, so I've rewritten the code from the flowcharts. 003468,000029: 003469,000030: # P. 37 of Smally. It APPEARS to me that various 003470,000031: # statements about the contents of A are wrong here, 003471,000032: # probably because of the OCR'ing which has been done 003472,000033: # on Smally's doc before posting to the internet. 003473,000034: 003474,000035: 04,2222 12225 TCF +3 # 003475,000036: 04,2223 40000 4SKEEP1 CS A # 003476,000037: 04,2224 00002 4SKEEP2 TC Q # 003477,000038: 04,2225 32223 CA 4SKEEP1 # 003478,000039: 04,2226 54066 TS SKEEP1 # 003479,000040: 04,2227 32224 CA 4SKEEP2 # 003480,000041: 04,2230 54067 TS SKEEP2 # 003481,000042: 003482,000043: 04,2231 37430 CA ONE # 003483,000044: 04,2232 00066 TC SKEEP1 # Should be -1 on return. 003484,000045: 003485,000046: 04,2233 24062 INCR ERRSUB # 21 003486,000047: 04,2234 67430 AD ONE # 003487,000048: 04,2235 00006 EXTEND # 003488,000049: 04,2236 12240 BZF +2 # 003489,000050: 04,2237 12250 TCF R3ERROR # 003490,000051: 003491,000052: 04,2240 30007 CA ZEROES # 003492,000053: 04,2241 00066 TC SKEEP1 # Should be -0 on return. 003493,000054: 003494,000055: 04,2242 24062 INCR ERRSUB # 22 003495,000056: 04,2243 10000 CCS A # 003496,000057: 04,2244 12250 TCF R3ERROR # 003497,000058: 04,2245 12250 TCF R3ERROR # 003498,000059: 04,2246 12250 TCF R3ERROR # 003499,000060: 003500,000061: 04,2247 12251 TCF +2 # 003501,000062: 04,2250 07240 R3ERROR TC ERRORDSP # 003502,000063: 003503,000064: (End of include-file SmallyRESTORE3.s, resuming ValidateSmally.s) 003503,000052: 003504,000053: $SmallyBZFCHK.s # 23-30 003505,000001: # Copyright 2004 Ronald S. Burkey 003506,000002: # 003507,000003: # This file is part of yaAGC. 003508,000004: 003509,000005: # yaAGC is free software; you can redistribute it and/or modify 003510,000006: # it under the terms of the GNU General Public License as published by 003511,000007: # the Free Software Foundation; either version 2 of the License, or 003512,000008: # (at your option) any later version. 003513,000009: 003514,000010: # yaAGC is distributed in the hope that it will be useful, 003515,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 003516,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 003517,000013: # GNU General Public License for more details. 003518,000014: 003519,000015: # You should have received a copy of the GNU General Public License 003520,000016: # along with yaAGC; if not, write to the Free Software 003521,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 003522,000018: 003523,000019: # Filename: SmallyBZFCHK.s 003524,000020: # Purpose: This is code written from the flowchart on p. 38 of 003525,000021: # E-2065, which is a document titled "Block II AGC 003526,000022: # Self-Check and Show-Banksum", by Edwin D. Smally. 003527,000023: # Mod history: 07/07/04 RSB. Began. 003528,000024: # 07/08/04 RSB. Finished. 003529,000025: 003530,000026: # Similar code was apparently originally in Luminary and/or Colossus, 003531,000027: # but much of it was removed over the course of time to make more room. 003532,000028: # I don't know what the original code was like, but the flowcharts still 003533,000029: # exist, so I've rewritten the code from the flowcharts. 003534,000030: 003535,000031: # P. 38 of Smally. 003536,000032: 003537,000033: 04,2251 24062 INCR ERRSUB # 23 003538,000034: 04,2252 37431 CA TWO # 003539,000035: 04,2253 00006 EXTEND # 003540,000036: 04,2254 12306 BZF BZFERROR # 003541,000037: 003542,000038: 04,2255 24062 INCR ERRSUB # 24 003543,000039: 04,2256 37426 CA NEGTHREE # 003544,000040: 04,2257 00006 EXTEND # 003545,000041: 04,2260 12306 BZF BZFERROR # 003546,000042: 003547,000043: 04,2261 24062 INCR ERRSUB # 25 003548,000044: 04,2262 37443 CA MAXP # 003549,000045: 04,2263 24000 INCR A # 003550,000046: 04,2264 00006 EXTEND # 003551,000047: 04,2265 12306 BZF BZFERROR # 003552,000048: 003553,000049: 04,2266 24062 INCR ERRSUB # 26 003554,000050: 04,2267 37447 CA MAXN # 003555,000051: 04,2270 67424 AD NEGONE # 003556,000052: 04,2271 00006 EXTEND # 003557,000053: 04,2272 12306 BZF BZFERROR # 003558,000054: 003559,000055: 04,2273 24062 INCR ERRSUB # 27 003560,000056: 04,2274 30007 CA ZEROES # 003561,000057: 04,2275 00006 EXTEND # 003562,000058: 04,2276 12300 BZF +2 # 003563,000059: 04,2277 12306 TCF BZFERROR # 003564,000060: 003565,000061: 04,2300 24062 INCR ERRSUB # 30 octal 003566,000062: 04,2301 37423 CA NEGZERO # 003567,000063: 04,2302 00006 EXTEND # 003568,000064: 04,2303 12305 BZF +2 # 003569,000065: 04,2304 12306 TCF BZFERROR # 003570,000066: 003571,000067: 04,2305 12307 TCF +2 # 003572,000068: 04,2306 07240 BZFERROR TC ERRORDSP # 003573,000069: (End of include-file SmallyBZFCHK.s, resuming ValidateSmally.s) 003573,000053: 003574,000054: $SmallyDXCHDIM.s # 31-35 003575,000001: # Copyright 2004 Ronald S. Burkey 003576,000002: # 003577,000003: # This file is part of yaAGC. 003578,000004: 003579,000005: # yaAGC is free software; you can redistribute it and/or modify 003580,000006: # it under the terms of the GNU General Public License as published by 003581,000007: # the Free Software Foundation; either version 2 of the License, or 003582,000008: # (at your option) any later version. 003583,000009: 003584,000010: # yaAGC is distributed in the hope that it will be useful, 003585,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 003586,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 003587,000013: # GNU General Public License for more details. 003588,000014: 003589,000015: # You should have received a copy of the GNU General Public License 003590,000016: # along with yaAGC; if not, write to the Free Software 003591,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 003592,000018: 003593,000019: # Filename: SmallyDXCHDIM.s 003594,000020: # Purpose: This is code written from the flowchart on p. 39 of 003595,000021: # E-2065, which is a document titled "Block II AGC 003596,000022: # Self-Check and Show-Banksum", by Edwin D. Smally. 003597,000023: # Mod history: 07/07/04 RSB. Began. 003598,000024: 003599,000025: # Similar code was apparently originally in Luminary and/or Colossus, 003600,000026: # but much of it was removed over the course of time to make more room. 003601,000027: # I don't know what the original code was like, but the flowcharts still 003602,000028: # exist, so I've rewritten the code from the flowcharts. 003603,000029: 003604,000030: # P. 39 of Smally 003605,000031: 003606,000032: 04,2307 37443 CA MAXP # 37777 003607,000033: 04,2310 67431 AD TWO # 003608,000034: 003609,000035: 04,2311 24062 INCR ERRSUB # ERRSUB = 31 003610,000036: 04,2312 54066 TS SKEEP1 # Smally says SKEEP2, but must be SKEEP1. 003611,000037: 04,2313 12422 TCF DDERROR # 003612,000038: 003613,000039: 04,2314 37424 CA NEGONE # 003614,000040: 04,2315 54067 TS SKEEP2 # 003615,000041: 04,2316 37447 CA MAXN # 40000 003616,000042: 04,2317 54001 TS L # 003617,000043: 04,2320 37443 CA MAXP # 37777 003618,000044: 003619,000045: 04,2321 24062 INCR ERRSUB # ERRSUB = 32 003620,000046: 04,2322 52067 DXCH SKEEP1 # 003621,000047: 04,2323 67424 AD NEGONE # 003622,000048: 04,2324 00006 EXTEND # 003623,000049: 04,2325 12327 BZF +2 # 003624,000050: 04,2326 12422 TCF DDERROR # 003625,000051: 04,2327 30001 CA L # 003626,000052: 04,2330 67430 AD ONE # 003627,000053: 04,2331 00006 EXTEND # 003628,000054: 04,2332 12334 BZF +2 # 003629,000055: 04,2333 12422 TCF DDERROR # 003630,000056: 003631,000057: 04,2334 00006 EXTEND # 003632,000058: 04,2335 26066 DIM SKEEP1 # 003633,000059: 04,2336 00006 EXTEND # 003634,000060: 04,2337 26067 DIM SKEEP2 # 003635,000061: 003636,000062: 04,2340 24062 INCR ERRSUB # ERRSUB = 33 003637,000063: 04,2341 37444 CA MAXP-1 # 37776 003638,000064: 04,2342 40000 COM # 003639,000065: 04,2343 60066 AD SKEEP1 # 003640,000066: 04,2344 00006 EXTEND # 003641,000067: 04,2345 12347 BZF +2 # 003642,000068: 04,2346 12422 TCF DDERROR # 003643,000069: 04,2347 37450 CA MAXN-1 # 40001 003644,000070: 04,2350 40000 COM # 003645,000071: 04,2351 60067 AD SKEEP2 # 003646,000072: 04,2352 00006 EXTEND # 003647,000073: 04,2353 12355 BZF +2 # 003648,000074: 04,2354 12422 TCF DDERROR # 003649,000075: 003650,000076: 04,2355 24062 INCR ERRSUB # ERRSUB = 34 003651,000077: 04,2356 37430 CA ONE # 003652,000078: 04,2357 00006 EXTEND # 003653,000079: 04,2360 26000 DIM A # 003654,000080: 04,2361 00006 EXTEND # 003655,000081: 04,2362 26000 DIM A # 003656,000082: # Note: The reason we're looking for -0 here instead of +0 is 003657,000083: # that 1 - 1 = -0. 003658,000084: 04,2363 10000 CCS A # 003659,000085: 04,2364 12422 TCF DDERROR # 003660,000086: 04,2365 12422 TCF DDERROR # 003661,000087: 04,2366 12422 TCF DDERROR # 003662,000088: 003663,000089: 04,2367 24062 INCR ERRSUB # ERRSUB = 35 003664,000090: 04,2370 30007 CA ZEROES # 003665,000091: 04,2371 00006 EXTEND # 003666,000092: 04,2372 26000 DIM A # 003667,000093: 04,2373 10000 CCS A # 003668,000094: 04,2374 12422 TCF DDERROR # 003669,000095: 04,2375 12400 TCF +3 # 003670,000096: 04,2376 12422 TCF DDERROR # 003671,000097: 04,2377 12422 TCF DDERROR # 003672,000098: 04,2400 22007 ZL # 003673,000099: 04,2401 00006 EXTEND # 003674,000100: 04,2402 26001 DIM L # 003675,000101: 04,2403 10001 CCS L # 003676,000102: 04,2404 12422 TCF DDERROR # 003677,000103: 04,2405 12410 TCF +3 # 003678,000104: 04,2406 12422 TCF DDERROR # 003679,000105: 04,2407 12422 TCF DDERROR # 003680,000106: 04,2410 00006 EXTEND # 003681,000107: 04,2411 22007 ZQ # 003682,000108: 04,2412 00006 EXTEND # 003683,000109: 04,2413 26002 DIM Q # 003684,000110: 04,2414 10002 CCS Q # 003685,000111: 04,2415 12422 TCF DDERROR # 003686,000112: 04,2416 12421 TCF +3 # 003687,000113: 04,2417 12422 TCF DDERROR # 003688,000114: 04,2420 12422 TCF DDERROR # 003689,000115: 003690,000116: 04,2421 12423 TCF +2 # 003691,000117: 04,2422 07240 DDERROR TC ERRORDSP # 003692,000118: 04,2423 37432 CA THREE # Some downstream tests will expect Q==3. 003693,000119: 04,2424 54002 TS Q # 003694,000120: (End of include-file SmallyDXCHDIM.s, resuming ValidateSmally.s) 003694,000054: 003695,000055: $SmallyDASINCR.s # 36-42 003696,000001: # Copyright 2004 Ronald S. Burkey 003697,000002: # 003698,000003: # This file is part of yaAGC. 003699,000004: 003700,000005: # yaAGC is free software; you can redistribute it and/or modify 003701,000006: # it under the terms of the GNU General Public License as published by 003702,000007: # the Free Software Foundation; either version 2 of the License, or 003703,000008: # (at your option) any later version. 003704,000009: 003705,000010: # yaAGC is distributed in the hope that it will be useful, 003706,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 003707,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 003708,000013: # GNU General Public License for more details. 003709,000014: 003710,000015: # You should have received a copy of the GNU General Public License 003711,000016: # along with yaAGC; if not, write to the Free Software 003712,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 003713,000018: 003714,000019: # Filename: SmallyDASINCR.s 003715,000020: # Purpose: This is code written from the flowchart on p. 41 of 003716,000021: # E-2065, which is a document titled "Block II AGC 003717,000022: # Self-Check and Show-Banksum", by Edwin D. Smally. 003718,000023: # Mod history: 07/07/04 RSB. Began. 003719,000024: # 07/09/04 RSB. Finished. 003720,000025: 003721,000026: # Similar code was apparently originally in Luminary and/or Colossus, 003722,000027: # but much of it was removed over the course of time to make more room. 003723,000028: # I don't know what the original code was like, but the flowcharts still 003724,000029: # exist, so I've rewritten the code from the flowcharts. 003725,000030: 003726,000031: # P. 41 of Smally 003727,000032: 003728,000033: 04,2425 37424 CA NEGONE # 003729,000034: 04,2426 54001 TS L # 003730,000035: 04,2427 37431 CA TWO # 003731,000036: 003732,000037: 04,2430 24062 INCR ERRSUB # 36 003733,000038: 04,2431 20001 DDOUBL # 003734,000039: 04,2432 67427 AD NEGFOUR # 003735,000040: 04,2433 00006 EXTEND # 003736,000041: 04,2434 12436 BZF +2 # 003737,000042: 04,2435 12553 TCF DIERROR # 003738,000043: 04,2436 30001 CA L # 003739,000044: 04,2437 67431 AD TWO # 003740,000045: 04,2440 00006 EXTEND # 003741,000046: 04,2441 12443 BZF +2 # 003742,000047: 04,2442 12553 TCF DIERROR # 003743,000048: 003744,000049: 04,2443 37443 CA MAXP # 37777. Smally incorrectly says 3777. 003745,000050: 04,2444 54070 TS SKEEP3 # 003746,000051: 04,2445 37447 CA MAXN # 40000 003747,000052: 04,2446 54071 TS SKEEP4 # 003748,000053: 04,2447 37425 CA NEGTWO # 003749,000054: 04,2450 54001 TS L # 003750,000055: 04,2451 37432 CA THREE # 003751,000056: 003752,000057: 04,2452 24062 INCR ERRSUB # 37 003753,000058: # Smally incorrectly says here that c(A)==+0 and c(L)==+1. 003754,000059: # This is actually reversed. 003755,000060: 04,2453 20071 DAS SKEEP3 # 003756,000061: 04,2454 67424 AD NEGONE # 003757,000062: 04,2455 00006 EXTEND # 003758,000063: 04,2456 12460 BZF +2 # 003759,000064: 04,2457 12553 TCF DIERROR # 003760,000065: 04,2460 10001 CCS L # 003761,000066: 04,2461 12553 TCF DIERROR # 003762,000067: 04,2462 12465 TCF +3 # 003763,000068: 04,2463 12553 TCF DIERROR # 003764,000069: 04,2464 12553 TCF DIERROR # 003765,000070: 04,2465 30070 CA SKEEP3 # 003766,000071: 04,2466 67424 AD NEGONE # 003767,000072: 04,2467 00006 EXTEND # 003768,000073: 04,2470 12472 BZF +2 # 003769,000074: 04,2471 12553 TCF DIERROR # 003770,000075: 04,2472 30071 CA SKEEP4 # 003771,000076: 04,2473 67430 AD ONE # 003772,000077: 04,2474 00006 EXTEND # 003773,000078: 04,2475 12477 BZF +2 # 003774,000079: 04,2476 12553 TCF DIERROR # 003775,000080: 003776,000081: 04,2477 24062 INCR ERRSUB # 40 octal 003777,000082: 04,2500 24071 INCR SKEEP4 # 003778,000083: 04,2501 10071 CCS SKEEP4 # 003779,000084: 04,2502 12553 TCF DIERROR # 003780,000085: 04,2503 12553 TCF DIERROR # 003781,000086: 04,2504 12553 TCF DIERROR # 003782,000087: 003783,000088: 04,2505 24062 INCR ERRSUB # 41 003784,000089: 04,2506 30007 CA ZEROES # 003785,000090: 04,2507 54001 TS L # 003786,000091: 04,2510 24001 INCR L # 003787,000092: 04,2511 24000 INCR A # 003788,000093: 04,2512 67424 AD NEGONE # 003789,000094: 04,2513 00006 EXTEND # 003790,000095: 04,2514 12516 BZF +2 # 003791,000096: 04,2515 12553 TCF DIERROR # 003792,000097: 04,2516 30001 CA L # 003793,000098: 04,2517 67424 AD NEGONE # 003794,000099: 04,2520 00006 EXTEND # 003795,000100: 04,2521 12523 BZF +2 # 003796,000101: 04,2522 12553 TCF DIERROR # 003797,000102: 003798,000103: 04,2523 37447 CA MAXN # 40000 003799,000104: 04,2524 54066 TS SKEEP1 # 003800,000105: 04,2525 37443 CA MAXP # 37777 003801,000106: 04,2526 54067 TS SKEEP2 # 003802,000107: 04,2527 37432 CA THREE # 003803,000108: 04,2530 54001 TS L # 003804,000109: 04,2531 37426 CA NEGTHREE # 003805,000110: 003806,000111: 04,2532 24062 INCR ERRSUB # 42 003807,000112: # Here Smally says that c(SKEEP1)==+1 and c(SKEEP2)==-2 003808,000113: # after the addition. I think both signs are the opposite of 003809,000114: # what they should be. 003810,000115: 04,2533 20067 DAS SKEEP1 # 003811,000116: 04,2534 67430 AD ONE # 003812,000117: 04,2535 00006 EXTEND # 003813,000118: 04,2536 12540 BZF +2 # 003814,000119: 04,2537 12553 TCF DIERROR # 003815,000120: 04,2540 30066 CA SKEEP1 # 003816,000121: 04,2541 67430 AD ONE # 003817,000122: 04,2542 00006 EXTEND # 003818,000123: 04,2543 12545 BZF +2 # 003819,000124: 04,2544 12553 TCF DIERROR # 003820,000125: 04,2545 30067 CA SKEEP2 # 003821,000126: 04,2546 67425 AD NEGTWO # 003822,000127: 04,2547 00006 EXTEND # 003823,000128: 04,2550 12552 BZF +2 # 003824,000129: 04,2551 12553 TCF DIERROR # 003825,000130: 003826,000131: 04,2552 12554 TCF +2 # 003827,000132: 04,2553 07240 DIERROR TC ERRORDSP # 003828,000133: (End of include-file SmallyDASINCR.s, resuming ValidateSmally.s) 003828,000055: 003829,000056: $SmallyMPCHK.s # 43-50 003830,000001: # Copyright 2004 Ronald S. Burkey 003831,000002: # 003832,000003: # This file is part of yaAGC. 003833,000004: 003834,000005: # yaAGC is free software; you can redistribute it and/or modify 003835,000006: # it under the terms of the GNU General Public License as published by 003836,000007: # the Free Software Foundation; either version 2 of the License, or 003837,000008: # (at your option) any later version. 003838,000009: 003839,000010: # yaAGC is distributed in the hope that it will be useful, 003840,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 003841,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 003842,000013: # GNU General Public License for more details. 003843,000014: 003844,000015: # You should have received a copy of the GNU General Public License 003845,000016: # along with yaAGC; if not, write to the Free Software 003846,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 003847,000018: 003848,000019: # Filename: SmallyMPCHK.s 003849,000020: # Purpose: This is code written from the flowchart on p. 42 of 003850,000021: # E-2065, which is a document titled "Block II AGC 003851,000022: # Self-Check and Show-Banksum", by Edwin D. Smally. 003852,000023: # Mod history: 07/07/04 RSB. Began. 003853,000024: 003854,000025: # Similar code was apparently originally in Luminary and/or Colossus, 003855,000026: # but much of it was removed over the course of time to make more room. 003856,000027: # I don't know what the original code was like, but the flowcharts still 003857,000028: # exist, so I've rewritten the code from the flowcharts. 003858,000029: 003859,000030: # P. 42 of Smally 003860,000031: 003861,000032: 04,2554 24062 INCR ERRSUB # 43 003862,000033: 04,2555 37430 CA ONE # 003863,000034: 04,2556 00006 EXTEND # 003864,000035: 04,2557 24000 AUG A # A == +2 003865,000036: 04,2560 67425 AD NEGTWO # 003866,000037: 04,2561 00006 EXTEND # 003867,000038: 04,2562 12564 BZF +2 # 003868,000039: 04,2563 12653 TCF MPCERROR # 003869,000040: 003870,000041: 04,2564 37431 CA TWO # 003871,000042: 04,2565 00006 EXTEND # 003872,000043: 04,2566 77443 MP MAXP # 003873,000044: 003874,000045: 04,2567 24062 INCR ERRSUB # 44 003875,000046: 04,2570 60001 AD L # A == 37777 003876,000047: 04,2571 67447 AD MAXN # -37777 003877,000048: 04,2572 00006 EXTEND # 003878,000049: 04,2573 12575 BZF +2 # 003879,000050: 04,2574 12653 TCF MPCERROR # 003880,000051: 04,2575 37443 CA MAXP # 37777 003881,000052: 04,2576 00006 EXTEND # 003882,000053: 04,2577 77425 MP NEGTWO # 003883,000054: 003884,000055: 04,2600 24062 INCR ERRSUB # 45 003885,000056: 04,2601 26001 ADS L # A == -37777 003886,000057: 04,2602 67443 AD MAXP # 37777 003887,000058: 04,2603 00006 EXTEND # 003888,000059: 04,2604 12606 BZF +2 # 003889,000060: 04,2605 12653 TCF MPCERROR # 003890,000061: 04,2606 37447 CA MAXN # -37777 003891,000062: 003892,000063: 04,2607 24062 INCR ERRSUB # 46 003893,000064: 04,2610 00006 EXTEND # 003894,000065: 04,2611 77431 MP TWO # 003895,000066: 04,2612 54073 TS SKEEP6 # -1 003896,000067: 04,2613 67430 AD ONE # 003897,000068: 04,2614 00006 EXTEND # 003898,000069: 04,2615 12617 BZF +2 # 003899,000070: 04,2616 12653 TCF MPCERROR # 003900,000071: 04,2617 00006 EXTEND # 003901,000072: 04,2620 24073 AUG SKEEP6 # SKEEP6==-2 003902,000073: 003903,000074: 04,2621 24062 INCR ERRSUB # 47 003904,000075: 04,2622 37447 CA MAXN # 40000 003905,000076: 04,2623 00006 EXTEND # 003906,000077: 04,2624 70073 MP SKEEP6 # 003907,000078: 04,2625 67424 AD NEGONE # 003908,000079: 04,2626 00006 EXTEND # 003909,000080: 04,2627 12631 BZF +2 # 003910,000081: 04,2630 12653 TCF MPCERROR # 003911,000082: 04,2631 30001 CA L # 003912,000083: 04,2632 67450 AD MAXN-1 # -37776 003913,000084: 04,2633 00006 EXTEND # 003914,000085: 04,2634 12636 BZF +2 # 003915,000086: 04,2635 12653 TCF MPCERROR # 003916,000087: 003917,000088: 04,2636 24062 INCR ERRSUB # 50 octal 003918,000089: 04,2637 37430 CA ONE # Smally says -1. 003919,000090: 04,2640 26073 ADS SKEEP6 # 003920,000091: 04,2641 67430 AD ONE # 003921,000092: 04,2642 00006 EXTEND # 003922,000093: 04,2643 12645 BZF +2 # 003923,000094: 04,2644 12653 TCF MPCERROR # 003924,000095: 04,2645 30073 CA SKEEP6 # 003925,000096: 04,2646 67430 AD ONE # 003926,000097: 04,2647 00006 EXTEND # 003927,000098: 04,2650 12652 BZF +2 # 003928,000099: 04,2651 12653 TCF MPCERROR # 003929,000100: 003930,000101: 04,2652 12654 TCF +2 # 003931,000102: 04,2653 07240 MPCERROR TC ERRORDSP # 003932,000103: (End of include-file SmallyMPCHK.s, resuming ValidateSmally.s) 003932,000056: 003933,000057: $SmallyDVCHK.s # 51-57 003934,000001: # Copyright 2004 Ronald S. Burkey 003935,000002: # 003936,000003: # This file is part of yaAGC. 003937,000004: 003938,000005: # yaAGC is free software; you can redistribute it and/or modify 003939,000006: # it under the terms of the GNU General Public License as published by 003940,000007: # the Free Software Foundation; either version 2 of the License, or 003941,000008: # (at your option) any later version. 003942,000009: 003943,000010: # yaAGC is distributed in the hope that it will be useful, 003944,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 003945,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 003946,000013: # GNU General Public License for more details. 003947,000014: 003948,000015: # You should have received a copy of the GNU General Public License 003949,000016: # along with yaAGC; if not, write to the Free Software 003950,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 003951,000018: 003952,000019: # Filename: SmallyDVCHK.s 003953,000020: # Purpose: This is code written from the flowchart on p. 43 of 003954,000021: # E-2065, which is a document titled "Block II AGC 003955,000022: # Self-Check and Show-Banksum", by Edwin D. Smally. 003956,000023: # Mod history: 07/07/04 RSB. Began. 003957,000024: 003958,000025: # Similar code was apparently originally in Luminary and/or Colossus, 003959,000026: # but much of it was removed over the course of time to make more room. 003960,000027: # I don't know what the original code was like, but the flowcharts still 003961,000028: # exist, so I've rewritten the code from the flowcharts. 003962,000029: 003963,000030: # P. 43 of Smally 003964,000031: 003965,000032: 04,2654 37443 CA MAXP # 003966,000033: 04,2655 24000 INCR A # 003967,000034: 04,2656 54001 TS L # 003968,000035: 04,2657 13025 TCF DVCERROR # 003969,000036: 003970,000037: 04,2660 24062 INCR ERRSUB # 51 003971,000038: 04,2661 37447 CA MAXN # 003972,000039: 04,2662 67424 AD NEGONE # 003973,000040: 04,2663 54067 TS SKEEP2 # 003974,000041: 04,2664 13025 TCF DVCERROR # 003975,000042: 003976,000043: 04,2665 24062 INCR ERRSUB # 52 003977,000044: 04,2666 37430 CA ONE # 003978,000045: 04,2667 54063 TS TEMPI # 003979,000046: 04,2670 37405 CA O20000 # 003980,000047: 04,2671 54001 TS L # 003981,000048: 04,2672 37423 CA NEGZERO # 003982,000049: 04,2673 00006 EXTEND # 003983,000050: 04,2674 10063 DV TEMPI # 003984,000051: 04,2675 10001 CCS L # 003985,000052: 04,2676 13025 TCF DVCERROR # 003986,000053: 04,2677 12702 TCF +3 # 003987,000054: 04,2700 13025 TCF DVCERROR # 003988,000055: 04,2701 13025 TCF DVCERROR # 003989,000056: 003990,000057: 04,2702 24062 INCR ERRSUB # 53 003991,000058: 04,2703 37424 CA NEGONE # 003992,000059: 04,2704 54063 TS TEMPI # 003993,000060: 04,2705 37420 CA O-20000 # 003994,000061: 04,2706 54001 TS L # 003995,000062: 04,2707 30007 CA ZEROES # 003996,000063: 04,2710 00006 EXTEND # 003997,000064: 04,2711 10063 DV TEMPI # 003998,000065: 04,2712 67420 AD O-20000 # 003999,000066: 04,2713 00006 EXTEND # 004000,000067: 04,2714 12716 BZF +2 # 004001,000068: 04,2715 13025 TCF DVCERROR # 004002,000069: 04,2716 10001 CCS L # 004003,000070: 04,2717 13025 TCF DVCERROR # 004004,000071: 04,2720 13025 TCF DVCERROR # 004005,000072: 04,2721 13025 TCF DVCERROR # 004006,000073: 004007,000074: # Smally says in the following to divide +17777+37777 by -20000. 004008,000075: # This is inconsistent with the sign of the remainder he seems 004009,000076: # to imply. I assume he means -17777-37777 / +20000. 004010,000077: 04,2722 37420 CA O-20000 # 004011,000078: 04,2723 54063 TS TEMPI # 004012,000079: 04,2724 37405 CA O20000 # 004013,000080: 04,2725 54064 TS TEMPJ # 004014,000081: 04,2726 37447 CA MAXN # 004015,000082: 04,2727 54001 TS L # 004016,000083: 04,2730 37417 CA O-17777 # 004017,000084: 04,2731 00006 EXTEND # 004018,000085: 04,2732 10064 DV TEMPJ # 004019,000086: 004020,000087: 04,2733 24062 INCR ERRSUB # 54 004021,000088: 04,2734 56001 XCH L # 004022,000089: 04,2735 00006 EXTEND # 004023,000090: 04,2736 10064 DV TEMPJ # 004024,000091: 04,2737 67443 AD MAXP # 004025,000092: 04,2740 00006 EXTEND # 004026,000093: 04,2741 12743 BZF +2 # 004027,000094: 04,2742 13025 TCF DVCERROR # 004028,000095: 04,2743 30001 CA L # 004029,000096: 04,2744 67404 AD O17777 # 004030,000097: 04,2745 00006 EXTEND # 004031,000098: 04,2746 12750 BZF +2 # 004032,000099: 04,2747 13025 TCF DVCERROR # 004033,000100: 004034,000101: 04,2750 24062 INCR ERRSUB # 55 004035,000102: 04,2751 37443 CA MAXP # 004036,000103: 04,2752 54001 TS L # 004037,000104: 04,2753 37417 CA O-17777 # 004038,000105: 04,2754 00006 EXTEND # 004039,000106: 04,2755 10064 DV TEMPJ # 004040,000107: 04,2756 67446 AD MAXP-3 # 004041,000108: 04,2757 00006 EXTEND # 004042,000109: 04,2760 12762 BZF +2 # 004043,000110: 04,2761 13025 TCF DVCERROR # 004044,000111: 04,2762 30001 CA L # 004045,000112: 04,2763 67430 AD ONE # 004046,000113: 04,2764 00006 EXTEND # 004047,000114: 04,2765 12767 BZF +2 # 004048,000115: 04,2766 13025 TCF DVCERROR # 004049,000116: 004050,000117: # Note that Q still contains +3 from prior tests, and that SKEEP1 004051,000118: # should still contain -1 (Smally says +1). 004052,000119: 04,2767 37450 CA MAXN-1 # 004053,000120: 04,2770 54065 TS TEMPK # 004054,000121: 04,2771 22007 ZL # 004055,000122: 04,2772 37444 CA MAXP-1 # 004056,000123: 04,2773 00006 EXTEND # 004057,000124: 04,2774 10065 DV TEMPK # 004058,000125: # QXCH L 004059,000126: 004060,000127: 04,2775 24062 INCR ERRSUB # 56 004061,000128: 04,2776 67443 AD MAXP # 004062,000129: 04,2777 00006 EXTEND # 004063,000130: 04,3000 13002 BZF +2 # 004064,000131: 04,3001 13025 TCF DVCERROR # 004065,000132: 04,3002 30001 CA L # 004066,000133: 04,3003 67444 AD MAXP-1 # 004067,000134: 04,3004 00006 EXTEND # 004068,000135: 04,3005 13007 BZF +2 # 004069,000136: 04,3006 13025 TCF DVCERROR # 004070,000137: 004071,000138: 04,3007 24062 INCR ERRSUB # ERRSUB = 57 004072,000139: 04,3010 00006 EXTEND # 004073,000140: 04,3011 22066 QXCH SKEEP1 # 004074,000141: 04,3012 30002 CA Q # 004075,000142: 04,3013 67430 AD ONE # 004076,000143: 04,3014 00006 EXTEND # 004077,000144: 04,3015 13017 BZF +2 # 004078,000145: 04,3016 13025 TCF DVCERROR # 004079,000146: 04,3017 30066 CA SKEEP1 # 004080,000147: 04,3020 67426 AD NEGTHREE # 004081,000148: 04,3021 00006 EXTEND # 004082,000149: 04,3022 13024 BZF +2 # 004083,000150: 04,3023 13025 TCF DVCERROR # 004084,000151: 004085,000152: 04,3024 13026 TCF +2 # 004086,000153: 04,3025 07240 DVCERROR TC ERRORDSP # 004087,000154: (End of include-file SmallyDVCHK.s, resuming ValidateSmally.s) 004087,000057: 004088,000058: $SmallyMSUCHK.s # 60-62 004089,000001: # Copyright 2004 Ronald S. Burkey 004090,000002: # 004091,000003: # This file is part of yaAGC. 004092,000004: 004093,000005: # yaAGC is free software; you can redistribute it and/or modify 004094,000006: # it under the terms of the GNU General Public License as published by 004095,000007: # the Free Software Foundation; either version 2 of the License, or 004096,000008: # (at your option) any later version. 004097,000009: 004098,000010: # yaAGC is distributed in the hope that it will be useful, 004099,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 004100,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 004101,000013: # GNU General Public License for more details. 004102,000014: 004103,000015: # You should have received a copy of the GNU General Public License 004104,000016: # along with yaAGC; if not, write to the Free Software 004105,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 004106,000018: 004107,000019: # Filename: SmallyMSUCHK.s 004108,000020: # Purpose: This is code written from the flowchart on p. 44 of 004109,000021: # E-2065, which is a document titled "Block II AGC 004110,000022: # Self-Check and Show-Banksum", by Edwin D. Smally. 004111,000023: # Mod history: 07/10/04 RSB. Began. 004112,000024: 004113,000025: # Similar code was apparently originally in Luminary and/or Colossus, 004114,000026: # but much of it was removed over the course of time to make more room. 004115,000027: # I don't know what the original code was like, but the flowcharts still 004116,000028: # exist, so I've rewritten the code from the flowcharts. 004117,000029: 004118,000030: # P. 44 of Smally 004119,000031: 004120,000032: 04,3026 24062 INCR ERRSUB # 60 004121,000033: 04,3027 37423 CA NEGZERO # 004122,000034: 04,3030 54001 TS L # 004123,000035: 04,3031 00006 EXTEND # 004124,000036: 04,3032 20001 MSU L # 004125,000037: 04,3033 10000 CCS A # 004126,000038: 04,3034 13063 TCF MSCERROR # 004127,000039: 04,3035 13040 TCF +3 # 004128,000040: 04,3036 13063 TCF MSCERROR # 004129,000041: 04,3037 13063 TCF MSCERROR # 004130,000042: 004131,000043: 04,3040 24062 INCR ERRSUB # 61 004132,000044: 04,3041 00006 EXTEND # 004133,000045: 04,3042 20001 MSU L # 004134,000046: 04,3043 10000 CCS A # 004135,000047: 04,3044 13063 TCF MSCERROR # 004136,000048: 04,3045 13050 TCF +3 # 004137,000049: 04,3046 13063 TCF MSCERROR # 004138,000050: 04,3047 13063 TCF MSCERROR # 004139,000051: 004140,000052: 04,3050 24062 INCR ERRSUB # 62 004141,000053: 04,3051 37447 CA MAXN # 004142,000054: 04,3052 54001 TS L # 004143,000055: 04,3053 37443 CA MAXP # 004144,000056: 04,3054 00006 EXTEND # 004145,000057: 04,3055 20001 MSU L # 004146,000058: 04,3056 67430 AD ONE # 004147,000059: 04,3057 00006 EXTEND # 004148,000060: 04,3060 13062 BZF +2 # 004149,000061: 04,3061 13063 TCF MSCERROR # 004150,000062: 004151,000063: 04,3062 13064 TCF +2 # 004152,000064: 04,3063 07240 MSCERROR TC ERRORDSP # 004153,000065: (End of include-file SmallyMSUCHK.s, resuming ValidateSmally.s) 004153,000058: 004154,000059: $SmallyMASKCHK.s # 63-66 004155,000001: # Copyright 2004 Ronald S. Burkey 004156,000002: # 004157,000003: # This file is part of yaAGC. 004158,000004: 004159,000005: # yaAGC is free software; you can redistribute it and/or modify 004160,000006: # it under the terms of the GNU General Public License as published by 004161,000007: # the Free Software Foundation; either version 2 of the License, or 004162,000008: # (at your option) any later version. 004163,000009: 004164,000010: # yaAGC is distributed in the hope that it will be useful, 004165,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 004166,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 004167,000013: # GNU General Public License for more details. 004168,000014: 004169,000015: # You should have received a copy of the GNU General Public License 004170,000016: # along with yaAGC; if not, write to the Free Software 004171,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 004172,000018: 004173,000019: # Filename: SmallyMASKCHK.s 004174,000020: # Purpose: This is code written from the flowchart on p. 45 of 004175,000021: # E-2065, which is a document titled "Block II AGC 004176,000022: # Self-Check and Show-Banksum", by Edwin D. Smally. 004177,000023: # Mod history: 07/10/04 RSB. Began. 004178,000024: 004179,000025: # Similar code was apparently originally in Luminary and/or Colossus, 004180,000026: # but much of it was removed over the course of time to make more room. 004181,000027: # I don't know what the original code was like, but the flowcharts still 004182,000028: # exist, so I've rewritten the code from the flowcharts. 004183,000029: 004184,000030: # P. 45 of Smally 004185,000031: 004186,000032: 04,3064 24062 INCR ERRSUB # 63 004187,000033: 04,3065 37414 CA O77770 # 004188,000034: 04,3066 77436 MASK SEVEN # 004189,000035: 04,3067 00006 EXTEND # 004190,000036: 04,3070 13072 BZF +2 # 004191,000037: 04,3071 13126 TCF MSKERROR # 004192,000038: 004193,000039: 04,3072 24062 INCR ERRSUB # 64 004194,000040: 04,3073 37436 CA SEVEN # 004195,000041: 04,3074 77430 MASK ONE # 004196,000042: 04,3075 67424 AD NEGONE # 004197,000043: 04,3076 00006 EXTEND # 004198,000044: 04,3077 13101 BZF +2 # 004199,000045: 04,3100 13126 TCF MSKERROR # 004200,000046: 004201,000047: 04,3101 37430 CA ONE # 004202,000048: 04,3102 54001 TS L # 004203,000049: 04,3103 54066 TS SKEEP1 # 004204,000050: 004205,000051: 04,3104 50000 INDEX A # 004206,000052: 04,3105 60000 AD SZERO # 004207,000053: 004208,000054: 04,3106 24062 INCR ERRSUB # 65 004209,000055: 04,3107 00006 EXTEND # 004210,000056: 04,3110 60001 SU L # 004211,000057: 04,3111 67424 AD NEGONE # 004212,000058: 04,3112 00006 EXTEND # 004213,000059: 04,3113 13115 BZF +2 # 004214,000060: 04,3114 13126 TCF MSKERROR # 004215,000061: 004216,000062: 04,3115 00006 EXTEND # 004217,000063: 04,3116 50001 INDEX L # 004218,000064: 04,3117 60000 SU SZERO # 004219,000065: 004220,000066: 04,3120 24062 INCR ERRSUB # 66 004221,000067: 04,3121 67430 AD ONE # 004222,000068: 04,3122 00006 EXTEND # 004223,000069: 04,3123 13125 BZF +2 # 004224,000070: 04,3124 13126 TCF MSKERROR # 004225,000071: 004226,000072: 04,3125 13127 TCF +2 # 004227,000073: 04,3126 07240 MSKERROR TC ERRORDSP # 004228,000074: (End of include-file SmallyMASKCHK.s, resuming ValidateSmally.s) 004228,000059: 004229,000060: $SmallyD--SC.s # 67-71 004230,000001: # Copyright 2004 Ronald S. Burkey 004231,000002: # 004232,000003: # This file is part of yaAGC. 004233,000004: 004234,000005: # yaAGC is free software; you can redistribute it and/or modify 004235,000006: # it under the terms of the GNU General Public License as published by 004236,000007: # the Free Software Foundation; either version 2 of the License, or 004237,000008: # (at your option) any later version. 004238,000009: 004239,000010: # yaAGC is distributed in the hope that it will be useful, 004240,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 004241,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 004242,000013: # GNU General Public License for more details. 004243,000014: 004244,000015: # You should have received a copy of the GNU General Public License 004245,000016: # along with yaAGC; if not, write to the Free Software 004246,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 004247,000018: 004248,000019: # Filename: SmallyD--SC.s 004249,000020: # Purpose: This is code written from the flowchart on p. 46 of 004250,000021: # E-2065, which is a document titled "Block II AGC 004251,000022: # Self-Check and Show-Banksum", by Edwin D. Smally. 004252,000023: # Mod history: 07/07/04 RSB. Began. 004253,000024: 004254,000025: # Similar code was apparently originally in Luminary and/or Colossus, 004255,000026: # but much of it was removed over the course of time to make more room. 004256,000027: # I don't know what the original code was like, but the flowcharts still 004257,000028: # exist, so I've rewritten the code from the flowcharts. 004258,000029: 004259,000030: # P. 46 of Smally. 004260,000031: 004261,000032: 04,3127 37424 CA NEGONE # Smally says +2, but I think this is right. 004262,000033: 04,3130 54001 TS L # 004263,000034: 04,3131 37430 CA ONE # 004264,000035: 004265,000036: 04,3132 24062 INCR ERRSUB # 67 004266,000037: 04,3133 00006 EXTEND # 004267,000038: 04,3134 40001 DCS A # 004268,000039: 04,3135 67430 AD ONE # 004269,000040: 04,3136 00006 EXTEND # 004270,000041: 04,3137 13141 BZF +2 # 004271,000042: 04,3140 03212 TC DSCERROR # 004272,000043: 04,3141 30007 CA ZEROES # 004273,000044: 004274,000045: # The following assumes that c(Q)==3 from previous RETURNs. In 004275,000046: # fact, it contains -1 from previous tests, as there have been 004276,000047: # no intervening returns. So we'll fix that: 004277,000048: 04,3142 13144 TCF +2 # 004278,000049: 04,3143 00002 RETURN # 004279,000050: 04,3144 03143 TC -1 # 004280,000051: 04,3145 24062 INCR ERRSUB # 70 octal 004281,000052: 04,3146 52002 DXCH L # 004282,000053: 04,3147 67426 AD NEGTHREE # 004283,000054: 04,3150 00006 EXTEND # 004284,000055: 04,3151 13153 BZF +2 # 004285,000056: 04,3152 13212 TCF DSCERROR # 004286,000057: 04,3153 10001 CCS L # 004287,000058: 04,3154 13212 TCF DSCERROR # 004288,000059: 04,3155 13160 TCF +3 # 004289,000060: 04,3156 13212 TCF DSCERROR # 004290,000061: 04,3157 13212 TCF DSCERROR # 004291,000062: 04,3160 30002 CA Q # 004292,000063: 04,3161 67424 AD NEGONE # 004293,000064: 04,3162 00006 EXTEND # 004294,000065: 04,3163 13165 BZF +2 # 004295,000066: 04,3164 13212 TCF DSCERROR # 004296,000067: 004297,000068: 04,3165 37424 CA NEGONE # 004298,000069: 04,3166 54002 TS Q # 004299,000070: 04,3167 37430 CA ONE # 004300,000071: 004301,000072: 04,3170 24062 INCR ERRSUB # 71 004302,000073: 04,3171 00006 EXTEND # 004303,000074: 04,3172 30002 DCA L # 004304,000075: 04,3173 67430 AD ONE # 004305,000076: 04,3174 00006 EXTEND # 004306,000077: 04,3175 13177 BZF +2 # 004307,000078: 04,3176 13212 TCF DSCERROR # 004308,000079: 04,3177 30001 CA L # 004309,000080: 04,3200 67430 AD ONE # 004310,000081: 04,3201 00006 EXTEND # 004311,000082: 04,3202 13204 BZF +2 # 004312,000083: 04,3203 13212 TCF DSCERROR # 004313,000084: 04,3204 30002 CA Q # 004314,000085: 04,3205 67430 AD ONE # 004315,000086: 04,3206 00006 EXTEND # 004316,000087: 04,3207 13211 BZF +2 # 004317,000088: 04,3210 13212 TCF DSCERROR # 004318,000089: 004319,000090: 04,3211 13213 TCF +2 # 004320,000091: 04,3212 07240 DSCERROR TC ERRORDSP # 004321,000092: (End of include-file SmallyD--SC.s, resuming ValidateSmally.s) 004321,000060: 004322,000061: $SmallyD--LCHK.s # 72-76 004323,000001: # Copyright 2004 Ronald S. Burkey 004324,000002: # 004325,000003: # This file is part of yaAGC. 004326,000004: 004327,000005: # yaAGC is free software; you can redistribute it and/or modify 004328,000006: # it under the terms of the GNU General Public License as published by 004329,000007: # the Free Software Foundation; either version 2 of the License, or 004330,000008: # (at your option) any later version. 004331,000009: 004332,000010: # yaAGC is distributed in the hope that it will be useful, 004333,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 004334,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 004335,000013: # GNU General Public License for more details. 004336,000014: 004337,000015: # You should have received a copy of the GNU General Public License 004338,000016: # along with yaAGC; if not, write to the Free Software 004339,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 004340,000018: 004341,000019: # Filename: SmallyD--LCHK.s 004342,000020: # Purpose: This is code written from the flowchart on p. 47 of 004343,000021: # E-2065, which is a document titled "Block II AGC 004344,000022: # Self-Check and Show-Banksum", by Edwin D. Smally. 004345,000023: # Mod history: 07/07/04 RSB. Began. 004346,000024: 004347,000025: # Similar code was apparently originally in Luminary and/or Colossus, 004348,000026: # but much of it was removed over the course of time to make more room. 004349,000027: # I don't know what the original code was like, but the flowcharts still 004350,000028: # exist, so I've rewritten the code from the flowcharts. 004351,000029: 004352,000030: # P. 47 of Smally. 004353,000031: 004354,000032: 04,3213 37447 CA MAXN # 004355,000033: 04,3214 54002 TS Q # 004356,000034: 04,3215 37424 CA NEGONE # 004357,000035: 04,3216 26002 ADS Q # 004358,000036: 004359,000037: 04,3217 24062 INCR ERRSUB # 72 004360,000038: 04,3220 40002 CS Q # 004361,000039: 04,3221 54000 OVSK # 004362,000040: 04,3222 13254 TCF DLCERROR # 004363,000041: 004364,000042: 04,3223 24062 INCR ERRSUB # 73 004365,000043: 04,3224 00006 EXTEND # 004366,000044: 04,3225 30002 DCA L # 004367,000045: 04,3226 54000 OVSK # 004368,000046: 04,3227 13231 TCF +2 # 004369,000047: 04,3230 13254 TCF DLCERROR # 004370,000048: 004371,000049: 04,3231 24062 INCR ERRSUB # 74 004372,000050: 04,3232 10000 CCS A # 004373,000051: 04,3233 13254 TCF DLCERROR # 004374,000052: 04,3234 13254 TCF DLCERROR # 004375,000053: 04,3235 13254 TCF DLCERROR # 004376,000054: 004377,000055: 04,3236 37405 CA O20000 # 004378,000056: 04,3237 54002 TS Q # 004379,000057: 004380,000058: 04,3240 24062 INCR ERRSUB # 75 004381,000059: 04,3241 26002 ADS Q # 004382,000060: 04,3242 26002 ADS Q # 004383,000061: 04,3243 54000 OVSK # 004384,000062: 04,3244 13254 TCF DLCERROR # 004385,000063: 004386,000064: 04,3245 24062 INCR ERRSUB # 76 004387,000065: 04,3246 26002 ADS Q # 004388,000066: 04,3247 67424 AD NEGONE # 004389,000067: 04,3250 00006 EXTEND # 004390,000068: 04,3251 13253 BZF +2 # 004391,000069: 04,3252 13254 TCF DLCERROR # 004392,000070: 004393,000071: 04,3253 13255 TCF +2 # 004394,000072: 04,3254 07240 DLCERROR TC ERRORDSP # 004395,000073: (End of include-file SmallyD--LCHK.s, resuming ValidateSmally.s) 004395,000061: 004396,000062: $SmallyRUPTCHK.s # 77 004397,000001: # Copyright 2004 Ronald S. Burkey 004398,000002: # 004399,000003: # This file is part of yaAGC. 004400,000004: 004401,000005: # yaAGC is free software; you can redistribute it and/or modify 004402,000006: # it under the terms of the GNU General Public License as published by 004403,000007: # the Free Software Foundation; either version 2 of the License, or 004404,000008: # (at your option) any later version. 004405,000009: 004406,000010: # yaAGC is distributed in the hope that it will be useful, 004407,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 004408,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 004409,000013: # GNU General Public License for more details. 004410,000014: 004411,000015: # You should have received a copy of the GNU General Public License 004412,000016: # along with yaAGC; if not, write to the Free Software 004413,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 004414,000018: 004415,000019: # Filename: SmallyRUPTCHK.s 004416,000020: # Purpose: This is code written from the flowchart on p. 48 of 004417,000021: # E-2065, which is a document titled "Block II AGC 004418,000022: # Self-Check and Show-Banksum", by Edwin D. Smally. 004419,000023: # Mod history: 07/07/04 RSB. Began. 004420,000024: 004421,000025: # Similar code was apparently originally in Luminary and/or Colossus, 004422,000026: # but much of it was removed over the course of time to make more room. 004423,000027: # I don't know what the original code was like, but the flowcharts still 004424,000028: # exist, so I've rewritten the code from the flowcharts. 004425,000029: 004426,000030: # P. 48 of Smally 004427,000031: 004428,000032: 04,3255 24062 INCR ERRSUB # 77 004429,000033: (End of include-file SmallyRUPTCHK.s, resuming ValidateSmally.s) 004429,000062: 004430,000063: 04,3256 00006 EXTEND # 004431,000064: 04,3257 37223 DCA ASMGEN2 # 004432,000065: 04,3260 52005 DTCF # 004433,000066: 004434,000067: 05,2000 BANK 5 # 004435,000068: 05,2000 SMGEN2 # 004436,000069: 05,2000 24061 INCR ERRNUM # 004437,000070: 05,2001 30007 CA ZEROES # 004438,000071: 05,2002 54062 TS ERRSUB # 004439,000072: # ERRNUM==62 004440,000073: $SmallyIN-OUT1.s # ERRSUB==1-3 004441,000001: # Copyright 2004 Ronald S. Burkey 004442,000002: # 004443,000003: # This file is part of yaAGC. 004444,000004: 004445,000005: # yaAGC is free software; you can redistribute it and/or modify 004446,000006: # it under the terms of the GNU General Public License as published by 004447,000007: # the Free Software Foundation; either version 2 of the License, or 004448,000008: # (at your option) any later version. 004449,000009: 004450,000010: # yaAGC is distributed in the hope that it will be useful, 004451,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 004452,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 004453,000013: # GNU General Public License for more details. 004454,000014: 004455,000015: # You should have received a copy of the GNU General Public License 004456,000016: # along with yaAGC; if not, write to the Free Software 004457,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 004458,000018: 004459,000019: # Filename: SmallyIN-OUT1.s 004460,000020: # Purpose: This is code written from the flowchart on p. 49 of 004461,000021: # E-2065, which is a document titled "Block II AGC 004462,000022: # Self-Check and Show-Banksum", by Edwin D. Smally. 004463,000023: # Mod history: 07/07/04 RSB. Began. 004464,000024: 004465,000025: # Similar code was apparently originally in Luminary and/or Colossus, 004466,000026: # but much of it was removed over the course of time to make more room. 004467,000027: # I don't know what the original code was like, but the flowcharts still 004468,000028: # exist, so I've rewritten the code from the flowcharts. 004469,000029: 004470,000030: # P. 49 of Smally 004471,000031: 004472,000032: 05,2003 24062 INCR ERRSUB # 004473,000033: 05,2004 37424 CA NEGONE # 004474,000034: 05,2005 00006 EXTEND # 004475,000035: 05,2006 01002 WRITE Q # 004476,000036: 05,2007 67430 AD ONE # 004477,000037: 05,2010 00006 EXTEND # 004478,000038: 05,2011 12013 BZF +2 # 004479,000039: 05,2012 12032 TCF IO1ERROR # 004480,000040: 004481,000041: 05,2013 24062 INCR ERRSUB # 004482,000042: 05,2014 22002 LXCH Q # 004483,000043: 05,2015 00006 EXTEND # 004484,000044: 05,2016 00001 READ L # 004485,000045: 05,2017 67430 AD ONE # 004486,000046: 05,2020 00006 EXTEND # 004487,000047: 05,2021 12023 BZF +2 # 004488,000048: 05,2022 12032 TCF IO1ERROR # 004489,000049: 004490,000050: 05,2023 24062 INCR ERRSUB # 004491,000051: 05,2024 30001 CA L # 004492,000052: 05,2025 67430 AD ONE # 004493,000053: 05,2026 00006 EXTEND # 004494,000054: 05,2027 12031 BZF +2 # 004495,000055: 05,2030 12032 TCF IO1ERROR # 004496,000056: 004497,000057: 05,2031 12033 TCF +2 # 004498,000058: 05,2032 07240 IO1ERROR TC ERRORDSP # 004499,000059: (End of include-file SmallyIN-OUT1.s, resuming ValidateSmally.s) 004499,000073: 004500,000074: $SmallyIN-OUT2.s # 4-5 004501,000001: # Copyright 2004 Ronald S. Burkey 004502,000002: # 004503,000003: # This file is part of yaAGC. 004504,000004: 004505,000005: # yaAGC is free software; you can redistribute it and/or modify 004506,000006: # it under the terms of the GNU General Public License as published by 004507,000007: # the Free Software Foundation; either version 2 of the License, or 004508,000008: # (at your option) any later version. 004509,000009: 004510,000010: # yaAGC is distributed in the hope that it will be useful, 004511,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 004512,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 004513,000013: # GNU General Public License for more details. 004514,000014: 004515,000015: # You should have received a copy of the GNU General Public License 004516,000016: # along with yaAGC; if not, write to the Free Software 004517,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 004518,000018: 004519,000019: # Filename: SmallyIN-OUT2.s 004520,000020: # Purpose: This is code written from the flowchart on p. 50 of 004521,000021: # E-2065, which is a document titled "Block II AGC 004522,000022: # Self-Check and Show-Banksum", by Edwin D. Smally. 004523,000023: # Mod history: 07/07/04 RSB. Began. 004524,000024: 004525,000025: # Similar code was apparently originally in Luminary and/or Colossus, 004526,000026: # but much of it was removed over the course of time to make more room. 004527,000027: # I don't know what the original code was like, but the flowcharts still 004528,000028: # exist, so I've rewritten the code from the flowcharts. 004529,000029: 004530,000030: # P. 50 of Smally 004531,000031: 004532,000032: 05,2033 37426 CA NEGTHREE # 004533,000033: 05,2034 54001 TS L # 004534,000034: 05,2035 37444 CA MAXP-1 # 004535,000035: 004536,000036: 05,2036 24062 INCR ERRSUB # 004537,000037: 05,2037 00006 EXTEND # 004538,000038: 05,2040 04001 ROR L # 004539,000039: 05,2041 67430 AD ONE # 004540,000040: 05,2042 00006 EXTEND # 004541,000041: 05,2043 12045 BZF +2 # 004542,000042: 05,2044 12063 TCF IO2ERROR # 004543,000043: 004544,000044: 05,2045 37444 CA MAXP-1 # 004545,000045: 004546,000046: 05,2046 24062 INCR ERRSUB # 004547,000047: 05,2047 00006 EXTEND # 004548,000048: 05,2050 05001 WOR L # 004549,000049: 05,2051 67430 AD ONE # 004550,000050: 05,2052 00006 EXTEND # 004551,000051: 05,2053 12055 BZF +2 # 004552,000052: 05,2054 12063 TCF IO2ERROR # 004553,000053: 05,2055 30001 CA L # 004554,000054: 05,2056 67430 AD ONE # 004555,000055: 05,2057 00006 EXTEND # 004556,000056: 05,2060 12062 BZF +2 # 004557,000057: 05,2061 12063 TCF IO2ERROR # 004558,000058: 004559,000059: 05,2062 12064 TCF +2 # 004560,000060: 05,2063 07240 IO2ERROR TC ERRORDSP # 004561,000061: (End of include-file SmallyIN-OUT2.s, resuming ValidateSmally.s) 004561,000074: 004562,000075: $SmallyIN-OUT3.s # 6-10 004563,000001: # Copyright 2004 Ronald S. Burkey 004564,000002: # 004565,000003: # This file is part of yaAGC. 004566,000004: 004567,000005: # yaAGC is free software; you can redistribute it and/or modify 004568,000006: # it under the terms of the GNU General Public License as published by 004569,000007: # the Free Software Foundation; either version 2 of the License, or 004570,000008: # (at your option) any later version. 004571,000009: 004572,000010: # yaAGC is distributed in the hope that it will be useful, 004573,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 004574,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 004575,000013: # GNU General Public License for more details. 004576,000014: 004577,000015: # You should have received a copy of the GNU General Public License 004578,000016: # along with yaAGC; if not, write to the Free Software 004579,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 004580,000018: 004581,000019: # Filename: SmallyIN-OUT3.s 004582,000020: # Purpose: This is code written from the flowchart on p. 51 of 004583,000021: # E-2065, which is a document titled "Block II AGC 004584,000022: # Self-Check and Show-Banksum", by Edwin D. Smally. 004585,000023: # Mod history: 07/07/04 RSB. Began. 004586,000024: 004587,000025: # Similar code was apparently originally in Luminary and/or Colossus, 004588,000026: # but much of it was removed over the course of time to make more room. 004589,000027: # I don't know what the original code was like, but the flowcharts still 004590,000028: # exist, so I've rewritten the code from the flowcharts. 004591,000029: 004592,000030: # P. 51 of Smally. 004593,000031: 004594,000032: 05,2064 37450 CA MAXN-1 # 004595,000033: 05,2065 54001 TS L # 004596,000034: 05,2066 37404 CA O17777 # 004597,000035: 004598,000036: 05,2067 24062 INCR ERRSUB # 004599,000037: 05,2070 00006 EXTEND # 004600,000038: 05,2071 02001 RAND L # 004601,000039: 05,2072 67424 AD NEGONE # 004602,000040: 05,2073 00006 EXTEND # 004603,000041: 05,2074 12076 BZF +2 # 004604,000042: 05,2075 12135 TCF IO3ERROR # 004605,000043: 004606,000044: 05,2076 37404 CA O17777 # 004607,000045: 004608,000046: 05,2077 24062 INCR ERRSUB # 004609,000047: 05,2100 00006 EXTEND # 004610,000048: 05,2101 03001 WAND L # 004611,000049: 05,2102 67424 AD NEGONE # 004612,000050: 05,2103 00006 EXTEND # 004613,000051: 05,2104 12106 BZF +2 # 004614,000052: 05,2105 12135 TCF IO3ERROR # 004615,000053: 05,2106 30001 CA L # 004616,000054: 05,2107 67424 AD NEGONE # 004617,000055: 05,2110 00006 EXTEND # 004618,000056: 05,2111 12113 BZF +2 # 004619,000057: 05,2112 12135 TCF IO3ERROR # 004620,000058: 004621,000059: 05,2113 37433 CA FIVE # 004622,000060: 05,2114 40000 COM # 004623,000061: 05,2115 54001 TS L # 004624,000062: 05,2116 37433 CA FIVE # 004625,000063: 05,2117 24000 INCR A # 004626,000064: 004627,000065: 05,2120 24062 INCR ERRSUB # 004628,000066: 05,2121 00006 EXTEND # 004629,000067: 05,2122 06001 RXOR L # 004630,000068: 05,2123 67432 AD THREE # 004631,000069: 05,2124 00006 EXTEND # 004632,000070: 05,2125 12127 BZF +2 # 004633,000071: 05,2126 12135 TCF IO3ERROR # 004634,000072: 05,2127 30001 CA L # 004635,000073: 05,2130 67433 AD FIVE # 004636,000074: 05,2131 00006 EXTEND # 004637,000075: 05,2132 12134 BZF +2 # 004638,000076: 05,2133 12135 TCF IO3ERROR # 004639,000077: 004640,000078: 05,2134 12136 TCF +2 # 004641,000079: 05,2135 07240 IO3ERROR TC ERRORDSP # 004642,000080: (End of include-file SmallyIN-OUT3.s, resuming ValidateSmally.s) 004642,000075: 004643,000076: $SmallyCOUNTCHK.s # 11 004644,000001: # Copyright 2004 Ronald S. Burkey 004645,000002: # 004646,000003: # This file is part of yaAGC. 004647,000004: 004648,000005: # yaAGC is free software; you can redistribute it and/or modify 004649,000006: # it under the terms of the GNU General Public License as published by 004650,000007: # the Free Software Foundation; either version 2 of the License, or 004651,000008: # (at your option) any later version. 004652,000009: 004653,000010: # yaAGC is distributed in the hope that it will be useful, 004654,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 004655,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 004656,000013: # GNU General Public License for more details. 004657,000014: 004658,000015: # You should have received a copy of the GNU General Public License 004659,000016: # along with yaAGC; if not, write to the Free Software 004660,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 004661,000018: 004662,000019: # Filename: SmallyCOUNTCHK.s 004663,000020: # Purpose: This is code written from the flowchart on p. 52 of 004664,000021: # E-2065, which is a document titled "Block II AGC 004665,000022: # Self-Check and Show-Banksum", by Edwin D. Smally. 004666,000023: # Mod history: 07/07/04 RSB. Began. 004667,000024: 004668,000025: # Similar code was apparently originally in Luminary and/or Colossus, 004669,000026: # but much of it was removed over the course of time to make more room. 004670,000027: # I don't know what the original code was like, but the flowcharts still 004671,000028: # exist, so I've rewritten the code from the flowcharts. 004672,000029: 004673,000030: 05,2136 24062 INCR ERRSUB # 004674,000031: 004675,000032: # P. 52 of Smally 004676,000033: 004677,000034: 05,2137 37443 CA MAXP # 004678,000035: 05,2140 54073 TS SKEEP6 # 004679,000036: 05,2141 37447 CA MAXN # 004680,000037: 05,2142 54074 TS SKEEP7 # 004681,000038: 004682,000039: 05,2143 30073 CCKLOOP1 CA SKEEP6 # 004683,000040: 05,2144 54002 TS Q # 004684,000041: 004685,000042: 05,2145 30002 CCKLOOP2 CA Q # 004686,000043: 05,2146 54001 TS L # 004687,000044: 004688,000045: 05,2147 10000 CCS A # 004689,000046: 05,2150 12154 TCF +4 # 004690,000047: 05,2151 12176 TCF CCK+0 # 004691,000048: 05,2152 12166 TCF CCKNEG # 004692,000049: 05,2153 12205 TCF CCKERROR # Don't know where this is supposed to go 004693,000050: 004694,000051: 05,2154 00006 EXTEND # Smally says AD L, but that makes no sense. 004695,000052: 05,2155 60001 SU L # 004696,000053: 05,2156 67430 AD ONE # 004697,000054: 05,2157 00006 EXTEND # 004698,000055: 05,2160 12162 BZF +2 # 004699,000056: 05,2161 12205 TCF CCKERROR # 004700,000057: 004701,000058: 05,2162 30073 CA SKEEP6 # 004702,000059: 05,2163 40000 COM # 004703,000060: 05,2164 54002 TS Q # 004704,000061: 05,2165 12145 TCF CCKLOOP2 # 004705,000062: 004706,000063: 05,2166 54073 CCKNEG TS SKEEP6 # 004707,000064: 004708,000065: 05,2167 60074 AD SKEEP7 # 004709,000066: 05,2170 67430 AD ONE # 004710,000067: 05,2171 00006 EXTEND # 004711,000068: 05,2172 12174 BZF +2 # 004712,000069: 05,2173 12205 TCF CCKERROR # 004713,000070: 004714,000071: 05,2174 24074 INCR SKEEP7 # 004715,000072: 05,2175 12143 TCF CCKLOOP1 # 004716,000073: 004717,000074: 05,2176 30073 CCK+0 CA SKEEP6 # 004718,000075: 05,2177 60074 AD SKEEP7 # 004719,000076: 05,2200 10000 CCS A # 004720,000077: 05,2201 12205 TCF CCKERROR # 004721,000078: 05,2202 12205 TCF CCKERROR # 004722,000079: 05,2203 12205 TCF CCKERROR # 004723,000080: 004724,000081: 05,2204 12206 TCF +2 # 004725,000082: 05,2205 07240 CCKERROR TC ERRORDSP # 004726,000083: 004727,000084: (End of include-file SmallyCOUNTCHK.s, resuming ValidateSmally.s) 004727,000076: 004728,000077: $SmallyO-UFLOW.s # 12 004729,000001: # Copyright 2004 Ronald S. Burkey 004730,000002: # 004731,000003: # This file is part of yaAGC. 004732,000004: 004733,000005: # yaAGC is free software; you can redistribute it and/or modify 004734,000006: # it under the terms of the GNU General Public License as published by 004735,000007: # the Free Software Foundation; either version 2 of the License, or 004736,000008: # (at your option) any later version. 004737,000009: 004738,000010: # yaAGC is distributed in the hope that it will be useful, 004739,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 004740,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 004741,000013: # GNU General Public License for more details. 004742,000014: 004743,000015: # You should have received a copy of the GNU General Public License 004744,000016: # along with yaAGC; if not, write to the Free Software 004745,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 004746,000018: 004747,000019: # Filename: SmallyO-UFLOW.s 004748,000020: # Purpose: This is code written from the flowchart on p. 53 of 004749,000021: # E-2065, which is a document titled "Block II AGC 004750,000022: # Self-Check and Show-Banksum", by Edwin D. Smally. 004751,000023: # Mod history: 07/07/04 RSB. Began. 004752,000024: 004753,000025: # Similar code was apparently originally in Luminary and/or Colossus, 004754,000026: # but much of it was removed over the course of time to make more room. 004755,000027: # I don't know what the original code was like, but the flowcharts still 004756,000028: # exist, so I've rewritten the code from the flowcharts. 004757,000029: 004758,000030: # P. 53 of Smally 004759,000031: 004760,000032: 05,2206 24062 INCR ERRSUB # 004761,000033: 004762,000034: 05,2207 37447 CA MAXN # 004763,000035: 05,2210 54072 TS SKEEP5 # 004764,000036: 05,2211 37443 CA MAXP # 004765,000037: 004766,000038: 05,2212 00004 OUFLOOP1 INHINT # 004767,000039: 004768,000040: 05,2213 67443 AD MAXP # 004769,000041: 05,2214 67430 AD ONE # 004770,000042: 05,2215 54002 TS Q # 004771,000043: 05,2216 12217 NOOP # 004772,000044: 004773,000045: 05,2217 10002 OUFLOOP2 CCS Q # 004774,000046: 05,2220 12224 TCF +4 # 004775,000047: 05,2221 12272 TCF OUFERROR # 004776,000048: 05,2222 12242 TCF OUFNZERO # 004777,000049: 05,2223 12272 TCF OUFERROR # 004778,000050: 004779,000051: 05,2224 54071 TS SKEEP4 # 004780,000052: 05,2225 12257 TCF OUFDONE # 004781,000053: 004782,000054: 05,2226 30071 CA SKEEP4 # 004783,000055: 05,2227 60072 AD SKEEP5 # 004784,000056: 05,2230 67430 AD ONE # 004785,000057: 05,2231 00006 EXTEND # 004786,000058: 05,2232 12234 BZF +2 # 004787,000059: 05,2233 12272 TCF OUFERROR # 004788,000060: 004789,000061: 05,2234 30072 CA SKEEP5 # 004790,000062: 05,2235 67447 AD MAXN # 004791,000063: 05,2236 67424 AD NEGONE # 004792,000064: 05,2237 54002 TS Q # 004793,000065: 05,2240 12241 NOOP # 004794,000066: 05,2241 12217 TCF OUFLOOP2 # 004795,000067: 004796,000068: 05,2242 54070 OUFNZERO TS SKEEP3 # 004797,000069: 05,2243 12272 TCF OUFERROR # 004798,000070: 004799,000071: 05,2244 30070 CA SKEEP3 # 004800,000072: 05,2245 60072 AD SKEEP5 # 004801,000073: 05,2246 67430 AD ONE # 004802,000074: 05,2247 00006 EXTEND # 004803,000075: 05,2250 12252 BZF +2 # 004804,000076: 05,2251 12272 TCF OUFERROR # 004805,000077: 004806,000078: 05,2252 00003 RELINT # 004807,000079: 004808,000080: 05,2253 30071 CA SKEEP4 # 004809,000081: 05,2254 00006 EXTEND # 004810,000082: 05,2255 26072 DIM SKEEP5 # 004811,000083: 05,2256 12212 TCF OUFLOOP1 # 004812,000084: 004813,000085: 05,2257 10072 OUFDONE CCS SKEEP5 # Smally says that SKEEP5 is +1 004814,000086: 05,2260 12272 TCF OUFERROR # here, but that has to be wrong 004815,000087: 05,2261 12272 TCF OUFERROR # since SKEEP5 is always negative. 004816,000088: 05,2262 12272 TCF OUFERROR # Must be -1. 004817,000089: 004818,000090: 05,2263 30071 CA SKEEP4 # 004819,000091: 05,2264 67447 AD MAXN # 004820,000092: 05,2265 00006 EXTEND # 004821,000093: 05,2266 12270 BZF +2 # 004822,000094: 05,2267 12272 TCF OUFERROR # 004823,000095: 004824,000096: 05,2270 00003 RELINT # 004825,000097: 004826,000098: 05,2271 12273 TCF +2 # 004827,000099: 05,2272 07240 OUFERROR TC ERRORDSP # 004828,000100: (End of include-file SmallyO-UFLOW.s, resuming ValidateSmally.s) 004828,000077: 004829,000078: 05,2273 00006 EXTEND # 004830,000079: 05,2274 37225 DCA ASMGEN3 # 004831,000080: 05,2275 52005 DTCF # 004832,000081: 004833,000082: 06,2000 BANK 6 # 004834,000083: 06,2000 SMGEN3 # 004835,000084: 06,2000 24061 INCR ERRNUM # 004836,000085: 06,2001 30007 CA ZEROES # 004837,000086: 06,2002 54062 TS ERRSUB # 004838,000087: # ERRNUM==63 004839,000088: $SmallyCNTRCHK.s # ERRSUB==1 004840,000001: # Copyright 2004 Ronald S. Burkey 004841,000002: # 004842,000003: # This file is part of yaAGC. 004843,000004: 004844,000005: # yaAGC is free software; you can redistribute it and/or modify 004845,000006: # it under the terms of the GNU General Public License as published by 004846,000007: # the Free Software Foundation; either version 2 of the License, or 004847,000008: # (at your option) any later version. 004848,000009: 004849,000010: # yaAGC is distributed in the hope that it will be useful, 004850,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 004851,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 004852,000013: # GNU General Public License for more details. 004853,000014: 004854,000015: # You should have received a copy of the GNU General Public License 004855,000016: # along with yaAGC; if not, write to the Free Software 004856,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 004857,000018: 004858,000019: # Filename: SmallyCNTRCHK.s 004859,000020: # Purpose: This is code written from the flowchart on p. 55 of 004860,000021: # E-2065, which is a document titled "Block II AGC 004861,000022: # Self-Check and Show-Banksum", by Edwin D. Smally. 004862,000023: # Mod history: 07/07/04 RSB. Began. 004863,000024: 004864,000025: # Similar code was apparently originally in Luminary and/or Colossus, 004865,000026: # but much of it was removed over the course of time to make more room. 004866,000027: # I don't know what the original code was like, but the flowcharts still 004867,000028: # exist, so I've rewritten the code from the flowcharts. 004868,000029: 004869,000030: # P. 55 of Smally 004870,000031: 004871,000032: 06,2003 24062 INCR ERRSUB # 004872,000033: (End of include-file SmallyCNTRCHK.s, resuming ValidateSmally.s) 004872,000088: 004873,000089: $SmallyCYCLSHFT.s # 2-3 004874,000001: # Copyright 2004 Ronald S. Burkey 004875,000002: # 004876,000003: # This file is part of yaAGC. 004877,000004: 004878,000005: # yaAGC is free software; you can redistribute it and/or modify 004879,000006: # it under the terms of the GNU General Public License as published by 004880,000007: # the Free Software Foundation; either version 2 of the License, or 004881,000008: # (at your option) any later version. 004882,000009: 004883,000010: # yaAGC is distributed in the hope that it will be useful, 004884,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 004885,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 004886,000013: # GNU General Public License for more details. 004887,000014: 004888,000015: # You should have received a copy of the GNU General Public License 004889,000016: # along with yaAGC; if not, write to the Free Software 004890,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 004891,000018: 004892,000019: # Filename: SmallyCYCLSHFT.s 004893,000020: # Purpose: This is code written from the flowchart on p. 56 of 004894,000021: # E-2065, which is a document titled "Block II AGC 004895,000022: # Self-Check and Show-Banksum", by Edwin D. Smally. 004896,000023: # Mod history: 07/07/04 RSB. Began. 004897,000024: 004898,000025: # Similar code was apparently originally in Luminary and/or Colossus, 004899,000026: # but much of it was removed over the course of time to make more room. 004900,000027: # I don't know what the original code was like, but the flowcharts still 004901,000028: # exist, so I've rewritten the code from the flowcharts. 004902,000029: 004903,000030: # P. 56 of Smally 004904,000031: 004905,000032: 06,2004 24062 INCR ERRSUB # 004906,000033: 06,2005 24062 INCR ERRSUB # 004907,000034: (End of include-file SmallyCYCLSHFT.s, resuming ValidateSmally.s) 004907,000089: 004908,000090: 06,2006 00006 EXTEND # 004909,000091: 06,2007 37227 DCA ASMMP # 004910,000092: 06,2010 52005 DTCF # 004911,000093: 004912,000094: 07,2000 BANK 7 # 004913,000095: 07,2000 SMMP # 004914,000096: 07,2000 24061 INCR ERRNUM # 004915,000097: 07,2001 30007 CA ZEROES # 004916,000098: 07,2002 54062 TS ERRSUB # 004917,000099: # ERRNUM==64 004918,000100: $SmallyMPNMBRS.s # ERRSUB=1-4 004919,000001: # Copyright 2004 Ronald S. Burkey 004920,000002: # 004921,000003: # This file is part of yaAGC. 004922,000004: 004923,000005: # yaAGC is free software; you can redistribute it and/or modify 004924,000006: # it under the terms of the GNU General Public License as published by 004925,000007: # the Free Software Foundation; either version 2 of the License, or 004926,000008: # (at your option) any later version. 004927,000009: 004928,000010: # yaAGC is distributed in the hope that it will be useful, 004929,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 004930,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 004931,000013: # GNU General Public License for more details. 004932,000014: 004933,000015: # You should have received a copy of the GNU General Public License 004934,000016: # along with yaAGC; if not, write to the Free Software 004935,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 004936,000018: 004937,000019: # Filename: SmallyMPNMBRS.s 004938,000020: # Purpose: This is code written from the flowchart on p. 58-61 of 004939,000021: # E-2065, which is a document titled "Block II AGC 004940,000022: # Self-Check and Show-Banksum", by Edwin D. Smally. 004941,000023: # Mod history: 07/07/04 RSB. Began. 004942,000024: 004943,000025: # Similar code was apparently originally in Luminary and/or Colossus, 004944,000026: # but much of it was removed over the course of time to make more room. 004945,000027: # I don't know what the original code was like, but the flowcharts still 004946,000028: # exist, so I've rewritten the code from the flowcharts. 004947,000029: 004948,000030: # P. 58 of Smally. 004949,000031: 07,2003 24062 INCR ERRSUB # 004950,000032: 07,2004 37443 CA MAXP # 37777 004951,000033: 07,2005 54067 MPLOOP1 TS SKEEP2 # 004952,000034: 07,2006 37443 CA MAXP # 37777 004953,000035: 07,2007 00006 EXTEND # 004954,000036: 07,2010 70067 MP SKEEP2 # 004955,000037: 07,2011 60001 AD L # 004956,000038: 07,2012 67447 AD MAXN # 40000 004957,000039: 07,2013 10000 CCS A # 004958,000040: 07,2014 12015 NOOP # 004959,000041: 07,2015 12016 NOOP # 004960,000042: 07,2016 12120 TCF MPERROR # 004961,000043: 07,2017 30067 CA SKEEP2 # 004962,000044: 07,2020 67424 AD NEGONE # 004963,000045: 07,2021 00006 EXTEND # 004964,000046: 07,2022 12024 BZF +2 # 004965,000047: 07,2023 02005 TC MPLOOP1 # 004966,000048: 004967,000049: 07,2024 24062 INCR ERRSUB # 004968,000050: # P. 59 of Smally. 004969,000051: 07,2025 37443 CA MAXP # 37777 004970,000052: 07,2026 54067 MPLOOP2 TS SKEEP2 # 004971,000053: 07,2027 37424 CA NEGONE # 37777 004972,000054: 07,2030 00006 EXTEND # 004973,000055: 07,2031 70067 MP SKEEP2 # 004974,000056: 07,2032 10000 CCS A # 004975,000057: 07,2033 12034 NOOP # 004976,000058: 07,2034 12035 NOOP # 004977,000059: 07,2035 12120 TCF MPERROR # 004978,000060: 07,2036 30001 CA L # 004979,000061: 07,2037 60067 AD SKEEP2 # 004980,000062: 07,2040 10000 CCS A # 004981,000063: 07,2041 12042 NOOP # 004982,000064: 07,2042 12043 NOOP # 004983,000065: 07,2043 12120 TCF MPERROR # 004984,000066: 07,2044 30067 CA SKEEP2 # 004985,000067: 07,2045 67424 AD NEGONE # 004986,000068: 07,2046 00006 EXTEND # 004987,000069: 07,2047 12051 BZF +2 # 004988,000070: 07,2050 02026 TC MPLOOP2 # 004989,000071: 004990,000072: 07,2051 24062 INCR ERRSUB # 004991,000073: # P. 60 of Smally 004992,000074: 07,2052 37443 CA MAXP # 37777 004993,000075: 07,2053 54066 MPLOOP3 TS SKEEP1 # 004994,000076: 07,2054 30066 CA SKEEP1 # 004995,000077: 07,2055 00006 EXTEND # 004996,000078: 07,2056 77443 MP MAXP # 37777 004997,000079: 07,2057 60001 AD L # 004998,000080: 07,2060 67447 AD MAXN # 40000 004999,000081: 07,2061 10000 CCS A # 005000,000082: 07,2062 12063 NOOP # 005001,000083: 07,2063 12064 NOOP # 005002,000084: 07,2064 12120 TCF MPERROR # 005003,000085: 07,2065 30066 CA SKEEP1 # 005004,000086: 07,2066 67424 AD NEGONE # 005005,000087: 07,2067 00006 EXTEND # 005006,000088: 07,2070 12072 BZF +2 # 005007,000089: 07,2071 02053 TC MPLOOP3 # 005008,000090: 005009,000091: 07,2072 24062 INCR ERRSUB # 005010,000092: # P. 61 of Smally 005011,000093: 07,2073 37443 CA MAXP # 37777 005012,000094: 07,2074 54066 MPLOOP4 TS SKEEP1 # 005013,000095: 07,2075 30066 CA SKEEP1 # 005014,000096: 07,2076 00006 EXTEND # 005015,000097: 07,2077 77424 MP NEGONE # 005016,000098: 07,2100 10000 CCS A # 005017,000099: 07,2101 12102 NOOP # 005018,000100: 07,2102 12103 NOOP # 005019,000101: 07,2103 12120 TCF MPERROR # 005020,000102: 07,2104 30001 CA L # 005021,000103: 07,2105 60066 AD SKEEP1 # 005022,000104: 07,2106 10000 CCS A # 005023,000105: 07,2107 12110 NOOP # 005024,000106: 07,2110 12111 NOOP # 005025,000107: 07,2111 12120 TCF MPERROR # 005026,000108: 07,2112 30066 CA SKEEP1 # 005027,000109: 07,2113 67424 AD NEGONE # 005028,000110: 07,2114 00006 EXTEND # 005029,000111: 07,2115 12117 BZF +2 # 005030,000112: 07,2116 02074 TC MPLOOP4 # 005031,000113: 005032,000114: # All done. 005033,000115: 07,2117 12121 TCF MPDONE # 005034,000116: 07,2120 07240 MPERROR TC ERRORDSP # 005035,000117: 07,2121 MPDONE # 005036,000118: (End of include-file SmallyMPNMBRS.s, resuming ValidateSmally.s) 005036,000100: 005037,000101: 07,2121 00006 EXTEND # 005038,000102: 07,2122 37231 DCA ASMDV # 005039,000103: 07,2123 52005 DTCF # 005040,000104: 005041,000105: 10,2000 BANK 10 # 005042,000106: 10,2000 SMDV # 005043,000107: 10,2000 24061 INCR ERRNUM # 005044,000108: 10,2001 30007 CA ZEROES # 005045,000109: 10,2002 54062 TS ERRSUB # 005046,000110: # ERRNUM==65 005047,000111: $SmallyDVCHECK.s # ERRSUB=1-11 005048,000001: # Copyright 2004 Ronald S. Burkey 005049,000002: # 005050,000003: # This file is part of yaAGC. 005051,000004: 005052,000005: # yaAGC is free software; you can redistribute it and/or modify 005053,000006: # it under the terms of the GNU General Public License as published by 005054,000007: # the Free Software Foundation; either version 2 of the License, or 005055,000008: # (at your option) any later version. 005056,000009: 005057,000010: # yaAGC is distributed in the hope that it will be useful, 005058,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 005059,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 005060,000013: # GNU General Public License for more details. 005061,000014: 005062,000015: # You should have received a copy of the GNU General Public License 005063,000016: # along with yaAGC; if not, write to the Free Software 005064,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 005065,000018: 005066,000019: # Filename: SmallyDVCHECK.s 005067,000020: # Purpose: This is code written from the flowchart on p. 62-64 of 005068,000021: # E-2065, which is a document titled "Block II AGC 005069,000022: # Self-Check and Show-Banksum", by Edwin D. Smally. 005070,000023: # Mod history: 07/07/04 RSB. Began. 005071,000024: 005072,000025: # Similar code was apparently originally in Luminary and/or Colossus, 005073,000026: # but much of it was removed over the course of time to make more room. 005074,000027: # I don't know what the original code was like, but the flowcharts still 005075,000028: # exist, so I've rewritten the code from the flowcharts. 005076,000029: 005077,000030: # P. 62 of Smally. 005078,000031: 10,2003 37415 CA O-3777 # 005079,000032: 10,2004 54071 TS SKEEP4 # 005080,000033: 10,2005 24071 INCR SKEEP4 # 005081,000034: 10,2006 37405 CA O20000 # 005082,000035: 10,2007 54066 TS SKEEP1 # 005083,000036: 10,2010 37420 CA O-20000 # 005084,000037: 10,2011 54067 TS SKEEP2 # 005085,000038: 10,2012 37447 CA MAXN # -37777 005086,000039: 10,2013 54001 TS L # 005087,000040: 10,2014 37404 CA O17777 # 005088,000041: 005089,000042: 10,2015 24062 INCR ERRSUB # 005090,000043: 10,2016 37405 CA O20000 # 005091,000044: 10,2017 54063 TS TEMPI # 005092,000045: 10,2020 37447 CA MAXN # -37777 005093,000046: 10,2021 54001 TS L # 005094,000047: 10,2022 37404 CA O17777 # 005095,000048: 10,2023 00006 EXTEND # 005096,000049: 10,2024 10063 DV TEMPI # 005097,000050: 10,2025 54074 TS SKEEP7 # 005098,000051: 10,2026 30001 CA L # 005099,000052: 10,2027 67424 AD NEGONE # 005100,000053: 10,2030 00006 EXTEND # 005101,000054: 10,2031 12033 BZF +2 # 005102,000055: 10,2032 12270 TCF DVERROR # 005103,000056: 005104,000057: 10,2033 24062 INCR ERRSUB # 005105,000058: 10,2034 37420 CA O-20000 # 005106,000059: 10,2035 54063 TS TEMPI # 005107,000060: 10,2036 37447 CA MAXN # 005108,000061: 10,2037 54001 TS L # 005109,000062: 10,2040 37404 CA O17777 # 005110,000063: 10,2041 00006 EXTEND # 005111,000064: 10,2042 10063 DV TEMPI # 005112,000065: 10,2043 60074 AD SKEEP7 # 005113,000066: 10,2044 10000 CCS A # 005114,000067: 10,2045 12046 NOOP # 005115,000068: 10,2046 12047 NOOP # 005116,000069: 10,2047 12270 TCF DVERROR # 005117,000070: 10,2050 30001 CA L # 005118,000071: 10,2051 67424 AD NEGONE # 005119,000072: 10,2052 00006 EXTEND # 005120,000073: 10,2053 12055 BZF +2 # 005121,000074: 10,2054 12270 TCF DVERROR # 005122,000075: 005123,000076: 10,2055 24062 INCR ERRSUB # 005124,000077: 10,2056 37405 CA O20000 # 005125,000078: 10,2057 54063 TS TEMPI # 005126,000079: 10,2060 37443 CA MAXP # 005127,000080: 10,2061 54001 TS L # 005128,000081: 10,2062 37417 CA O-17777 # 005129,000082: 10,2063 00006 EXTEND # 005130,000083: 10,2064 10063 DV TEMPI # 005131,000084: 10,2065 54073 TS SKEEP6 # 005132,000085: 10,2066 60074 AD SKEEP7 # 005133,000086: 10,2067 10000 CCS A # 005134,000087: 10,2070 12071 NOOP # 005135,000088: 10,2071 12072 NOOP # 005136,000089: 10,2072 12270 TCF DVERROR # 005137,000090: 10,2073 30001 CA L # 005138,000091: 10,2074 67430 AD ONE # 005139,000092: 10,2075 00006 EXTEND # 005140,000093: 10,2076 12100 BZF +2 # 005141,000094: 10,2077 12270 TCF DVERROR # 005142,000095: 005143,000096: 10,2100 24062 INCR ERRSUB # 005144,000097: 10,2101 37420 CA O-20000 # 005145,000098: 10,2102 54063 TS TEMPI # 005146,000099: 10,2103 37443 CA MAXP # 005147,000100: 10,2104 54001 TS L # 005148,000101: 10,2105 37417 CA O-17777 # 005149,000102: 10,2106 00006 EXTEND # 005150,000103: 10,2107 10063 DV TEMPI # 005151,000104: 10,2110 60073 AD SKEEP6 # 005152,000105: 10,2111 10000 CCS A # 005153,000106: 10,2112 12113 NOOP # 005154,000107: 10,2113 12114 NOOP # 005155,000108: 10,2114 12270 TCF DVERROR # 005156,000109: 10,2115 30001 CA L # 005157,000110: 10,2116 67430 AD ONE # 005158,000111: 10,2117 00006 EXTEND # 005159,000112: 10,2120 12122 BZF +2 # 005160,000113: 10,2121 12270 TCF DVERROR # 005161,000114: 10,2122 37406 CA O37774 # 005162,000115: 10,2123 60073 AD SKEEP6 # 005163,000116: 10,2124 00006 EXTEND # 005164,000117: 10,2125 12127 BZF +2 # 005165,000118: 10,2126 12270 TCF DVERROR # 005166,000119: 005167,000120: 10,2127 24062 INCR ERRSUB # 005168,000121: # P. 63 of Smally. 005169,000122: 10,2130 37405 CA O20000 # 005170,000123: 10,2131 54063 TS TEMPI # 005171,000124: 10,2132 37443 CA MAXP # 37777 005172,000125: 10,2133 54001 TS L # 005173,000126: 10,2134 37404 CA O17777 # 005174,000127: 10,2135 00006 EXTEND # 005175,000128: 10,2136 10063 DV TEMPI # 005176,000129: 10,2137 67447 AD MAXN # -37777 005177,000130: 10,2140 00006 EXTEND # 005178,000131: 10,2141 12143 BZF +2 # 005179,000132: 10,2142 12270 TCF DVERROR # 005180,000133: 005181,000134: 10,2143 24062 INCR ERRSUB # 005182,000135: 10,2144 37407 CA O37776 # 005183,000136: 10,2145 54063 TS TEMPI # 005184,000137: 10,2146 22007 ZL # 005185,000138: 10,2147 37407 CA O37776 # 005186,000139: 10,2150 00006 EXTEND # 005187,000140: 10,2151 10063 DV TEMPI # 005188,000141: 10,2152 67447 AD MAXN # -37777 005189,000142: 10,2153 00006 EXTEND # 005190,000143: 10,2154 12156 BZF +2 # 005191,000144: 10,2155 12270 TCF DVERROR # 005192,000145: 10,2156 30001 CA L # 005193,000146: 10,2157 67422 AD O-37776 # 005194,000147: 10,2160 00006 EXTEND # 005195,000148: 10,2161 12163 BZF +2 # 005196,000149: 10,2162 12270 TCF DVERROR # 005197,000150: 005198,000151: # P. 64 of Smally 005199,000152: 10,2163 30007 CA ZEROES # 005200,000153: 10,2164 54066 TS SKEEP1 # 005201,000154: 10,2165 37423 CA NEGZERO # 005202,000155: 10,2166 54067 TS SKEEP2 # 005203,000156: 005204,000157: 10,2167 24062 INCR ERRSUB # 005205,000158: 10,2170 30007 CA ZEROES # 005206,000159: 10,2171 54063 TS TEMPI # 005207,000160: 10,2172 54001 TS L # 005208,000161: 10,2173 00006 EXTEND # 005209,000162: 10,2174 10063 DV TEMPI # 005210,000163: 10,2175 54074 TS SKEEP7 # 005211,000164: 10,2176 10001 CCS L # 005212,000165: 10,2177 12270 TCF DVERROR # 005213,000166: 10,2200 12203 TCF +3 # 005214,000167: 10,2201 12202 NOOP # 005215,000168: 10,2202 12270 TCF DVERROR # 005216,000169: 005217,000170: 10,2203 24062 INCR ERRSUB # 005218,000171: 10,2204 37423 CA NEGZERO # 005219,000172: 10,2205 54063 TS TEMPI # 005220,000173: 10,2206 22007 ZL # 005221,000174: 10,2207 00006 EXTEND # 005222,000175: 10,2210 10063 DV TEMPI # 005223,000176: 10,2211 54073 TS SKEEP6 # 005224,000177: 10,2212 60074 AD SKEEP7 # 005225,000178: 10,2213 10000 CCS A # 005226,000179: 10,2214 12215 NOOP # 005227,000180: 10,2215 12216 NOOP # 005228,000181: 10,2216 12270 TCF DVERROR # 005229,000182: 10,2217 30001 CA L # 005230,000183: 005231,000184: 10,2220 24062 INCR ERRSUB # 005232,000185: 10,2221 30007 CA ZEROES # 005233,000186: 10,2222 54063 TS TEMPI # 005234,000187: 10,2223 37423 CA NEGZERO # 005235,000188: 10,2224 54001 TS L # 005236,000189: 10,2225 30007 CA ZEROES # 005237,000190: 10,2226 00006 EXTEND # 005238,000191: 10,2227 10063 DV TEMPI # 005239,000192: 10,2230 60074 AD SKEEP7 # 005240,000193: 10,2231 10000 CCS A # 005241,000194: 10,2232 12233 NOOP # 005242,000195: 10,2233 12234 NOOP # 005243,000196: 10,2234 12270 TCF DVERROR # 005244,000197: 10,2235 10001 CCS L # Smally says -0, but I think +0. 005245,000198: 10,2236 12270 TCF DVERROR # 005246,000199: 10,2237 12242 TCF +3 # 005247,000200: 10,2240 12270 TCF DVERROR # 005248,000201: 10,2241 12270 TCF DVERROR # 005249,000202: 005250,000203: 10,2242 24062 INCR ERRSUB # 005251,000204: 10,2243 37423 CA NEGZERO # 005252,000205: 10,2244 54063 TS TEMPI # 005253,000206: 10,2245 54001 TS L # 005254,000207: 10,2246 30007 CA ZEROES # 005255,000208: 10,2247 00006 EXTEND # 005256,000209: 10,2250 10063 DV TEMPI # 005257,000210: 10,2251 60073 AD SKEEP6 # 005258,000211: 10,2252 10000 CCS A # 005259,000212: 10,2253 12254 NOOP # 005260,000213: 10,2254 12255 NOOP # 005261,000214: 10,2255 12270 TCF DVERROR # 005262,000215: 10,2256 10001 CCS L # 005263,000216: 10,2257 12260 NOOP # 005264,000217: 10,2260 12261 NOOP # 005265,000218: 10,2261 12270 TCF DVERROR # 005266,000219: 10,2262 37443 CA MAXP # 37777 005267,000220: 10,2263 60073 AD SKEEP6 # 005268,000221: 10,2264 00006 EXTEND # 005269,000222: 10,2265 12267 BZF +2 # 005270,000223: 10,2266 12270 TCF DVERROR # 005271,000224: 005272,000225: # All done. 005273,000226: 10,2267 12271 TCF DVDONE # 005274,000227: 10,2270 07240 DVERROR TC ERRORDSP # 005275,000228: 10,2271 DVDONE # 005276,000229: (End of include-file SmallyDVCHECK.s, resuming ValidateSmally.s) 005276,000111: 005277,000112: 10,2271 17232 TCF SMNEXT # 005278,000113: 005279,000114: 005280,000115: 7232 SETLOC SMNEXT # 005281,000116: (End of include-file ValidateSmally.s, resuming Validation.s) 005281,000319: 005282,000320: 005283,000321: # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 005284,000322: # Tests are all done. We display 77 on the DSKY 005285,000323: # to indicate this. 005286,000324: 7232 37453 CA MAXERR # 005287,000325: 7233 54061 TS ERRNUM # 005288,000326: 7234 30007 CA ZEROES # 005289,000327: 7235 54062 TS ERRSUB # 005290,000328: 7236 07240 TC ERRORDSP # 005291,000329: 7237 17237 DONE TCF DONE # 005292,000330: 005293,000331: # ------------------------------------------------------------------------- 005294,000332: # Various useful things like utility functions and variable allocations. 005295,000333: 005296,000334: $Errordsp.s 005297,000001: # Copyright 2004 Ronald S. Burkey 005298,000002: # 005299,000003: # This file is part of yaAGC. 005300,000004: 005301,000005: # yaAGC is free software; you can redistribute it and/or modify 005302,000006: # it under the terms of the GNU General Public License as published by 005303,000007: # the Free Software Foundation; either version 2 of the License, or 005304,000008: # (at your option) any later version. 005305,000009: 005306,000010: # yaAGC is distributed in the hope that it will be useful, 005307,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 005308,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 005309,000013: # GNU General Public License for more details. 005310,000014: 005311,000015: # You should have received a copy of the GNU General Public License 005312,000016: # along with yaAGC; if not, write to the Free Software 005313,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 005314,000018: 005315,000019: # Filename: Errordsp.s 005316,000020: # Purpose: This is an error-display function for the validation 005317,000021: # suite. 005318,000022: # Mod history: 07/04/04 RSB. Began. 005319,000023: # 07/10/04 RSB. Added display of the error sub-code. 005320,000024: # 07/17/04 RSB. PRO key signal level inverted. 005321,000025: 005322,000026: # ------------------------------------------------------------------------- 005323,000027: # Display the error code. What this does is to clear the entire display, 005324,000028: # except for MODE (which contains the error code), and then lights the 005325,000029: # OPR ERR lamp and waits for the ENTR key to be hit. Then it unlights 005326,000030: # OPR ERR and continues. 005327,000031: 005328,000032: 7240 ERRORDSP # 005329,000033: # Save return address in TEMPK 005330,000034: 7240 00006 EXTEND # 005331,000035: 7241 22065 QXCH TEMPK # 005332,000036: 005333,000037: # Blank out all DSKY fields except MODE. This means 005334,000038: # writing out 50000, 44000, ..., 04000. 005335,000039: 7242 37411 CA O50000 # 005336,000040: 7243 54001 TS L # L is the value we want to write to ch 10. 005337,000041: 7244 37435 CA TEN # A is the loop counter. 005338,000042: 7245 56001 ERRORLOO XCH L # 005339,000043: 7246 07320 TC IODELAY # 005340,000044: 7247 00006 EXTEND # 005341,000045: 7250 01010 WRITE CH10 # 005342,000046: 7251 67416 AD O-4000 # 005343,000047: 7252 56001 XCH L # 005344,000048: 7253 10000 CCS A # 005345,000049: 7254 17245 TCF ERRORLOO # 005346,000050: 005347,000051: # Output ERRNUM in MODE. 005348,000052: 7255 37410 CA O54000 # 005349,000053: 7256 54063 TS TEMPI # 005350,000054: 7257 30061 CA ERRNUM # 005351,000055: 7260 54064 TS TEMPJ # 005352,000056: 7261 07320 TC IODELAY # 005353,000057: 7262 07327 TC DIGPAIR # 005354,000058: 005355,000059: # Output ERRSUB in NOUN. 005356,000060: 7263 37412 CA O44000 # 005357,000061: 7264 54063 TS TEMPI # 005358,000062: 7265 30062 CA ERRSUB # 005359,000063: 7266 54064 TS TEMPJ # 005360,000064: 7267 07320 TC IODELAY # 005361,000065: 7270 07327 TC DIGPAIR # 005362,000066: 005363,000067: # Turn on the OPR ERR lamp. 005364,000068: 7271 37441 CA BIT7 # 005365,000069: 7272 07320 TC IODELAY # 005366,000070: 7273 00006 EXTEND # 005367,000071: 7274 01011 WRITE CH11 # 005368,000072: 005369,000073: # Wait for PRO key to be pressed. Please recall that 005370,000074: # the PRO key is a low-polarity signal: 0 when pressed, 005371,000075: # 1 when released. 005372,000076: 7275 00006 PRONWAIT EXTEND # 005373,000077: 7276 00032 READ CH32 # 005374,000078: 7277 77442 MASK BIT14 # 005375,000079: 7300 10000 CCS A # 005376,000080: 7301 17275 TCF PRONWAIT # 005377,000081: 7302 PROPRESS # 005378,000082: 005379,000083: # Turn off the OPR ERR lamp. 005380,000084: 7302 30007 CA ZEROES # 005381,000085: 7303 07320 TC IODELAY # 005382,000086: 7304 00006 EXTEND # 005383,000087: 7305 01011 WRITE CH11 # 005384,000088: 005385,000089: # Wait for PRO key to be released. 005386,000090: 7306 00006 PROFWAIT EXTEND # 005387,000091: 7307 00032 READ CH32 # 005388,000092: 7310 77442 MASK BIT14 # 005389,000093: 7311 10000 CCS A # 005390,000094: 7312 17314 TCF +2 # 005391,000095: 7313 17306 TCF PROFWAIT # 005392,000096: 005393,000097: # Restore the return address. (Could actually just 005394,000098: # "TC TEMPK" here.) 005395,000099: 7314 00006 EXTEND # 005396,000100: 7315 22065 QXCH TEMPK # 005397,000101: 7316 00002 RETURN # 005398,000102: 005399,000103: # ------------------------------------------------------------------------- 005400,000104: # Delay a little while. This is a workaround for some characteristics 005401,000105: # (as of 07/17/04, anyhow) of Webb's AGC-DSKY interaction. No registers 005402,000106: # are affected, except that any overflow in the accumulator will be lost. 005403,000107: 005404,000108: 7317 00764 IODELAYT DEC 500 B-14 # 005405,000109: 005406,000110: 7320 54064 IODELAY TS TEMPJ # Save accumulator. 005407,000111: 7321 17322 NOOP # 005408,000112: 7322 37317 CA IODELAYT # 005409,000113: 7323 10000 CCS A # 005410,000114: 7324 17323 TCF -1 # 005411,000115: 7325 30064 CA TEMPJ # Restore accumulator. 005412,000116: 7326 00002 RETURN # 005413,000117: 005414,000118: # ------------------------------------------------------------------------- 005415,000119: # Display a two-digit octal code. On entry, TEMPI should contain a 005416,000120: # code corresponding to the digit pair, as follows: 005417,000121: # 54000 MODE 005418,000122: # 50000 VERB 005419,000123: # 44000 NOUN 005420,000124: # 40000 Not used/1st digit of R1 005421,000125: # 34000 2nd/3rd digit of R1 005422,000126: # 30000 4th/5th digit of R1 005423,000127: # 24000 1st/2nd digit of R2 005424,000128: # 20000 3rd/4th digit of R2 005425,000129: # 14000 5th digit of R2/1st digit of R3 005426,000130: # 10000 2nd/3rd digit of R3 005427,000131: # 04000 4th/5th digit of R3 005428,000132: # On entry also, TEMPJ contains the number we want displayed. 005429,000133: 005430,000134: 7327 DIGPAIR # Shift the error code down by 3 places, so as to get 005431,000135: # the first octal digit. 005432,000136: 7327 30064 CA TEMPJ # 005433,000137: 7330 54020 TS CYR # 005434,000138: 7331 30020 CA CYR # 005435,000139: 7332 30020 CA CYR # 005436,000140: 7333 30020 CA CYR # 005437,000141: 7334 77436 MASK SEVEN # 005438,000142: # Convert to a pattern for output. 005439,000143: 7335 50000 INDEX A # 005440,000144: 7336 37367 CA DSP0 # 005441,000145: 7337 54022 TS CYL # 005442,000146: 7340 30022 CA CYL # 005443,000147: 7341 30022 CA CYL # 005444,000148: 7342 30022 CA CYL # 005445,000149: 7343 30022 CA CYL # 005446,000150: 7344 30022 CA CYL # 005447,000151: 7345 60063 AD TEMPI # 005448,000152: 7346 54063 TS TEMPI # 005449,000153: # Now do the same for the second octal digit, except that 005450,000154: # all the shifting isn't neeeded. 005451,000155: 7347 30064 CA TEMPJ # 005452,000156: 7350 77436 MASK SEVEN # 005453,000157: 7351 50000 INDEX A # 005454,000158: 7352 37367 CA DSP0 # 005455,000159: 7353 60063 AD TEMPI # 005456,000160: 7354 54063 TS TEMPI # 005457,000161: # Output it! 005458,000162: 7355 00006 EXTEND # 005459,000163: 7356 01010 WRITE CH10 # 005460,000164: 005461,000165: 7357 00002 RETURN # 005462,000166: (End of include-file Errordsp.s, resuming Validation.s) 005462,000334: 005463,000335: $Utilities.s 005464,000001: # Copyright 2004 Ronald S. Burkey 005465,000002: # 005466,000003: # This file is part of yaAGC. 005467,000004: 005468,000005: # yaAGC is free software; you can redistribute it and/or modify 005469,000006: # it under the terms of the GNU General Public License as published by 005470,000007: # the Free Software Foundation; either version 2 of the License, or 005471,000008: # (at your option) any later version. 005472,000009: 005473,000010: # yaAGC is distributed in the hope that it will be useful, 005474,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 005475,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 005476,000013: # GNU General Public License for more details. 005477,000014: 005478,000015: # You should have received a copy of the GNU General Public License 005479,000016: # along with yaAGC; if not, write to the Free Software 005480,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 005481,000018: 005482,000019: # Filename: Utilities.s 005483,000020: # Purpose: Useful functions for the validation suite. 005484,000021: # Mod history: 07/04/04 RSB. Began. 005485,000022: 005486,000023: # ------------------------------------------------------------------------- 005487,000024: # A utility to check if the accumulator contains -1. Swiped from 005488,000025: # Luminary AGC self-check. 005489,000026: 005490,000027: 7360 10000 -1CHK CCS A # 005491,000028: 7361 17240 TCF ERRORDSP # 005492,000029: 7362 17240 TCF ERRORDSP # 005493,000030: 7363 10000 CCS A # 005494,000031: 7364 17240 TCF ERRORDSP # 005495,000032: 7365 00002 TC Q # 005496,000033: (End of include-file Utilities.s, resuming Validation.s) 005496,000335: 005497,000336: $VariablesAndConstants.s 005498,000001: # Copyright 2004 Ronald S. Burkey 005499,000002: # 005500,000003: # This file is part of yaAGC. 005501,000004: 005502,000005: # yaAGC is free software; you can redistribute it and/or modify 005503,000006: # it under the terms of the GNU General Public License as published by 005504,000007: # the Free Software Foundation; either version 2 of the License, or 005505,000008: # (at your option) any later version. 005506,000009: 005507,000010: # yaAGC is distributed in the hope that it will be useful, 005508,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 005509,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 005510,000013: # GNU General Public License for more details. 005511,000014: 005512,000015: # You should have received a copy of the GNU General Public License 005513,000016: # along with yaAGC; if not, write to the Free Software 005514,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 005515,000018: 005516,000019: # Filename: VariablesAndConstants.s 005517,000020: # Purpose: Definitions of constants and variables for the validation 005518,000021: # suite. 005519,000022: # Mod history: 07/04/04 RSB. Began. 005520,000023: # 07/06/04 RSB. Added stuff for the MASK test, and the 005521,000024: # similar logical tests for ROR, WOR, RAND, 005522,000025: # WAND, and RXOR. 005523,000026: # 07/07/04 RSB. Addes SKEEP1 through SKEEP7. 005524,000027: 005525,000028: # ----------------------------------------------------------------------- 005526,000029: # Constants and read-only memory. 005527,000030: 005528,000031: # Names of CPU registers. 005529,000032: 7366 A EQUALS 0 # 005530,000033: 7366 L EQUALS 1 # 005531,000034: 7366 Q EQUALS 2 # 005532,000035: 7366 EB EQUALS 3 # 005533,000036: 7366 FB EQUALS 4 # 005534,000037: 7366 Z EQUALS 5 # 005535,000038: 7366 BB EQUALS 6 # 005536,000039: 7366 ZEROES EQUALS 7 # Really an unnamed register. 005537,000040: 7366 ARUPT EQUALS 10 # 005538,000041: 7366 LRUPT EQUALS 11 # 005539,000042: 7366 QRUPT EQUALS 12 # 005540,000043: 7366 ZRUPT EQUALS 15 # 005541,000044: 7366 BBRUPT EQUALS 16 # 005542,000045: 7366 BRUPT EQUALS 17 # 005543,000046: 7366 CYR EQUALS 20 # 005544,000047: 7366 SR EQUALS 21 # 005545,000048: 7366 CYL EQUALS 22 # 005546,000049: 7366 EDOP EQUALS 23 # 005547,000050: 005548,000051: # Patterns for display of digits. 005549,000052: 7366 00000 DSPBLANK OCT 0 # 005550,000053: 7367 00025 DSP0 OCT 25 # 005551,000054: 7370 00003 DSP1 OCT 3 # 005552,000055: 7371 00031 DSP2 OCT 31 # 005553,000056: 7372 00033 DSP3 OCT 33 # 005554,000057: 7373 00017 DSP4 OCT 17 # 005555,000058: 7374 00036 DSP5 OCT 36 # 005556,000059: 7375 00034 DSP6 OCT 34 # 005557,000060: 7376 00023 DSP7 OCT 23 # 005558,000061: 7377 00035 DSP8 OCT 35 # 005559,000062: 7400 00037 DSP9 OCT 37 # 005560,000063: 005561,000064: 7401 SZERO EQUALS 0 # 005562,000065: 7401 CH10 EQUALS 10 # 005563,000066: 7401 CH11 EQUALS 11 # 005564,000067: 7401 CH32 EQUALS 32 # 005565,000068: 7401 CH26 EQUALS 26 # 005566,000069: 7401 CH27 EQUALS 27 # 005567,000070: 7401 00177 O177 OCT 177 # 005568,000071: 7402 00377 O377 OCT 377 # 005569,000072: 7403 03777 O3777 OCT 3777 # 005570,000073: 7404 17777 O17777 OCT 17777 # 005571,000074: 7405 20000 O20000 OCT 20000 # 005572,000075: 7406 37774 O37774 OCT 37774 # 005573,000076: 7407 37776 O37776 OCT 37776 # 005574,000077: 7410 54000 O54000 OCT 54000 # 005575,000078: 7411 50000 O50000 OCT 50000 # 005576,000079: 7412 44000 O44000 OCT 44000 # 005577,000080: 7413 40000 O40000 OCT 40000 # 005578,000081: 7414 77770 O77770 OCT 77770 # 005579,000082: 7415 74000 O-3777 OCT 74000 # 005580,000083: 7416 73777 O-4000 OCT 73777 # 005581,000084: 7417 60000 O-17777 OCT 60000 # 005582,000085: 7420 57777 O-20000 OCT 57777 # 005583,000086: 7421 40003 O-37774 OCT 40003 # 005584,000087: 7422 40001 O-37776 OCT 40001 # 005585,000088: 7423 77777 NEGZERO OCT 77777 # 005586,000089: 7424 77776 NEGONE OCT 77776 # 005587,000090: 7425 77775 NEGTWO DEC -2 B-14 # 005588,000091: 7426 77774 NEGTHREE DEC -3 B-14 # 005589,000092: 7427 77773 NEGFOUR DEC -4 B-14 # 005590,000093: 7430 00001 ONE OCT 1 # 005591,000094: 7431 00002 TWO OCT 2 # 005592,000095: 7432 00003 THREE OCT 3 # 005593,000096: 7433 00005 FIVE OCT 5 # 005594,000097: 7434 00011 NINE DEC 9 B-14 # 005595,000098: 7435 00012 TEN DEC 10 B-14 # 005596,000099: 7436 00007 SEVEN DEC 7 B-14 # 005597,000100: 7437 00027 TWNTHREE DEC 23 B-14 # 005598,000101: 7440 00001 BIT1 OCT 1 # 005599,000102: 7441 00100 BIT7 OCT 100 # 005600,000103: 7442 20000 BIT14 OCT 20000 # 005601,000104: 7443 37777 MAXP OCT 37777 # 005602,000105: 7444 37776 MAXP-1 OCT 37776 # 005603,000106: 7445 37775 MAXP-2 OCT 37775 # 005604,000107: 7446 37774 MAXP-3 OCT 37774 # 005605,000108: 7447 40000 MAXN OCT 40000 # 005606,000109: 7450 40001 MAXN-1 OCT 40001 # 005607,000110: 7451 40002 MAXN-2 OCT 40002 # 005608,000111: 7452 40003 MAXN-3 OCT 40003 # 005609,000112: 005610,000113: 7453 77777 MAXERR OCT 77777 # 005611,000114: 7454 04007 WHERE1 GENADR DEST1 # 005612,000115: 7455 25252 CONC+S1 OCT 25252 # USED IN CYCLSHFT 005613,000116: 7456 52400 CONC+S2 OCT 52400 # USED IN CYCLSHFT 005614,000117: 7457 7440 S+1 EQUALS BIT1 # 005615,000118: 7457 02471 14321 BIGNUM 2DEC 21911761 B-28 # 005616,000119: 7461 37260 24714 BIGRNUM 2DEC 262941132 B-28 # 14 (oct) * BIGNUM 005617,000120: 7463 00000 00000 DBZERO 2DEC 0 B-28 # 005618,000121: 7465 77777 77777 DBMZERO 2DEC -0 B-28 # 005619,000122: 7467 00000 00001 DBONE 2DEC 1 B-28 # 005620,000123: 7471 77777 77776 DBMONE 2DEC -1 B-28 # 005621,000124: 7473 37777 37777 DBMAXP 2DEC 268435455 B-28 # Biggest positive DP number. 005622,000125: 7475 40000 40000 DBMAXN 2DEC -268435455 B-28 # 005623,000126: 7477 37777 37776 DBMAXP-1 2DEC 268435454 B-28 # 005624,000127: 7501 40000 40001 DBMAXN-1 2DEC -268435454 B-28 # 005625,000128: 7503 12345 SMALNUM OCT 12345 # 005626,000129: 7504 37257 SMALRNUM OCT 37257 # 3 * SMALNUM 005627,000130: 005628,000131: 7505 52525 MASKL1 OCT 52525 # 005629,000132: 7506 25252 MASKR1 OCT 25252 # 005630,000133: 7507 63146 MASKL2 OCT 63146 # 005631,000134: 7510 14631 MASKR2 OCT 14631 # 005632,000135: 7511 42104 ANDL1L2 OCT 42104 # 005633,000136: 7512 10421 ANDL1R2 OCT 10421 # 005634,000137: 7513 21042 ANDR1L2 OCT 21042 # 005635,000138: 7514 04210 ANDR1R2 OCT 04210 # 005636,000139: 7515 73567 ORL1L2 OCT 73567 # 005637,000140: 7516 56735 ORL1R2 OCT 56735 # 005638,000141: 7517 67356 ORR1L2 OCT 67356 # 005639,000142: 7520 35673 ORR1R2 OCT 35673 # 005640,000143: 7521 31463 XORL1L2 OCT 31463 # 005641,000144: 7522 46314 XORL1R2 OCT 46314 # 005642,000145: 7523 46314 XORR1L2 OCT 46314 # 005643,000146: 7524 31463 XORR1R2 OCT 31463 # 005644,000147: 005645,000148: # ------------------------------------------------------------------------- 005646,000149: # Some variables. 005647,000150: 005648,000151: 0061 SETLOC 61 # 005649,000152: 005650,000153: 0061 ERRNUM ERASE # Error-code, reported to DSKY. 005651,000154: 0062 ERRSUB ERASE # Error-subcode. 005652,000155: 005653,000156: # Dummy variables. 005654,000157: 0063 TEMPI ERASE # 005655,000158: 0064 TEMPJ ERASE # 005656,000159: 0065 TEMPK ERASE # 005657,000160: 005658,000161: # For Smally's tests. 005659,000162: 0066 SKEEP1 ERASE # 005660,000163: 0067 SKEEP2 ERASE # 005661,000164: 0070 SKEEP3 ERASE # 005662,000165: 0071 SKEEP4 ERASE # 005663,000166: 0072 SKEEP5 ERASE # 005664,000167: 0073 SKEEP6 ERASE # 005665,000168: 0074 SKEEP7 ERASE # 005666,000169: 005667,000170: 005668,000171: (End of include-file VariablesAndConstants.s, resuming Validation.s) 005668,000336: 005669,000337: 005670,000338: 005671,000339: Usage Table for Fixed-Memory Banks ---------------------------------- Bank 00: 0000/2OOO words used. Bank 01: 0000/2OOO words used. Bank 02: 1663/2OOO words used. Bank 03: 1525/2OOO words used. Bank 04: 1261/2OOO words used. Bank 05: 0276/2OOO words used. Bank 06: 0011/2OOO words used. Bank 07: 0124/2OOO words used. Bank 10: 0272/2OOO words used. Bank 11: 0000/2OOO words used. Bank 12: 0000/2OOO words used. Bank 13: 0000/2OOO words used. Bank 14: 0000/2OOO words used. Bank 15: 0000/2OOO words used. Bank 16: 0000/2OOO words used. Bank 17: 0000/2OOO words used. Bank 20: 0000/2OOO words used. Bank 21: 0000/2OOO words used. Bank 22: 0000/2OOO words used. Bank 23: 0000/2OOO words used. Bank 24: 0000/2OOO words used. Bank 25: 0000/2OOO words used. Bank 26: 0000/2OOO words used. Bank 27: 0000/2OOO words used. Bank 30: 0000/2OOO words used. Bank 31: 0000/2OOO words used. Bank 32: 0000/2OOO words used. Bank 33: 0000/2OOO words used. Bank 34: 0000/2OOO words used. Bank 35: 0000/2OOO words used. Bank 36: 0000/2OOO words used. Bank 37: 0000/2OOO words used. Bank 40: 0000/2OOO words used. Bank 41: 0000/2OOO words used. Bank 42: 0000/2OOO words used. Bank 43: 0000/2OOO words used. Symbol Table ------------ 1: $17 0017 2: $3 0003 3: $4 0004 4: $5 0005 5: $6 0006 6: $7 0007 7: -1CHK 7360 8: 4SKEEP1 04,2223 9: 4SKEEP2 04,2224 10: A 0000000 11: AD1 6270 12: AD2 6302 13: AD3 6330 14: ADLOOP 6262 15: ADS1 5032 16: ADS10 5142 17: ADS2 5037 18: ADS3 5051 19: ADS4 5064 20: ADS5 5071 21: ADS6 5104 22: ADS7 5114 23: ADS8 5123 24: ADS9 5133 25: ADSLOOP1 5024 26: ADSLOOP2 5055 27: AFTERTAB 5517 28: ANDL1L2 7511 29: ANDL1R2 7512 30: ANDR1L2 7513 31: ANDR1R2 7514 32: ARUPT 0000010 33: ASMDV 7230 34: ASMGEN 7220 35: ASMGEN2 7222 36: ASMGEN3 7224 37: ASMMP 7226 38: BANK3 6000 39: BB 0000006 40: BBRUPT 0000016 41: BIGNUM 7457 42: BIGRNUM 7461 43: BIT1 7440 44: BIT14 7442 45: BIT7 7441 46: BRUPT 0000017 47: BZFERROR 04,2306 48: BZMFERR 04,2121 49: CA1 5170 50: CA2 5202 51: CA3 5215 52: CA4 5230 53: CA5 5243 54: CA6 5252 55: CCK+0 05,2176 56: CCKERROR 05,2205 57: CCKLOOP1 05,2143 58: CCKLOOP2 05,2145 59: CCKNEG 05,2166 60: CCSCHK1 4051 61: CCSCHK2 4071 62: CCSCHK3 4105 63: CCSCHK4 4127 64: CCSCHK5 4147 65: CCSCHK6 4177 66: CCSCHK7 4217 67: CCSCHK8 4241 68: CCSDONE 04,2070 69: CCSERROR 04,2067 70: CCSOK1 4061 71: CCSOK2 4075 72: CCSOK3 4115 73: CCSOK4 4137 74: CCSOK5 4157 75: CCSOK5A 4166 76: CCSOK6 4206 77: CCSOK7A 4227 78: CCSOK8A 4251 79: CH10 0000010 80: CH11 0000011 81: CH26 0000026 82: CH27 0000027 83: CH32 0000032 84: CONC+S1 7455 85: CONC+S2 7456 86: CS1 5274 87: CS2 5304 88: CS3 5315 89: CS4 5326 90: CS5 5337 91: CS7 5354 92: CYCLSHFT 4016 93: CYL 0000022 94: CYR 0000020 95: DASLOOP 4266 96: DASNOV1 4275 97: DASNOV1A 4301 98: DASOK1 4313 99: DASOK10 4423 100: DASOK11 4432 101: DASOK12 4442 102: DASOK13 4452 103: DASOK14 4461 104: DASOK15 4473 105: DASOK16 4503 106: DASOK17 4512 107: DASOK18 4522 108: DASOK19 4532 109: DASOK2 4322 110: DASOK20 4541 111: DASOK3 4337 112: DASOK4 4347 113: DASOK5 4356 114: DASOK6 4365 115: DASOK7 4375 116: DASOK8 4404 117: DASOK9 4413 118: DBMAXN 7475 119: DBMAXN-1 7501 120: DBMAXP 7473 121: DBMAXP-1 7477 122: DBMONE 7471 123: DBMZERO 7465 124: DBONE 7467 125: DBZERO 7463 126: DDERROR 04,2422 127: DEST1 4007 128: DIERROR 04,2553 129: DIGPAIR 7327 130: DLCERROR 04,3254 131: DONE 7237 132: DONE4 4253 133: DSCERROR 04,3212 134: DSP0 7367 135: DSP1 7370 136: DSP2 7371 137: DSP3 7372 138: DSP4 7373 139: DSP5 7374 140: DSP6 7375 141: DSP7 7376 142: DSP8 7377 143: DSP9 7400 144: DSPBLANK 7366 145: DVCERROR 04,3025 146: DVDONE 10,2271 147: DVERROR 10,2270 148: DXCH1 6015 149: DXCH10 6111 150: DXCH11 6117 151: DXCH12 6132 152: DXCH13 6140 153: DXCH14 6145 154: DXCH2 6022 155: DXCH3 6030 156: DXCH4 6036 157: DXCH5 6052 158: DXCH6 6056 159: DXCH7 6063 160: DXCH8 6071 161: DXCH9 6100 162: EB 0000003 163: EDOP 0000023 164: ERRNUM 0061 165: ERROR4 4252 166: ERRORDSP 7240 167: ERRORLOO 7245 168: ERRSUB 0062 169: FB 0000004 170: FIVE 7433 171: INCROK1 4723 172: INCROK2 4727 173: INCROK3 4734 174: INCROK4 4744 175: INCROK5 4752 176: INCROK7 4771 177: INCROK8 5001 178: INCROK9 5012 179: INDEX1 5532 180: INDEX10 5652 181: INDEX2 5542 182: INDEX3 5552 183: INDEX4 5562 184: INDEX5 5572 185: INDEX6 5606 186: INDEX7 5617 187: INDEX8 5630 188: INDEX9 5641 189: IO1 6446 190: IO10A 6752 191: IO10O 7070 192: IO11A 6761 193: IO11O 7077 194: IO12A 6772 195: IO12O 7110 196: IO13A 7001 197: IO13O 7117 198: IO14A 7012 199: IO14O 7130 200: IO15A 7022 201: IO15O 7140 202: IO16A 7033 203: IO16O 7151 204: IO17A 7043 205: IO17O 7161 206: IO1ERROR 05,2032 207: IO2 6455 208: IO2ERROR 05,2063 209: IO3 6465 210: IO3ERROR 05,2135 211: IO4 6475 212: IO5 6505 213: IO6A 6532 214: IO6O 6612 215: IO6X 6672 216: IO7A 6543 217: IO7O 6623 218: IO7X 6703 219: IO8A 6554 220: IO8O 6634 221: IO8X 6714 222: IO9A 6565 223: IO9O 6645 224: IO9X 6725 225: IODELAY 7320 226: IODELAYT 7317 227: IODONE 7163 228: IOERROR 7162 229: L 0000001 230: LRUPT 0000011 231: LXCHOK1 4613 232: LXCHOK2 4621 233: LXCHOK3 4632 234: LXCHOK4 4640 235: LXCHOK5 4660 236: LXCHOK6 4664 237: LXCHOK7 4704 238: LXCHOK8 4710 239: MADERROR 6355 240: MASK1 6371 241: MASK2 6401 242: MASK3 6411 243: MASK4 6421 244: MASKL1 7505 245: MASKL2 7507 246: MASKR1 7506 247: MASKR2 7510 248: MAXERR 7453 249: MAXN 7447 250: MAXN-1 7450 251: MAXN-2 7451 252: MAXN-3 7452 253: MAXP 7443 254: MAXP-1 7444 255: MAXP-2 7445 256: MAXP-3 7446 257: MPCERROR 04,2653 258: MPDONE 07,2121 259: MPERROR 07,2120 260: MPLOOP1 07,2005 261: MPLOOP2 07,2026 262: MPLOOP3 07,2053 263: MPLOOP4 07,2074 264: MSCERROR 04,3063 265: MSKERROR 04,3126 266: NEGFOUR 7427 267: NEGONE 7424 268: NEGTHREE 7426 269: NEGTWO 7425 270: NEGZERO 7423 271: NINE 7434 272: O-17777 7417 273: O-20000 7420 274: O-3777 7415 275: O-37774 7421 276: O-37776 7422 277: O-4000 7416 278: O177 7401 279: O17777 7404 280: O20000 7405 281: O377 7402 282: O3777 7403 283: O37774 7406 284: O37776 7407 285: O40000 7413 286: O44000 7412 287: O50000 7411 288: O54000 7410 289: O77770 7414 290: ONE 7430 291: ORL1L2 7515 292: ORL1R2 7516 293: ORR1L2 7517 294: ORR1R2 7520 295: OUFDONE 05,2257 296: OUFERROR 05,2272 297: OUFLOOP1 05,2212 298: OUFLOOP2 05,2217 299: OUFNZERO 05,2242 300: PROFWAIT 7306 301: PRONWAIT 7275 302: PROPRESS 7302 303: Q 0000002 304: QRUPT 0000012 305: R1ERROR 04,2161 306: R2ERROR 04,2221 307: R3ERROR 04,2250 308: S+1 7440 309: SEVEN 7436 310: SKEEP1 0066 311: SKEEP2 0067 312: SKEEP3 0070 313: SKEEP4 0071 314: SKEEP5 0072 315: SKEEP6 0073 316: SKEEP7 0074 317: SMALNUM 7503 318: SMALRNUM 7504 319: SMDV 10,2000 320: SMGEN 04,2000 321: SMGEN2 05,2000 322: SMGEN3 06,2000 323: SMMP 07,2000 324: SMNEXT 7232 325: SR 0000021 326: SZERO 0000000 327: TABLE 5514 328: TCTCFDN2 04,2020 329: TCTCFDON 04,2015 330: TCTCFERR 04,2013 331: TEMPI 0063 332: TEMPJ 0064 333: TEMPK 0065 334: TEN 7435 335: TEST1OK 4016 336: THREE 7432 337: TS1 5371 338: TS2 5412 339: TS3 5431 340: TS4 5463 341: TS4A 5446 342: TS5 5476 343: TS5A 5471 344: TS6 5504 345: TSTEIGHT 4571 346: TWNTHREE 7437 347: TWO 7431 348: VCAERROR 5261 349: VCSERROR 5355 350: VDAERROR 4572 351: VDSERROR 5155 352: VINERROR 5013 353: VLXERROR 4711 354: VMSERROR 6422 355: VNDERROR 5653 356: VTSERROR 5505 357: VXCERROR 6247 358: WHERE1 7454 359: XCH1 6160 360: XCH2 6167 361: XCH3 6206 362: XCH3A 6200 363: XCH4 6216 364: XCH5 6224 365: XCH6 6246 366: XORL1L2 7521 367: XORL1R2 7522 368: XORR1L2 7523 369: XORR1R2 7524 370: Z 0000005 371: ZEROES 0000007 372: ZRUPT 0000015 Unresolved symbols: 0 Fatal errors: 0 Warnings: 0 Removing the duplicated lines... Bugger word 71516 at 02,01665. Bugger word 43462 at 03,01527. Bugger word 73776 at 00,00002. Bugger word 73777 at 01,00002. Bugger word 64465 at 04,01263. Bugger word 10124 at 05,00300. Bugger word 76113 at 06,00013. Bugger word 66153 at 07,00126. Bugger word 61476 at 10,00274. Bugger word 74007 at 11,00002. Bugger word 74010 at 12,00002. Bugger word 74011 at 13,00002. Bugger word 74012 at 14,00002. Bugger word 74013 at 15,00002. Bugger word 74014 at 16,00002. Bugger word 74015 at 17,00002. Bugger word 74016 at 20,00002. Bugger word 74017 at 21,00002. Bugger word 74020 at 22,00002. Bugger word 74021 at 23,00002. Bugger word 74022 at 24,00002. Bugger word 74023 at 25,00002. Bugger word 74024 at 26,00002. Bugger word 74025 at 27,00002. Bugger word 74026 at 30,00002. Bugger word 74027 at 31,00002. Bugger word 74030 at 32,00002. Bugger word 74031 at 33,00002. Bugger word 74032 at 34,00002. Bugger word 74033 at 35,00002. Bugger word 74034 at 36,00002. Bugger word 74035 at 37,00002. Bugger word 74036 at 40,00002. Bugger word 74037 at 41,00002. Bugger word 74040 at 42,00002. Bugger word 74041 at 43,00002.