PRINT 80 CAL 0002 PRINT 113 CAL 0003 PRINT 114 CAL 0004 PAUSE 1 CAL 0005 C SENSE SWITCH 1 DETERMINES INPUT MODE CAL 0006 16 IF %SENSE SWITCH 1< 116,115 CAL 0007 115 ACCEPT 82,M,JD,JY CAL 0008 GO TO 503 CAL 0009 116 READ 82,M,JD,JY CAL 0010 C IF STATEMENTS REJECT NOT ALLOWED MONTHS CAL 0011 503 IF %M-12< 509,509,500 CAL 0012 509 IF %M< 500,500,117 CAL 0013 C GO TO TRANSFERS TO PROPER MONTH NAME FOR INPUT CAL 0014 C DATA PRINTOUT AND TALLYS PROPER NUMBER OF DAYS DUE TO MONTH CAL 0015 117 GO TO %63,64,65,66,67,68,69,70,71,72,73,74<,M CAL 0016 63 PRINT 83,JD,JY CAL 0017 JDM#0 CAL 0018 IF %JD-31< 8,8,500 CAL 0019 64 PRINT 84,JD,JY CAL 0020 JDM#31 CAL 0021 EXECUTE PROCEDURE 703 CAL 0022 IF %LEAP< 500,602,603 CAL 0023 602 IF %JD-28< 8,8,500 CAL 0024 603 IF %JD-29< 8,8,500 CAL 0025 65 PRINT 85,JD,JY CAL 0026 JDM#59 CAL 0027 IF %JD-31< 8,8,500 CAL 0028 66 PRINT 86,JD,JY CAL 0029 JDM#90 CAL 0030 IF %JD-30< 8,8,500 CAL 0031 67 PRINT 87,JD,JY CAL 0032 JDM#120 CAL 0033 IF %JD-31< 8,8,500 CAL 0034 68 PRINT 88,JD,JY CAL 0035 JDM#151 CAL 0036 IF %JD-30< 8,8,500 CAL 0037 69 PRINT 89,JD,JY CAL 0038 JDM#181 CAL 0039 IF %JD-31< 8,8,500 CAL 0040 70 PRINT 90,JD,JY CAL 0041 JDM#212 CAL 0042 IF %JD-31< 8,8,500 CAL 0043 71 PRINT 91,JD,JY CAL 0044 JDM#243 CAL 0045 IF %JD-30< 8,8,500 CAL 0046 72 PRINT 92,JD,JY CAL 0047 JDM#273 CAL 0048 IF %JD-31< 8,8,500 CAL 0049 73 PRINT 93,JD,JY CAL 0050 JDM#304 CAL 0051 IF %JD-30< 8,8,500 CAL 0052 74 PRINT 94,JD,JY CAL 0053 JDM#334 CAL 0054 IF %JD-31< 8,8,500 CAL 0055 500 PRINT 501 CAL 0056 GO TO 16 CAL 0057 C IF STATEMENT REJECTS NOT ALLOWED DAYS CAL 0058 8 IF %JD< 500,500,81 CAL 0059 81 JYD#JY CAL 0060 DD#JD CAL 0061 C IF STATEMENTS REJECT YEARS OUTSIDE 1585 TO 2599 LIMIT CAL 0062 IF %JYD-1585< 15,10,10 CAL 0063 10 IF %JYD-2599< 96,96,15 CAL 0064 15 PRINT 19 CAL 0065 GO TO 16 CAL 0066 C FROM HERE TO STATEMENT 110-CENTESIMAL LEAP YEAR CORRECTION CAL 0067 C TALLYING 1 DAY FOR EVERY NON QUADRICENTENNIAL CENTESIMAL YEAR CAL 0068 C SINCE 1582 CAL 0069 96 IF %JYD-2500< 98,98,97 CAL 0070 97 DYC#7. CAL 0071 GO TO 17 CAL 0072 98 IF %JYD-2300< 100,100,99 CAL 0073 99 DYC#6. CAL 0074 GO TO 17 CAL 0075 100 IF %JYD-2200< 102,102,101 CAL 0076 101 DYC#5. CAL 0077 GO TO 17 CAL 0078 102 IF %JYD-2100< 104,104,103 CAL 0079 103 DYC#4. CAL 0080 GO TO 17 CAL 0081 104 IF %JYD-1900< 106,106,105 CAL 0082 105 DYC#3. CAL 0083 GO TO 17 CAL 0084 106 IF %JYD-1800< 108,108,107 CAL 0085 107 DYC#2. CAL 0086 GO TO 17 CAL 0087 108 IF %JYD-1700< 110,110,109 CAL 0088 109 DYC#1. CAL 0089 GO TO 17 CAL 0090 110 DYC#0. CAL 0091 C FROM HERE TO STATEMENT 112-ADDING DAYS IN 4, 40, 400 YEAR CAL 0092 C BLOCKS INCLUDING QUADRENNIAL LEAP YEARS CAL 0093 17 DY#0. CAL 0094 3 JYD#JYD-400 CAL 0095 DY#DY&146100. CAL 0096 IF %JYD-1584< 4,4,3 CAL 0097 4 JYD#JYD&400 CAL 0098 DY#DY-146100. CAL 0099 5 JYD#JYD-40 CAL 0100 DY#DY&14610. CAL 0101 IF %JYD-1584< 9,9,5 CAL 0102 9 JYD#JYD&40 CAL 0103 DY#DY-14610. CAL 0104 7 JYD#JYD-4 CAL 0105 DY#DY&1461. CAL 0106 IF %JYD-1584< 26,12,7 CAL 0107 26 JYD#JYD&4 CAL 0108 DY#DY-1461. CAL 0109 122 JYD#JYD-1 CAL 0110 DY#DY&365. CAL 0111 IF %JYD-1584< 26,112,122 CAL 0112 112 DY#DY&1. CAL 0113 C FROM HERE TO STATEMENT 28-USED TO TALLY DAY FOR FEB 29 IF LEAP CAL 0114 C YEAR EXISTS CAL 0115 12 EXECUTE PROCEDURE 703 CAL 0116 IF %LEAP< 21,21,20 CAL 0117 C STATEMENT 20 CHECKS TO SEE IF MONTH IS MARCH OR GREATER CAL 0118 20 IF %M-2< 21,21,28 CAL 0119 C STATEMENT 28 ADDS DAY FOR FEB 29 IF MONTH IS GREATER THAN FEB CAL 0120 C AND YEAR IS A LEAP YEAR CAL 0121 28 JDM#JDM&1 CAL 0122 21 DM#JDM CAL 0123 C THIS STATEMENT TALLYS TOTAL DAYS COUNTING JAN 31, 1583 AS FIRST CAL 0124 C DAY %DT#TOTAL DAYS, DY#DAYS FROM YEAR, DM#DAYS FROM MONTH, CAL 0125 C DD#DAYS FROM DAYS, DYC#DAYS FROM NON QUADRACENTENNIAL CENTESIMAL CAL 0126 C LEAP YEARS, .05 KEEPS VALUE OF DT HIGH FOR LATER FIXED POINT CAL 0127 C CONVERSION< CAL 0128 DT#DY&DM&DD-DYC&.05 CAL 0129 C FROM HERE TO STATEMENT 77-SUBTRACT DAYS IN 70000, 7000, 700, CAL 0130 C 70, 7 DAY BLOCKS GIVING NUMBER OF DAY IN WEEK %1-7< CAL 0131 1 DT#DT-70000. CAL 0132 IF %DT-7.< 2,2,1 CAL 0133 2 DT#DT&70000. CAL 0134 40 DT#DT-7000. CAL 0135 IF %DT-7.< 39,39,40 CAL 0136 39 DT#DT&7000. CAL 0137 48 DT#DT-700. CAL 0138 IF %DT-7.< 62,62,48 CAL 0139 62 DT#DT&700. CAL 0140 75 DT#DT-70. CAL 0141 IF %DT-7.< 76,76,75 CAL 0142 76 DT#DT&70. CAL 0143 385 IF %DT-7.8< 6,6,77 CAL 0144 77 DT#DT-7. CAL 0145 GO TO 385 CAL 0146 6 JDT#DT CAL 0147 C GO TO TRANSFERS TO PROPER DAY OF WEEK FOR PRINTOUT CAL 0148 GO TO %31,32,33,34,35,36,37<,JDT CAL 0149 31 PRINT 41 CAL 0150 GO TO 16 CAL 0151 32 PRINT 42 CAL 0152 GO TO 16 CAL 0153 33 PRINT 43 CAL 0154 GO TO 16 CAL 0155 34 PRINT 44 CAL 0156 GO TO 16 CAL 0157 35 PRINT 45 CAL 0158 GO TO 16 CAL 0159 36 PRINT 46 CAL 0160 GO TO 16 CAL 0161 37 PRINT 47 CAL 0162 GO TO 16 CAL 0163 C PROCEDURE 703 TESTS FOR BOTH TYPES OF LEAP YEARS %LEAP#1 FOR CAL 0164 C LEAP YEAR, LEAP#0 FOR NON-LEAP YEAR< CAL 0165 BEGIN PROCEDURE 703 CAL 0166 JYL#JY CAL 0167 IF %JYL-1700< 18,200,18 CAL 0168 18 IF %JYL-1800< 22,200,22 CAL 0169 22 IF %JYL-1900< 23,200,23 CAL 0170 23 IF %JYL-2100< 25,200,25 CAL 0171 25 IF %JYL-2200< 27,200,27 CAL 0172 27 IF %JYL-2300< 29,200,29 CAL 0173 29 IF %JYL-2500< 907,200,907 CAL 0174 907 JYL#JYL-400 CAL 0175 IF %JYL-4< 13,13,907 CAL 0176 13 JYL#JYL&400 CAL 0177 95 JYL#JYL-40 CAL 0178 IF %JYL-4< 30,30,95 CAL 0179 30 JYL#JYL&40 CAL 0180 38 JYL#JYL-4 CAL 0181 IF %JYL-4< 200,201,38 CAL 0182 200 LEAP#0 CAL 0183 GO TO 300 CAL 0184 201 LEAP#1 CAL 0185 300 END PROCEDURE 703 CAL 0186 80 FORMAT %//38H GREGORIAN CALENDAR-1585 AD TO 2599 AD//< CAL 0187 113 FORMAT %39H SENSE SWITCH NUMBER 1 ON FOR CARD DATA< CAL 0188 114 FORMAT %32H INPUT, OFF FOR TYPEWRITER INPUT//< CAL 0189 82 FORMAT %I6,I6,I6< CAL 0190 83 FORMAT %8H JANUARY,I5,2H ,,I5< CAL 0191 84 FORMAT %9H FEBRUARY,I5,2H ,,I5< CAL 0192 85 FORMAT %6H MARCH,I5,2H ,,I5< CAL 0193 86 FORMAT %6H APRIL,I5,2H ,,I5< CAL 0194 87 FORMAT %4H MAY,I5,2H ,,I5< CAL 0195 88 FORMAT %5H JUNE,I5,2H ,,I5< CAL 0196 89 FORMAT %5H JULY,I5,2H ,,I5< CAL 0197 90 FORMAT %7H AUGUST,I5,2H ,,I5< CAL 0198 91 FORMAT %10H SEPTEMBER,I5,2H ,,I5< CAL 0199 92 FORMAT %8H OCTOBER,I5,2H ,,I5< CAL 0200 93 FORMAT %9H NOVEMBER,I5,2H ,,I5< CAL 0201 94 FORMAT %9H DECEMBER,I5,2H ,,I5< CAL 0202 501 FORMAT %25H THIS DATE IS NOT ALLOWED/< CAL 0203 19 FORMAT %41H DATA NOT IN LIMITS OF 1585 AD TO 2599 AD/< CAL 0204 41 FORMAT %12H IS A SUNDAY/< CAL 0205 42 FORMAT %12H IS A MONDAY/< CAL 0206 43 FORMAT %13H IS A TUESDAY/< CAL 0207 44 FORMAT %15H IS A WEDNESDAY/< CAL 0208 45 FORMAT %14H IS A THURSDAY/< CAL 0209 46 FORMAT %12H IS A FRIDAY/< CAL 0210 47 FORMAT %14H IS A SATURDAY/< CAL 0211 END CAL 0212