何月何日は何曜日であると即座に言い当てるレインマンは身近にはいないので、
それを算出するサブルーチンはやはり必要だ。
0001.00 E DTR 12 12 2 0 0002.00 I*( WORK 日付 YYMMDD DATA 構造 ) 0003.00 IDATEDS IDS 0004.00 I 1 20SRY 0005.00 I 1 40SRYY 0006.00 I 1 80SRYMD 0007.00 I 3 80YYMMDD 0008.00 I 3 60YYMM 0009.00 I 5 80MMDD 0010.00 I 3 40YY 0011.00 I 5 60MM 0012.00 I 7 80DD 0013.00 +C*( DSTE の曜日の検索 ) 0014.00 C MOVE DATE YYMMDD 日付 FLD 0015.00 C Z-ADD20 SRY 2000 年 0016.00 C MOVE SRYY D\NEND 40 0017.00 C MOVE MM D\TSUK 20 0018.00 C MOVE DD D\DAY 20 0019.00 C EXSR DAYSET 0020.00 C****************************************************** 0021.00 C DAYSET BEGSR 0022.00 C****************************************************** 0023.00 C*( 曜日の算出 ) 0024.00 C* ( D\NEND = 西暦 20XX 年 ) 4,0 0025.00 C* ( D\TSUK = XX 月 ) 2,0 0026.00 C* ----> YOBI 曜日 4 0027.00 CSR D\NEND IFNE *ZEROS 0028.00 CSR D\NEND SUB 1 NENWK 40 0029.00 CSR ELSE 0030.00 CSR MOVE *ZEROS NENWK 0031.00 CSR END 0032.00 C* 0033.00 CSR NENWK MULT 365 NISU 70 0034.00 CSR NENWK DIV 4 URUU 40 0035.00 CSR ADD URUU NISU 0036.00 CSR D\TSUK SUB 1 TUKIWK 20 0037.00 CSR DO TUKIWK I 20 0038.00 CSR ADD DTR,I NISU 0039.00 CSR END 0040.00 CSR TUKIWK IFGT 1 0041.00 CSR D\NEND DIV 4 URUU 0042.00 CSR MVR URUU1 10 0043.00 CSR 0 IFEQ URUU1 0044.00 CSR ADD 1 NISU 0045.00 CSR END 0046.00 CSR END 0047.00 C**(YOBI) 0048.00 CSR NISU DIV 7 NISU1 70 0049.00 CSR MVR YOBI# 20 0050.00 C** SUNDAY IS 7 0051.00 CSR YOBI# IFEQ *ZERO 0052.00 CSR Z-ADD7 YOBI# 0053.00 CSR END 0054.00 CSR ADD 5 YOBI# 0055.00 CSR YOBI IFGT 7 0056.00 CSR SUB 7 YOBI# 0057.00 CSR END 0058.00 C* YOBI# = 1 2 3 4 5 6 7 0059.00 C* 月 火 水 木 金 土 日 0060.00 CSR YOBI# IFEQ 1 0061.00 CSR MOVE ' 月 ' YOBI 4 0062.00 CSR END 0063.00 CSR YOBI# IFEQ 2 0064.00 CSR MOVE ' 火 ' YOBI 4 0065.00 CSR END 0066.00 CSR YOBI# IFEQ 3 0067.00 CSR MOVE ' 水 ' YOBI 4 0068.00 CSR END 0069.00 CSR YOBI# IFEQ 4 0070.00 CSR MOVE ' 木 ' YOBI 4 0071.00 CSR END 0072.00 CSR YOBI# IFEQ 5 0073.00 CSR MOVE ' 金 ' YOBI 4 0074.00 CSR END 0075.00 CSR YOBI# IFEQ 6 0076.00 CSR MOVE ' 土 ' YOBI 4 0077.00 CSR END 0078.00 CSR YOBI# IFEQ 7 0079.00 CSR MOVE ' 日 ' YOBI 4 0080.00 CSR END 0081.00 C* 0082.00 CSR ENDSR 0083.00 ** DTR 月別日数 0084.00 312831303130313130313031