Source Code

004430,000001: # Copyright 2004 Ronald S. Burkey <info@sandroid.org> 004431,000002: # 004432,000003: # This file is part of yaAGC. 004433,000004: 004434,000005: # yaAGC is free software; you can redistribute it and/or modify 004435,000006: # it under the terms of the GNU General Public License as published by 004436,000007: # the Free Software Foundation; either version 2 of the License, or 004437,000008: # (at your option) any later version. 004438,000009: 004439,000010: # yaAGC is distributed in the hope that it will be useful, 004440,000011: # but WITHOUT ANY WARRANTY; without even the implied warranty of 004441,000012: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 004442,000013: # GNU General Public License for more details. 004443,000014: 004444,000015: # You should have received a copy of the GNU General Public License 004445,000016: # along with yaAGC; if not, write to the Free Software 004446,000017: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 004447,000018: 004448,000019: # Filename: SmallyD--SC.agc 004449,000020: # Purpose: This is code written from the flowchart on p. 46 of 004450,000021: # E-2065, which is a document titled "Block II AGC 004451,000022: # Self-Check and Show-Banksum", by Edwin D. Smally. 004452,000023: # Mod history: 07/07/04 RSB. Began. 004453,000024: 004454,000025: # Similar code was apparently originally in Luminary and/or Colossus, 004455,000026: # but much of it was removed over the course of time to make more room. 004456,000027: # I don't know what the original code was like, but the flowcharts still 004457,000028: # exist, so I've rewritten the code from the flowcharts. 004458,000029: 004459,000030: # P. 46 of Smally. 004460,000031: 004461,000032: 04,3127 37631 CA NEGONE # Smally says +2, but I think this is right. 004462,000033: 04,3130 54001 TS L 004463,000034: 04,3131 37635 CA ONE 004464,000035: 004465,000036: 04,3132 24062 INCR ERRSUB # 67 004466,000037: 04,3133 00006 EXTEND 004467,000038: 04,3134 40001 DCS A 004468,000039: 04,3135 67635 AD ONE 004469,000040: 04,3136 00006 EXTEND 004470,000041: 04,3137 13141 BZF +2 004471,000042: 04,3140 03212 TC DSCERROR 004472,000043: 04,3141 30007 CA ZEROES 004473,000044: 004474,000045: # The following assumes that c(Q)==3 from previous RETURNs. In 004475,000046: # fact, it contains -1 from previous tests, as there have been 004476,000047: # no intervening returns. So we'll fix that: 004477,000048: 04,3142 13144 TCF +2 004478,000049: 04,3143 00002 RETURN 004479,000050: 04,3144 03143 TC -1 004480,000051: 04,3145 24062 INCR ERRSUB # 70 octal 004481,000052: 04,3146 52002 DXCH L 004482,000053: 04,3147 67633 AD NEGTHREE 004483,000054: 04,3150 00006 EXTEND 004484,000055: 04,3151 13153 BZF +2 004485,000056: 04,3152 13212 TCF DSCERROR 004486,000057: 04,3153 10001 CCS L 004487,000058: 04,3154 13212 TCF DSCERROR 004488,000059: 04,3155 13160 TCF +3 004489,000060: 04,3156 13212 TCF DSCERROR 004490,000061: 04,3157 13212 TCF DSCERROR 004491,000062: 04,3160 30002 CA Q 004492,000063: 04,3161 67631 AD NEGONE 004493,000064: 04,3162 00006 EXTEND 004494,000065: 04,3163 13165 BZF +2 004495,000066: 04,3164 13212 TCF DSCERROR 004496,000067: 004497,000068: 04,3165 37631 CA NEGONE 004498,000069: 04,3166 54002 TS Q 004499,000070: 04,3167 37635 CA ONE 004500,000071: 004501,000072: 04,3170 24062 INCR ERRSUB # 71 004502,000073: 04,3171 00006 EXTEND 004503,000074: 04,3172 30002 DCA L 004504,000075: 04,3173 67635 AD ONE 004505,000076: 04,3174 00006 EXTEND 004506,000077: 04,3175 13177 BZF +2 004507,000078: 04,3176 13212 TCF DSCERROR 004508,000079: 04,3177 30001 CA L 004509,000080: 04,3200 67635 AD ONE 004510,000081: 04,3201 00006 EXTEND 004511,000082: 04,3202 13204 BZF +2 004512,000083: 04,3203 13212 TCF DSCERROR 004513,000084: 04,3204 30002 CA Q 004514,000085: 04,3205 67635 AD ONE 004515,000086: 04,3206 00006 EXTEND 004516,000087: 04,3207 13211 BZF +2 004517,000088: 04,3210 13212 TCF DSCERROR 004518,000089: 004519,000090: 04,3211 13213 TCF +2 004520,000091: 04,3212 07437 DSCERROR TC ERRORDSP 004521,000092: End of include-file SmallyD--SC.agc. Parent file is ValidateSmally.agc