10  GOSUB 9810
20  PRINT N$,M$
30  STOP 
9800  REM  ***** SUBROUTINE DATER *****
9801  REM
9802  REM  RETURNS THE CURRENT DATE AND DAY OF THE WEEK IN ALPHA FORMAT
9803  REM  OUTPUT PARAMETERS:  N$, DATE
9804  REM                      M$, DAY OF WEEK
9805  REM
9806  DIM M$[36],N$[9],Z[12],Z$[10]
9807  REM
9808  REM   *** ENTRY 9810 ***
9809  REM
9810  MAT Z=CON
9811  MAT Z=(31)*Z
9812  LET Z[4]=Z[6]=Z[9]=Z[11]=30
9813  LET Z[2]=29
9815  LET M$="JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC"
9817  LET Z$="0123456789"
9820  REM
9821  LET Z1=TIM(3)
9822  IF Z1/4=INT(Z1/4) THEN 9825
9823  LET Z[2]=28
9825  LET Z8=TIM(2)
9830  FOR Z2=1 TO 12
9831  IF Z8 <= Z[Z2] THEN 9840
9832  LET Z8=Z8-Z[Z2]
9835  NEXT Z2
9838  REM
9840  LET Z3=INT(Z8/10)
9841  LET N$=" "
9842  IF Z3=0 THEN 9845
9843  LET N$=Z$[Z3+1,Z3+1]
9845  LET Z3=Z8-Z3*10+1
9846  LET N$[2]=Z$[Z3,Z3]
9847  LET N$[3]=" "
9848  LET N$[4]=M$[3*Z2-2,3*Z2]
9849  LET N$[7]=" "
9850  LET Z3=INT(Z1/10)
9851  LET N$[8]=Z$[Z3+1,Z3+1]
9852  LET Z3=Z1-Z3*10+1
9853  LET N$[9]=Z$[Z3,Z3]
9855  REM
9860  LET M$="SUNMONTUEWEDTHUFRISAT"
9861  LET Z3=TIM(2)+Z1+INT((Z1-1)/4)
9862  LET Z3=Z3-INT(Z3/7)*7
9863  LET M$=M$[3*Z3+1,3*Z3+3]
9865  RETURN 
9868  REM
9870  REM     ***** END DATER *****
9999  END 
