Source Code

004230,000001: # Copyright 2004 Ronald S. Burkey <info@sandroid.org> 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.agc 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.agc. Parent file is ValidateSmally.agc