File: DATE.LS of Disk: V50/Source/Source-Listing-RALF-1
(Source file text)
RALF V50A 17-JUL-88 PAGE 1 /CALL DATE(IM,ID,IY) OS8 DATE FUNCTION / / / VERSION 50B 17-07-2020 WVDM / / SECT8 DATE 00000 1030 JA #ST 00001 0066 EXTERN #DATE EXTERN #EXIT #XR, ORG .+10 00012 0401 TEXT +DATE + 00013 2405 00014 4040 #RET, #BASE, ORG .+3 MONTH, ORG .+3 DAY, ORG .+3 YEAR, ORG .+3 TEMP, ORG .+3 00034 0000 DATADR, 0 00035 1037 JA #DATE-1 /ADDRESS OF FIV DATE WORD 00036 7777 ORG 10*3+#BASE 00045 0040 FNOP 00046 1030 JA #RET 00047 0015 00050 0000 0 00051 1030 DRTN, JA . 00052 0051 BASE 0 00053 0000 NEWDAT, 0 00054 6201 CDF 0 00055 1664 TAD% BIPCCL 00056 0265 AND BITMSK 00057 7112 CLL RTR 00060 7012 RTR 00061 3366 DCA DATEMP 00062 6203 CDF CIF 0 00063 5653 JMP% NEWDAT 00064 7777 BIPCCL, 7777 00065 1600 BITMSK, 1600 /WAS 600 00066 0006 #ST, STARTD 00067 0210 0210 00070 6400 FSTA DRTN 00071 0051 00072 0200 0200 BASE #BASE 00073 1100 SETX #XR 00074 0002 00075 1110 SETB #BASE 00076 0015 00077 0101 LDX 0,1 00100 0000 00101 6200 FSTA #BASE RALF V50A 17-JUL-88 PAGE 1-1 00102 0710 FLDA% #BASE,1+ 00103 6201 FSTA MONTH 00104 0710 FLDA% #BASE,1+ 00105 6202 FSTA DAY 00106 0710 FLDA% #BASE,1+ 00107 6203 FSTA YEAR 00110 0605 FLDA% DATADR /GET THE PS-8 DATE WORD 00111 6204 FSTA TEMP /SAVE IT 00112 0002 FCLA 00113 6400 FSTA TEMP,0 /ZERO EXPONENT AND HIGH HALF OF MANTISSA 00114 0031 00115 0101 LDX 10,1 /SHIFT COUNT 00116 0010 00117 0204 FLDA TEMP /GET IT BACK 00120 0011 ALN 1 /ISOLATE THE MONTH 00121 0021 ATX 1 /SAVE THE MONTH 00122 0102 LDX -4,2 /DAY SHIFT COUNT 00123 7774 00124 0204 FLDA TEMP /GET BACK THE DATE 00125 0012 ALN 2 /SHIFT MONTH BITS INTO /HIGH HALF OF MANTISSA 00126 6204 FSTA TEMP /SAVE THIS 00127 0002 FCLA 00130 6400 FSTA TEMP,0 /ISOLATING DAY/YEAR BITS 00131 0031 00132 0204 FLDA TEMP /GET THEM BACK 00133 0102 LDX 7,2 /NOW ISOLATE DAY 00134 0007 00135 0012 ALN 2 00136 0022 ATX 2 /AND SAVE IT IN 2 00137 0204 FLDA TEMP /GET DAY/YEAR BITS 00140 0103 LDX -5,3 /PREPARE TO REMOVE DAY BITS 00141 7773 00142 0013 ALN 3 /BY SHIFTING THEM INTO HIGH HALF OF MANTISSA 00143 6204 FSTA TEMP /SAVE THEM 00144 0002 FCLA 00145 6400 FSTA TEMP,0 /ZERO DAY BITS 00146 0031 00147 0204 FLDA TEMP /RESTORE YEAR BITS 00150 0103 LDX 11,3 /SHIFT BACK 00151 0011 00152 0013 ALN 3 00153 0023 ATX 3 /PUT THEM INTO XR 3 00154 4000 TRAP4 NEWDAT 00155 0053 00156 0005 STARTF /RE-ENTER F MODE 00157 0031 XTA 1 /GET MONTH 00160 6601 FSTA% MONTH /RETURN IN ARG 00161 0032 XTA 2 /NOW DAY 00162 6602 FSTA% DAY 00163 0113 ADDX 3662,3 /MAKE IT + 1970 00164 3662 00165 0113 ADDX 0,3 00166 0000 DATEMP=.-1 /*K* 00167 0033 XTA 3 /NOW YEAR RALF V50A 17-JUL-88 PAGE 1-2 00170 6603 FSTA% YEAR 00171 1030 JA DRTN /RETURN 00172 0051 RALF V50A 17-JUL-88 PAGE 1-3 NO ERRORS 17 SYMBOLS, NO ABS REFS # C 00000 #BASE 00015 #DATE X 00000 #EXIT X 00000 #MAIN S 00000 #RET 00015 #ST 00066 #XR 00002 BIPCCL 00064 BITMSK 00065 DATADR 00034 DATE 8 00173 DATEMP 00166 DAY 00023 DRTN 00051 MONTH 00020 NEWDAT 00053 TEMP 00031 YEAR 00026