Source Code

001254,000001: # Copyright 2004 Ronald S. Burkey <info@sandroid.org> 001255,000002: # 001256,000003: # This file is part of yaAGC. 001257,000004: 001258,000005: # yaAGC is free software; you can redistribute it and/or modify 001259,000006: # it under the terms of the GNU General Public License as published by 001260,000007: # the Free Software Foundation; either version 2 of the License, or 001261,000008: # (at your option) any later version. 001262,000009: 001263,000010: # yaAGC is distributed in the hope that it will be useful, 001264,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 001265,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 001266,000013: # GNU General Public License for more details. 001267,000014: 001268,000015: # You should have received a copy of the GNU General Public License 001269,000016: # along with yaAGC; if not, write to the Free Software 001270,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 001271,000018: 001272,000019: # Filename: ValidateTS.agc 001273,000020: # Purpose: This is the part of the Validation program that validates 001274,000021: # just the TS instruction. 001275,000022: # Mod history: 07/05/04 RSB. Began. 001276,000023: 001277,000024: 5436 24061 INCR ERRNUM 001278,000025: 001279,000026: # I think that the "normal" uses of TS have been 001280,000027: # adequately check by the previous tests, since data has 001281,000028: # been saved and compared for correctness. In other words, 001282,000029: # we know that it correctly saves data. That leaves 001283,000030: # only weird cases like overflow behavior and +-0 to check. 001284,000031: 001285,000032: # +0. 001286,000033: 5437 24062 INCR ERRSUB # 1 001287,000034: 5440 30007 CA ZEROES 001288,000035: 5441 54001 TS L 001289,000036: 5442 10001 CCS L 001290,000037: 5443 15563 TCF VTSERROR 001291,000038: 5444 15447 TCF TS1 001292,000039: 5445 15446 NOOP 001293,000040: 5446 15563 TCF VTSERROR 001294,000041: 5447 TS1 001295,000042: 001296,000043: # -0. 001297,000044: 5447 24062 INCR ERRSUB # 2 001298,000045: 5450 37630 CA NEGZERO 001299,000046: 5451 54001 TS L 001300,000047: 5452 10001 CCS L 001301,000048: 5453 15454 NOOP 001302,000049: 5454 15455 NOOP 001303,000050: 5455 15563 TCF VTSERROR 001304,000051: 001305,000052: # +Overflow 001306,000053: 5456 24062 INCR ERRSUB # 3 001307,000054: 5457 37651 CA MAXP 001308,000055: 5460 67642 AD TEN 001309,000056: 5461 54002 TS Q # Should be 9. 001310,000057: 5462 15563 TCF VTSERROR # No overflow. 001311,000058: 5463 24062 INCR ERRSUB # 4 001312,000059: 5464 67631 AD NEGONE # A should have been +1. 001313,000060: 5465 00006 EXTEND 001314,000061: 5466 15470 BZF TS2 001315,000062: 5467 15563 TCF VTSERROR 001316,000063: 5470 24062 TS2 INCR ERRSUB # 5 001317,000064: 5471 37641 CA NINE 001318,000065: 5472 00006 EXTEND 001319,000066: 5473 60002 SU Q 001320,000067: 5474 00006 EXTEND 001321,000068: 5475 15563 BZF VTSERROR # Q contains overflow. 001322,000069: 5476 30002 CA Q 001323,000070: 5477 54063 TS TEMPI 001324,000071: 5500 15501 NOOP 001325,000072: 5501 37641 CA NINE 001326,000073: 5502 00006 EXTEND 001327,000074: 5503 60063 SU TEMPI # ... but TEMPI does not. 001328,000075: 5504 00006 EXTEND 001329,000076: 5505 15507 BZF +2 001330,000077: 5506 15563 TCF VTSERROR 001331,000078: 001332,000079: 5507 TS3 001333,000080: 001334,000081: # -Overflow 001335,000082: 5507 24062 INCR ERRSUB # 6 001336,000083: 5510 37642 CA TEN 001337,000084: 5511 54002 TS Q 001338,000085: 5512 37655 CA MAXN 001339,000086: 5513 00006 EXTEND 001340,000087: 5514 60002 SU Q 001341,000088: 5515 54002 TS Q # Should be -9. 001342,000089: 5516 15563 TCF VTSERROR # No overflow. 001343,000090: 5517 24062 INCR ERRSUB # 7 001344,000091: 5520 67635 AD ONE # A should have been -1. 001345,000092: 5521 00006 EXTEND 001346,000093: 5522 15524 BZF TS4A 001347,000094: 5523 15563 TCF VTSERROR 001348,000095: 5524 24062 TS4A INCR ERRSUB # 10 octal 001349,000096: 5525 37641 CA NINE 001350,000097: 5526 60002 AD Q 001351,000098: 5527 00006 EXTEND 001352,000099: 5530 15563 BZF VTSERROR # Q contains overflow. 001353,000100: 5531 30002 CA Q 001354,000101: 5532 54063 TS TEMPI 001355,000102: 5533 15534 NOOP 001356,000103: 5534 37641 CA NINE 001357,000104: 5535 60063 AD TEMPI 001358,000105: 5536 00006 EXTEND 001359,000106: 5537 15541 BZF +2 # ... but TEMPI does not. 001360,000107: 5540 15563 TCF VTSERROR 001361,000108: 001362,000109: 5541 TS4 001363,000110: 001364,000111: # No overflow 001365,000112: 5541 24062 INCR ERRSUB # 11 001366,000113: 5542 37640 CA FIVE 001367,000114: 5543 40000 COM 001368,000115: 5544 54001 TS L # -5 001369,000116: 5545 15547 TCF TS5A # No overflow. 001370,000117: 5546 15563 TCF VTSERROR # Overflow. 001371,000118: 5547 24062 TS5A INCR ERRSUB # 12 001372,000119: 5550 67640 AD FIVE # A should have been -5. 001373,000120: 5551 00006 EXTEND 001374,000121: 5552 15554 BZF TS5 001375,000122: 5553 15563 TCF VTSERROR 001376,000123: 5554 24062 TS5 INCR ERRSUB # 13 001377,000124: 5555 37640 CA FIVE 001378,000125: 5556 60001 AD L 001379,000126: 5557 00006 EXTEND 001380,000127: 5560 15562 BZF TS6 001381,000128: 5561 15563 TCF VTSERROR 001382,000129: 5562 TS6 001383,000130: 001384,000131: 5562 15564 TCF +2 001385,000132: 5563 07437 VTSERROR TC ERRORDSP 001386,000133: 5564 30007 CA ZEROES 001387,000134: 5565 54062 TS ERRSUB 001388,000135: End of include-file ValidateTS.agc. Parent file is Validation.agc