Source Code

000192,000001: # Copyright 2004 Ronald S. Burkey <info@sandroid.org> 000193,000002: # 000194,000003: # This file is part of yaAGC. 000195,000004: 000196,000005: # yaAGC is free software; you can redistribute it and/or modify 000197,000006: # it under the terms of the GNU General Public License as published by 000198,000007: # the Free Software Foundation; either version 2 of the License, or 000199,000008: # (at your option) any later version. 000200,000009: 000201,000010: # yaAGC is distributed in the hope that it will be useful, 000202,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 000203,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 000204,000013: # GNU General Public License for more details. 000205,000014: 000206,000015: # You should have received a copy of the GNU General Public License 000207,000016: # along with yaAGC; if not, write to the Free Software 000208,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 000209,000018: 000210,000019: # Filename: ValidateCCS.agc 000211,000020: # Purpose: This is the part of the Validation program that validates 000212,000021: # just the CCS instruction. 000213,000022: # Mod history: 07/04/04 RSB. Began. 000214,000023: 000215,000024: # We check using values that are 000216,000025: # +-37777, +-1, and +-0, from both the accumulator and the 000217,000026: # L register. 000218,000027: 4115 24061 INCR ERRNUM 000219,000028: 000220,000029: # First, 37777 from accumulator. 000221,000030: 4116 24062 INCR ERRSUB # 1 000222,000031: 4117 37651 CA MAXP 000223,000032: 4120 10000 CCS A 000224,000033: 4121 14125 TCF CCSCHK1 000225,000034: 4122 14326 TCF ERROR4 000226,000035: 4123 14326 TCF ERROR4 000227,000036: 4124 14326 TCF ERROR4 000228,000037: 4125 24062 CCSCHK1 INCR ERRSUB # 2 000229,000038: 4126 54001 TS L 000230,000039: 4127 37652 CA MAXP-1 000231,000040: 4130 00006 EXTEND 000232,000041: 4131 60001 SU L 000233,000042: 4132 00006 EXTEND 000234,000043: 4133 14135 BZF CCSOK1 000235,000044: 4134 14326 TCF ERROR4 000236,000045: 4135 CCSOK1 000237,000046: # Next, 0 and 1 from accumulator. 000238,000047: 4135 24062 INCR ERRSUB # 3 000239,000048: 4136 30007 CA ZEROES 000240,000049: 4137 24000 INCR A 000241,000050: 4140 10000 CCS A 000242,000051: 4141 14145 TCF CCSCHK2 000243,000052: 4142 14326 TCF ERROR4 000244,000053: 4143 14326 TCF ERROR4 000245,000054: 4144 14326 TCF ERROR4 000246,000055: 4145 24062 CCSCHK2 INCR ERRSUB # 4 000247,000056: 4146 00006 EXTEND 000248,000057: 4147 14151 BZF CCSOK2 000249,000058: 4150 14326 TCF ERROR4 000250,000059: 4151 CCSOK2 000251,000060: # Next, -37777 from accumulator. 000252,000061: 4151 24062 INCR ERRSUB # 5 000253,000062: 4152 37651 CA MAXP 000254,000063: 4153 40000 COM 000255,000064: 4154 10000 CCS A 000256,000065: 4155 14326 TCF ERROR4 000257,000066: 4156 14326 TCF ERROR4 000258,000067: 4157 14161 TCF CCSCHK3 000259,000068: 4160 14326 TCF ERROR4 000260,000069: 4161 24062 CCSCHK3 INCR ERRSUB # 6 000261,000070: 4162 54001 TS L 000262,000071: 4163 37652 CA MAXP-1 000263,000072: 4164 00006 EXTEND 000264,000073: 4165 60001 SU L 000265,000074: 4166 00006 EXTEND 000266,000075: 4167 14171 BZF CCSOK3 000267,000076: 4170 14326 TCF ERROR4 000268,000077: 4171 CCSOK3 000269,000078: # Next, -0 and -1 from accumulator. 000270,000079: 4171 24062 INCR ERRSUB # 7 000271,000080: 4172 30007 CA ZEROES 000272,000081: 4173 24000 INCR A 000273,000082: 4174 40000 COM 000274,000083: 4175 54001 TS L 000275,000084: 4176 10001 CCS L 000276,000085: 4177 14326 TCF ERROR4 000277,000086: 4200 14326 TCF ERROR4 000278,000087: 4201 14203 TCF CCSCHK4 000279,000088: 4202 14326 TCF ERROR4 000280,000089: 4203 24062 CCSCHK4 INCR ERRSUB # 10 000281,000090: 4204 40000 COM 000282,000091: 4205 10000 CCS A 000283,000092: 4206 14326 TCF ERROR4 000284,000093: 4207 14326 TCF ERROR4 000285,000094: 4210 14326 TCF ERROR4 000286,000095: 4211 00006 EXTEND 000287,000096: 4212 14213 BZF CCSOK4 000288,000097: 4213 CCSOK4 000289,000098: # Next, 37777 from L. 000290,000099: 4213 24062 INCR ERRSUB # 11 000291,000100: 4214 37651 CA MAXP 000292,000101: 4215 54001 TS L 000293,000102: 4216 10001 CCS L 000294,000103: 4217 14223 TCF CCSCHK5 000295,000104: 4220 14326 TCF ERROR4 000296,000105: 4221 14326 TCF ERROR4 000297,000106: 4222 14326 TCF ERROR4 000298,000107: 4223 24062 CCSCHK5 INCR ERRSUB # 12 000299,000108: 4224 54063 TS TEMPI 000300,000109: 4225 37652 CA MAXP-1 000301,000110: 4226 00006 EXTEND 000302,000111: 4227 60063 SU TEMPI 000303,000112: 4230 00006 EXTEND 000304,000113: 4231 14233 BZF CCSOK5 000305,000114: 4232 14326 TCF ERROR4 000306,000115: 4233 24062 CCSOK5 INCR ERRSUB # 13 000307,000116: 4234 37651 CA MAXP 000308,000117: 4235 00006 EXTEND 000309,000118: 4236 60001 SU L 000310,000119: 4237 00006 EXTEND 000311,000120: 4240 14242 BZF CCSOK5A 000312,000121: 4241 14326 TCF ERROR4 000313,000122: 4242 CCSOK5A 000314,000123: # Next, 0 and 1 from L. 000315,000124: 4242 24062 INCR ERRSUB # 14 000316,000125: 4243 30007 CA ZEROES 000317,000126: 4244 24000 INCR A 000318,000127: 4245 54001 TS L 000319,000128: 4246 10001 CCS L 000320,000129: 4247 14253 TCF CCSCHK6 000321,000130: 4250 14326 TCF ERROR4 000322,000131: 4251 14326 TCF ERROR4 000323,000132: 4252 14326 TCF ERROR4 000324,000133: 4253 24062 CCSCHK6 INCR ERRSUB # 15 000325,000134: 4254 54001 TS L 000326,000135: 4255 10001 CCS L 000327,000136: 4256 14326 TCF ERROR4 000328,000137: 4257 14262 TCF CCSOK6 000329,000138: 4260 14326 TCF ERROR4 000330,000139: 4261 14326 TCF ERROR4 000331,000140: 4262 CCSOK6 000332,000141: # Next, -37777 from L. 000333,000142: 4262 24062 INCR ERRSUB # 16 000334,000143: 4263 37651 CA MAXP 000335,000144: 4264 40000 COM 000336,000145: 4265 54001 TS L 000337,000146: 4266 10001 CCS L 000338,000147: 4267 14326 TCF ERROR4 000339,000148: 4270 14326 TCF ERROR4 000340,000149: 4271 14273 TCF CCSCHK7 000341,000150: 4272 14326 TCF ERROR4 000342,000151: 4273 24062 CCSCHK7 INCR ERRSUB # 17 000343,000152: 4274 54063 TS TEMPI 000344,000153: 4275 37652 CA MAXP-1 000345,000154: 4276 00006 EXTEND 000346,000155: 4277 60063 SU TEMPI 000347,000156: 4300 00006 EXTEND 000348,000157: 4301 14303 BZF CCSOK7A 000349,000158: 4302 14326 TCF ERROR4 000350,000159: 4303 CCSOK7A 000351,000160: # Next, -0 and -1 from L. 000352,000161: 4303 24062 INCR ERRSUB # 20 000353,000162: 4304 30007 CA ZEROES 000354,000163: 4305 24000 INCR A 000355,000164: 4306 40000 COM 000356,000165: 4307 54001 TS L 000357,000166: 4310 10001 CCS L 000358,000167: 4311 14326 TCF ERROR4 000359,000168: 4312 14326 TCF ERROR4 000360,000169: 4313 14315 TCF CCSCHK8 000361,000170: 4314 14326 TCF ERROR4 000362,000171: 4315 24062 CCSCHK8 INCR ERRSUB # 21 000363,000172: 4316 40000 COM 000364,000173: 4317 54001 TS L 000365,000174: 4320 10001 CCS L 000366,000175: 4321 14326 TCF ERROR4 000367,000176: 4322 14326 TCF ERROR4 000368,000177: 4323 14326 TCF ERROR4 000369,000178: 4324 14325 TCF CCSOK8A 000370,000179: 4325 CCSOK8A 000371,000180: # All done. 000372,000181: 4325 14327 TCF DONE4 000373,000182: 4326 07437 ERROR4 TC ERRORDSP 000374,000183: 4327 30007 DONE4 CA ZEROES 000375,000184: 4330 54062 TS ERRSUB 000376,000185: 000377,000186: End of include-file ValidateCCS.agc. Parent file is Validation.agc