Add README.md
[pdp8.git] / sw / rescue / lab8e_goettingen / disk2_11 / rkb / paroff / date.ra
CommitLineData
81e70d48
PH
1/ \ eD A T E S U B R O U T I N E\r
2/\r
3/ FORTRAN (F4) LIBRARY\r
4/ ORIGINAL RELEASE 22-MAY-74\r
5/\r
6/ UPDATES\r
7/ 1. NOW WE ADD 78 (0116) TO THE YEAR INSTEAD OF 1970 (03662)\r
8/ 24-APR-81 H.A.\r
9/\r
10 SECT DATE\r
11 JA #ST\r
12 EXTERN #DATE\r
13#XR, ORG .+10\r
14 TEXT +DATE +\r
15#RET,\r
16#BASE, ORG .+3\r
17MONTH, ORG .+3\r
18DAY, ORG .+3\r
19YEAR, ORG .+3\r
20TEMP, ORG .+3\r
21DATADR, 0\r
22 JA #DATE-1 /ADDRESS OF PS8 DATE WORD\r
23 ORG 10*3+#BASE\r
24 FNOP\r
25 JA #RET\r
26 0\r
27DRTN, JA .\r
28 BASE 0\r
29#ST, STARTD\r
30 0210\r
31 FSTA DRTN\r
32 0200\r
33 BASE #BASE\r
34 SETX #XR\r
35 SETB #BASE\r
36 LDX 0,1\r
37 FSTA #BASE\r
38 FLDA% #BASE,1+\r
39 FSTA MONTH\r
40 FLDA% #BASE,1+\r
41 FSTA DAY\r
42 FLDA% #BASE,1+\r
43 FSTA YEAR\r
44 FLDA% DATADR /GET THE PS-8 DATE WORD\r
45 FSTA TEMP /SAVE IT\r
46 FCLA\r
47 FSTA TEMP,0 /ZERO EXPONENT AND HIGH HALF OF MANTISSA\r
48 LDX 10,1 /SHIFT COUNT\r
49 FLDA TEMP /GET IT BACK\r
50 ALN 1 /ISOLATE THE MONTH\r
51 ATX 1 /SAVE THE MONTH\r
52 LDX -4,2 /DAY SHIFT COUNT\r
53 FLDA TEMP /GET BACK THE DATE\r
54 ALN 2 /SHIFT MONTH BITS INTO\r
55 /HIGH HALF OF MANTISSA\r
56 FSTA TEMP /SAVE THIS\r
57 FCLA\r
58 FSTA TEMP,0 /ISOLATING DAY/YEAR BITS\r
59 FLDA TEMP /GET THEM BACK\r
60 LDX 7,2 /NOW ISOLATE DAY\r
61 ALN 2\r
62 ATX 2 /AND SAVE IT IN 2\r
63 FLDA TEMP /GET DAY/YEAR BITS\r
64 LDX -5,3 /PREPARE TO REMOVE DAY BITS\r
65 ALN 3 /BY SHIFTING THEM INTO HIGH HALF OF MANTISSA\r
66 FSTA TEMP /SAVE THEM\r
67 FCLA\r
68 FSTA TEMP,0 /ZERO DAY BITS\r
69 FLDA TEMP /RESTORE YEAR BITS\r
70 LDX 11,3 /SHIFT BACK\r
71 ALN 3\r
72 ATX 3 /PUT THEM INTO XR 3\r
73 STARTF /RE-ENTER F MODE\r
74 XTA 1 /GET MONTH\r
75 FSTA% MONTH /RETURN IN ARG\r
76 XTA 2 /NOW DAY\r
77 FSTA% DAY\r
78 ADDX 116,3 /MAKE IT + 78\r
79 XTA 3 /NOW YEAR\r
80 FSTA% YEAR\r
81 JA DRTN /RETURN\r
82 END\r
83\f\1a\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0