TITLE 'BLSDTIME-OBTAIN CURRENT TIME AND DATE ROUTINE *00001000 ' 00002000 * /* CHANGE ACTIVITY */ 00003000 * THIS MODULE IS WRITTEN FOR @G57LPRM 00004000 BLSDTIME CSECT , 0002 00005000 @MAINENT DS 0H 0002 00006000 USING *,@15 0002 00007000 B @PROLOG 0002 00008000 DC AL1(16) 0002 00009000 DC C'BLSDTIME 78.062' 0002 00010000 DROP @15 00011000 @PROLOG STM @14,@12,12(@13) 0002 00012000 BALR @12,0 0002 00013000 @PSTART DS 0H 0002 00014000 USING @PSTART,@12 0002 00015000 L @00,@SIZDATD 0002 00016000 BLSUALLS R,LV=(0) 00017000 LR @11,@01 0002 00018000 USING @DATD,@11 0002 00019000 ST @13,@SA00001+4 0002 00020000 LM @00,@01,20(@13) 0002 00021000 ST @11,8(,@13) 0002 00022000 LR @13,@11 0002 00023000 MVC @PC00001(12),0(@01) 0002 00024000 * RETC=ZERO; /* INITIALIZE THE RETC */ 00025000 * 0166 00026000 SLR RETC,RETC 0166 00027000 * /*****************************************************************/ 00028000 * /* */ 00029000 * /* ISSUE THE TIME MACRO FOR CURRENT DATE AND TIME */ 00030000 * /* */ 00031000 * /*****************************************************************/ 00032000 * 0167 00033000 * DO; /* TIMEP (DEC) ERRET(ERROR) 0167 00034000 * ZONE(LT) */ 00035000 * RFY 0168 00036000 * (GPR00P, 0168 00037000 * GPR01F, 0168 00038000 * GPR15F) RSTD; /* RESTRICT REGISTERS */ 00039000 * GPR01F='00000042'X; /* SET REGISTER ONE */ 00040000 LA GPR01F,66 0169 00041000 * GPR00P=0; /* SET REGISTER ZERO */ 00042000 SLR GPR00P,GPR00P 0170 00043000 * SVC(11); /* ISSUE TIME SVC */ 00044000 SVC 11 0171 00045000 * IF GPR15F>4 THEN /* WAS SVC SUCCESSFUL */ 00046000 C GPR15F,@CF00043 0172 00047000 BH @RT00172 0172 00048000 * GOTO ERROR; /* BRANCH TO ERROR RETURN */ 00049000 * RFY 0174 00050000 * (GPR00P, 0174 00051000 * GPR01F, 0174 00052000 * GPR15F) UNRSTD; /* RELEASE REGISTERS */ 00053000 * END; /* TIMEP (DEC) ERRET(ERROR) 0175 00054000 * ZONE(LT) TIME MACRO */ 00055000 * RESPECIFY 0176 00056000 * (R0, 0176 00057000 * R1) RESTRICTED; /* TIME AND DATE IN REGS */ 00058000 * STM(R0,R1,TIMEDATE); /* TIME AND DATE STORED */ 00059000 STM R0,R1,TIMEDATE 0177 00060000 * RESPECIFY 0178 00061000 * (R0, 0178 00062000 * R1) UNRESTRICTED; /* NO LONGER NEED REGISTERS */ 00063000 * 0178 00064000 * /*****************************************************************/ 00065000 * /* */ 00066000 * /* UNPACK THE FIELD OBTAINING TIME AND YEAR CHARACTERS */ 00067000 * /* */ 00068000 * /*****************************************************************/ 00069000 * 0179 00070000 * UNPK(TEMPFLD,TIMEDATE); /* UNPACK THE WHOLE FIELD */ 00071000 * 0179 00072000 UNPK TEMPFLD(15),TIMEDATE(8) 0179 00073000 * /*****************************************************************/ 00074000 * /* */ 00075000 * /* MOVE THE TIME INTO THE PARAMETER LIST */ 00076000 * /* */ 00077000 * /*****************************************************************/ 00078000 * 0180 00079000 * HOURFLD=HOUR; /* MOVE IN HOUR */ 00080000 L @10,@PC00001+4 0180 00081000 MVC HOURFLD(2,@10),HOUR 0180 00082000 * FDOT=DOT; /* MOVE IN PERIOD */ 00083000 MVI FDOT(@10),C':' 0181 00084000 * MINCHAR=MINUTE; /* MOVE IN MINUTE */ 00085000 MVC MINCHAR(2,@10),MINUTE 0182 00086000 * SDOT=DOT; /* MOVE IN SECOND PERIOD */ 00087000 MVI SDOT(@10),C':' 0183 00088000 * SECCHAR=SECOND; /* MOVE IN SECOND CHAR */ 00089000 * 0184 00090000 MVC SECCHAR(2,@10),SECOND 0184 00091000 * /*****************************************************************/ 00092000 * /* */ 00093000 * /* CONVERT THE DATE TO THE FORM MM/DD/YY */ 00094000 * /* */ 00095000 * /*****************************************************************/ 00096000 * 0185 00097000 * YEARCHAR=YEAR; /* MOVE IN THE YEAR */ 00098000 L @10,@PC00001+8 0185 00099000 MVC YEARCHAR(2,@10),YEAR 0185 00100000 * FSLASH=SLASH; /* MOVE IN THE FIRST SLASH */ 00101000 MVI FSLASH(@10),C'/' 0186 00102000 * SSLASH=SLASH; /* MOVE IN THE SECOND SLASH */ 00103000 * 0187 00104000 MVI SSLASH(@10),C'/' 0187 00105000 * /*****************************************************************/ 00106000 * /* */ 00107000 * /* CONVERT THE DATE FIELD SO IT CAN BE USED FOR PROCESSING */ 00108000 * /* */ 00109000 * /*****************************************************************/ 00110000 * 0188 00111000 * CVB(DATESAVE,DATEFLD); /* CONVERT FIELD TO BINARY */ 00112000 XC @TS00001(8),@TS00001 0188 00113000 MVC @TS00001+4(4),DATEFLD 0188 00114000 CVB DATESAVE,@TS00001 0188 00115000 * YEARBIN=DATESAVE/F1000; /* FIND THE YEAR */ 00116000 LA @10,1000 0189 00117000 LR @00,DATESAVE 0189 00118000 SRDA @00,32 0189 00119000 DR @00,@10 0189 00120000 LR YEARBIN,@01 0189 00121000 * DAYBIN=DATESAVE//F1000; /* THE LEFT OVER IS THE DAY */ 00122000 * 0190 00123000 LR @00,DATESAVE 0190 00124000 SRDA @00,32 0190 00125000 DR @00,@10 0190 00126000 LR DAYBIN,@00 0190 00127000 * /*****************************************************************/ 00128000 * /* */ 00129000 * /* CALCULATE THE NUMBER OF DAYS FOR FEB */ 00130000 * /* */ 00131000 * /*****************************************************************/ 00132000 * 0191 00133000 * IF YEARBIN//4=0 THEN /* IS THIS A LEAP YEAR? */ 00134000 LR @00,YEARBIN 0191 00135000 SRDA @00,32 0191 00136000 D @00,@CF00043 0191 00137000 LTR @00,@00 0191 00138000 BNZ @RF00191 0191 00139000 * FEB=29; /* YES, CHANGE NUMBER OF DAYS TO 00140000 * 29 */ 00141000 LA FEB,29 0192 00142000 * ELSE 0193 00143000 * FEB=28; /* NO, NUMBER OF DAYS IS 28 */ 00144000 * 0193 00145000 B @RC00191 0193 00146000 @RF00191 LA FEB,28 0193 00147000 * /*****************************************************************/ 00148000 * /* */ 00149000 * /* CALCULATE THE NUMBER OF DAYS FOR GROUPS OF MONTHS */ 00150000 * /* */ 00151000 * /*****************************************************************/ 00152000 * 0194 00153000 * MON1=JAN; /* JAN FIRST GROUP */ 00154000 @RC00191 LA @15,31 0194 00155000 LR MON1,@15 0194 00156000 * MON2=MON1+FEB; /* 2ND GROUP */ 00157000 LR MON2,MON1 0195 00158000 ALR MON2,FEB 0195 00159000 * MON3=MON2+MAR; /* 3RD GROUP */ 00160000 LR MON3,MON2 0196 00161000 ALR MON3,@15 0196 00162000 * MON4=MON3+APR; /* 4TH GROUP */ 00163000 LA @14,30 0197 00164000 LR MON4,MON3 0197 00165000 ALR MON4,@14 0197 00166000 * MON5=MON4+MAY; /* 5TH GROUP */ 00167000 LR MON5,MON4 0198 00168000 ALR MON5,@15 0198 00169000 * MON6=MON5+JUN; /* 6TH GROUP */ 00170000 LR MON6,MON5 0199 00171000 ALR MON6,@14 0199 00172000 * MON7=MON6+JUL; /* 7TH GROUP */ 00173000 LR @01,MON6 0200 00174000 ALR @01,@15 0200 00175000 ST @01,MON7 0200 00176000 * MON8=MON7+AUG; /* 8TH GROUP */ 00177000 ALR @01,@15 0201 00178000 ST @01,MON8 0201 00179000 * MON9=MON8+SEP; /* 9TH GROUP */ 00180000 ALR @01,@14 0202 00181000 ST @01,MON9 0202 00182000 * MON10=MON9+OCT; /* 10TH GROUP */ 00183000 LR @00,@01 0203 00184000 ALR @00,@15 0203 00185000 ST @00,MON10 0203 00186000 * MON11=MON10+NOV; /* 11TH GROUP */ 00187000 ALR @14,@00 0204 00188000 ST @14,MON11 0204 00189000 * MON12=MON11+DEC; /* 12TH GROUP */ 00190000 * 0205 00191000 ALR @15,@14 0205 00192000 LR MON12,@15 0205 00193000 * /*****************************************************************/ 00194000 * /* */ 00195000 * /* CALCULATE THE DATE FIRST */ 00196000 * /* */ 00197000 * /*****************************************************************/ 00198000 * 0206 00199000 * IF DAYBIN>MON6 THEN /* IS DAY PAST 6 MONTHS? */ 00200000 CR DAYBIN,MON6 0206 00201000 BNH @RF00206 0206 00202000 * IF DAYBIN>MON9 THEN /* YES, THEN IS DAY PASS 9 0207 00203000 * MONTHS? */ 00204000 CR DAYBIN,@01 0207 00205000 BNH @RF00207 0207 00206000 * IF DAYBIN>MON10 THEN /* YES, IS MONTH GREATER THAN 0208 00207000 * OCT? */ 00208000 CR DAYBIN,@00 0208 00209000 BNH @RF00208 0208 00210000 * IF DAYBIN>MON11 THEN /* YES, MUST BE MONTH OF DEC */ 00211000 CR DAYBIN,@14 0209 00212000 BNH @RF00209 0209 00213000 * DO; /* DECEMBER */ 00214000 * MONTHFLD=MONTH12; /* INDICATE DECEMBER */ 00215000 L @10,@PC00001+8 0211 00216000 MVC MONTHFLD(2,@10),MONTH12 0211 00217000 * PACKFLD=DAYBIN-MON11; /* GET THE NUMBER OF DAYS */ 00218000 LCR @14,@14 0212 00219000 ALR @14,DAYBIN 0212 00220000 LR PACKFLD,@14 0212 00221000 * CALL UNPACKIT; /* UNPACK THE FIELD */ 00222000 BAL @14,UNPACKIT 0213 00223000 * DAYCHAR=UNPKCHAR; /* UNPACK FIELD INTO PARAMETER */ 00224000 L @10,@PC00001+8 0214 00225000 MVC DAYCHAR(2,@10),UNPKCHAR 0214 00226000 * END; /* END OF DEC */ 00227000 * ELSE /* NO MUST BE NOVEMBER */ 00228000 * DO; /* NOVEMBER */ 00229000 B @RC00209 0216 00230000 @RF00209 DS 0H 0217 00231000 * MONTHFLD=MONTH11; /* INDICATE NOVEMBER */ 00232000 L @10,@PC00001+8 0217 00233000 MVC MONTHFLD(2,@10),MONTH11 0217 00234000 * PACKFLD=DAYBIN-MON10; /* GET NUMBER OF DAYS */ 00235000 LR PACKFLD,DAYBIN 0218 00236000 SL PACKFLD,MON10 0218 00237000 * CALL UNPACKIT; /* UNPACK THE FIELD */ 00238000 BAL @14,UNPACKIT 0219 00239000 * DAYCHAR=UNPKCHAR; /* UNPACKED FIELD TO PARAMETER */ 00240000 L @10,@PC00001+8 0220 00241000 MVC DAYCHAR(2,@10),UNPKCHAR 0220 00242000 * END; /* END OF NOV */ 00243000 * ELSE /* NO MUST BE OCTOBER */ 00244000 * DO; /* OCTOBER */ 00245000 B @RC00208 0222 00246000 @RF00208 DS 0H 0223 00247000 * MONTHFLD=MONTH10; /* INDICATE OCTOBER */ 00248000 L @10,@PC00001+8 0223 00249000 MVC MONTHFLD(2,@10),MONTH10 0223 00250000 * PACKFLD=DAYBIN-MON9; /* GET NUMBER OF DAYS */ 00251000 LR PACKFLD,DAYBIN 0224 00252000 SL PACKFLD,MON9 0224 00253000 * CALL UNPACKIT; /* UNPACK THE FIELD */ 00254000 BAL @14,UNPACKIT 0225 00255000 * DAYCHAR=UNPKCHAR; /* UNPACKED FIELD TO PARAMETER */ 00256000 L @10,@PC00001+8 0226 00257000 MVC DAYCHAR(2,@10),UNPKCHAR 0226 00258000 * END; /* END OF OCT */ 00259000 * ELSE /* LESS THAN 9 BUT GREATER THAN 6*/ 00260000 * IF DAYBIN>MON7 THEN /* YES, IS MONTH GREATER THAN 0228 00261000 * JUL? */ 00262000 B @RC00207 0228 00263000 @RF00207 C DAYBIN,MON7 0228 00264000 BNH @RF00228 0228 00265000 * IF DAYBIN>MON8 THEN /* YES, GREATER THAN AUG */ 00266000 L @10,MON8 0229 00267000 CR DAYBIN,@10 0229 00268000 BNH @RF00229 0229 00269000 * DO; /* YES, MUST BE SEPTEMBER */ 00270000 * MONTHFLD=MONTH9; /* INDICATE DECEMBER */ 00271000 L @08,@PC00001+8 0231 00272000 MVC MONTHFLD(2,@08),MONTH9 0231 00273000 * PACKFLD=DAYBIN-MON8; /* GET THE NUMBER OF DAYS */ 00274000 LCR @10,@10 0232 00275000 ALR @10,DAYBIN 0232 00276000 LR PACKFLD,@10 0232 00277000 * CALL UNPACKIT; /* UNPACK THE FIELD */ 00278000 BAL @14,UNPACKIT 0233 00279000 * DAYCHAR=UNPKCHAR; /* UNPACK FIELD INTO PARAMETER */ 00280000 L @10,@PC00001+8 0234 00281000 MVC DAYCHAR(2,@10),UNPKCHAR 0234 00282000 * END; /* END OF SEP */ 00283000 * ELSE /* NO MUST BE AUGUST */ 00284000 * DO; /* AUGUST */ 00285000 B @RC00229 0236 00286000 @RF00229 DS 0H 0237 00287000 * MONTHFLD=MONTH8; /* INDICATE NOVEMBER */ 00288000 L @10,@PC00001+8 0237 00289000 MVC MONTHFLD(2,@10),MONTH8 0237 00290000 * PACKFLD=DAYBIN-MON7; /* GET NUMBER OF DAYS */ 00291000 LR PACKFLD,DAYBIN 0238 00292000 SL PACKFLD,MON7 0238 00293000 * CALL UNPACKIT; /* UNPACK THE FIELD */ 00294000 BAL @14,UNPACKIT 0239 00295000 * DAYCHAR=UNPKCHAR; /* UNPACKED FIELD TO PARAMETER */ 00296000 L @10,@PC00001+8 0240 00297000 MVC DAYCHAR(2,@10),UNPKCHAR 0240 00298000 * END; /* END OF AUG */ 00299000 * ELSE /* NO MUST BE JULY */ 00300000 * DO; /* JULY */ 00301000 B @RC00228 0242 00302000 @RF00228 DS 0H 0243 00303000 * MONTHFLD=MONTH7; /* INDICATE JULY */ 00304000 L @08,@PC00001+8 0243 00305000 MVC MONTHFLD(2,@08),MONTH7 0243 00306000 * PACKFLD=DAYBIN-MON6; /* GET NUMBER OF DAYS */ 00307000 LR PACKFLD,DAYBIN 0244 00308000 SLR PACKFLD,MON6 0244 00309000 * CALL UNPACKIT; /* UNPACK THE FIELD */ 00310000 BAL @14,UNPACKIT 0245 00311000 * DAYCHAR=UNPKCHAR; /* UNPACKED FIELD TO PARAMETER */ 00312000 L @10,@PC00001+8 0246 00313000 MVC DAYCHAR(2,@10),UNPKCHAR 0246 00314000 * END; /* END OF JULY */ 00315000 * ELSE /* FIELD IS IN THE FIRST 6 MONTHS*/ 00316000 * IF DAYBIN>MON3 THEN /* YES, THEN IS DAY PASS 3 0248 00317000 * MONTHS? */ 00318000 B @RC00206 0248 00319000 @RF00206 CR DAYBIN,MON3 0248 00320000 BNH @RF00248 0248 00321000 * IF DAYBIN>MON4 THEN /* YES, IS MONTH GREATER THAN 0249 00322000 * APR? */ 00323000 CR DAYBIN,MON4 0249 00324000 BNH @RF00249 0249 00325000 * IF DAYBIN>MON5 THEN /* YES, IS MONTH GREATER THAN 0250 00326000 * MAY? */ 00327000 CR DAYBIN,MON5 0250 00328000 BNH @RF00250 0250 00329000 * DO; /* YES, MUST BE JUNE */ 00330000 * MONTHFLD=MONTH6; /* INDICATE JUNE */ 00331000 L @10,@PC00001+8 0252 00332000 MVC MONTHFLD(2,@10),MONTH6 0252 00333000 * PACKFLD=DAYBIN-MON5; /* GET THE NUMBER OF DAYS */ 00334000 LR PACKFLD,DAYBIN 0253 00335000 SLR PACKFLD,MON5 0253 00336000 * CALL UNPACKIT; /* UNPACK THE FIELD */ 00337000 BAL @14,UNPACKIT 0254 00338000 * DAYCHAR=UNPKCHAR; /* UNPACK FIELD INTO PARAMETER */ 00339000 L @10,@PC00001+8 0255 00340000 MVC DAYCHAR(2,@10),UNPKCHAR 0255 00341000 * END; /* END OF JUN */ 00342000 * ELSE /* NO MUST BE MAY */ 00343000 * DO; /* MAY */ 00344000 B @RC00250 0257 00345000 @RF00250 DS 0H 0258 00346000 * MONTHFLD=MONTH5; /* INDICATE MAY */ 00347000 L @10,@PC00001+8 0258 00348000 MVC MONTHFLD(2,@10),MONTH5 0258 00349000 * PACKFLD=DAYBIN-MON4; /* GET NUMBER OF DAYS */ 00350000 LR PACKFLD,DAYBIN 0259 00351000 SLR PACKFLD,MON4 0259 00352000 * CALL UNPACKIT; /* UNPACK THE FIELD */ 00353000 BAL @14,UNPACKIT 0260 00354000 * DAYCHAR=UNPKCHAR; /* UNPACKED FIELD TO PARAMETER */ 00355000 L @10,@PC00001+8 0261 00356000 MVC DAYCHAR(2,@10),UNPKCHAR 0261 00357000 * END; /* END OF MAY */ 00358000 * ELSE /* NO MUST BE APRIL */ 00359000 * DO; /* APRIL */ 00360000 B @RC00249 0263 00361000 @RF00249 DS 0H 0264 00362000 * MONTHFLD=MONTH4; /* INDICATE APRIL */ 00363000 L @10,@PC00001+8 0264 00364000 MVC MONTHFLD(2,@10),MONTH4 0264 00365000 * PACKFLD=DAYBIN-MON3; /* GET NUMBER OF DAYS */ 00366000 LR PACKFLD,DAYBIN 0265 00367000 SLR PACKFLD,MON3 0265 00368000 * CALL UNPACKIT; /* UNPACK THE FIELD */ 00369000 BAL @14,UNPACKIT 0266 00370000 * DAYCHAR=UNPKCHAR; /* UNPACKED FIELD TO PARAMETER */ 00371000 L @10,@PC00001+8 0267 00372000 MVC DAYCHAR(2,@10),UNPKCHAR 0267 00373000 * END; /* END OF APR */ 00374000 * ELSE /* LESS THAN 3 BUT GREATER THAN 1*/ 00375000 * IF DAYBIN>MON1 THEN /* YES, IS MONTH GREATER THAN 0269 00376000 * JAN? */ 00377000 B @RC00248 0269 00378000 @RF00248 CR DAYBIN,MON1 0269 00379000 BNH @RF00269 0269 00380000 * IF DAYBIN>MON2 THEN /* YES, GREATER THAN FEB */ 00381000 CR DAYBIN,MON2 0270 00382000 BNH @RF00270 0270 00383000 * DO; /* YES, MUST BE MARCH */ 00384000 * MONTHFLD=MONTH3; /* INDICATE MARCH */ 00385000 L @10,@PC00001+8 0272 00386000 MVC MONTHFLD(2,@10),MONTH3 0272 00387000 * PACKFLD=DAYBIN-MON2; /* GET THE NUMBER OF DAYS */ 00388000 LR PACKFLD,DAYBIN 0273 00389000 SLR PACKFLD,MON2 0273 00390000 * CALL UNPACKIT; /* UNPACK THE FIELD */ 00391000 BAL @14,UNPACKIT 0274 00392000 * DAYCHAR=UNPKCHAR; /* UNPACK FIELD INTO PARAMETER */ 00393000 L @10,@PC00001+8 0275 00394000 MVC DAYCHAR(2,@10),UNPKCHAR 0275 00395000 * END; /* END OF MAR */ 00396000 * ELSE /* NO MUST BE FEBRUARY */ 00397000 * DO; /* FEBRUARY */ 00398000 B @RC00270 0277 00399000 @RF00270 DS 0H 0278 00400000 * MONTHFLD=MONTH2; /* INDICATE FEBRUARY */ 00401000 L @10,@PC00001+8 0278 00402000 MVC MONTHFLD(2,@10),MONTH2 0278 00403000 * PACKFLD=DAYBIN-MON1; /* GET NUMBER OF DAYS */ 00404000 LR PACKFLD,DAYBIN 0279 00405000 SLR PACKFLD,MON1 0279 00406000 * CALL UNPACKIT; /* UNPACK THE FIELD */ 00407000 BAL @14,UNPACKIT 0280 00408000 * DAYCHAR=UNPKCHAR; /* UNPACKED FIELD TO PARAMETER */ 00409000 L @10,@PC00001+8 0281 00410000 MVC DAYCHAR(2,@10),UNPKCHAR 0281 00411000 * END; /* END OF FEB */ 00412000 * ELSE /* NO MUST BE JANUARY */ 00413000 * DO; /* JANUARY */ 00414000 B @RC00269 0283 00415000 @RF00269 DS 0H 0284 00416000 * MONTHFLD=MONTH1; /* INDICATE JULY */ 00417000 L @10,@PC00001+8 0284 00418000 MVC MONTHFLD(2,@10),MONTH1 0284 00419000 * PACKFLD=DAYBIN; /* GET NUMBER OF DAYS */ 00420000 LR PACKFLD,DAYBIN 0285 00421000 * CALL UNPACKIT; /* UNPACK THE FIELD */ 00422000 BAL @14,UNPACKIT 0286 00423000 * DAYCHAR=UNPKCHAR; /* UNPACKED FIELD TO PARAMETER */ 00424000 L @10,@PC00001+8 0287 00425000 MVC DAYCHAR(2,@10),UNPKCHAR 0287 00426000 * END; /* END OF JULY */ 00427000 * RETURN CODE(RETC); /* END OF PROCESSING RETURN TO 0289 00428000 * CALLER */ 00429000 @RC00269 DS 0H 0289 00430000 @RC00248 DS 0H 0289 00431000 @RC00206 L @13,4(,@13) 0289 00432000 L @00,@SIZDATD 0289 00433000 LR @01,@11 0289 00434000 BLSUFRES R,LV=(0),A=(1) 00435000 LR @15,@09 0289 00436000 L @14,12(,@13) 0289 00437000 LM @00,@12,20(@13) 0289 00438000 BR @14 0289 00439000 *UNPACKIT: 0290 00440000 * PROCEDURE; 0290 00441000 UNPACKIT STM @14,@08,12(@13) 0290 00442000 STM @10,@12,60(@13) 0290 00443000 * IF PACKFLD>0|PACKFLD<32 THEN /* CHECK TO SEE THAT DAY IS 0291 00444000 * CORRECT */ 00445000 LTR PACKFLD,PACKFLD 0291 00446000 BP @RT00291 0291 00447000 C PACKFLD,@CF00065 0291 00448000 BNL @RF00291 0291 00449000 @RT00291 DS 0H 0292 00450000 * DO; /* PROCESS DAY */ 00451000 * CVD(PACKFLD,TEMPDAY); /* CONVERT TO DECIMAL */ 00452000 CVD PACKFLD,@TS00001 0293 00453000 MVC TEMPDAY(4),@TS00001+4 0293 00454000 * PACKDAY=TEMPDAY(3:4); /* ONLY INCLUDE THE GOOD DATA */ 00455000 MVC PACKDAY(2),TEMPDAY+2 0294 00456000 * UNPK(UNPKDAY,PACKDAY); /* UNPACK THE INFO */ 00457000 UNPK UNPKDAY(3),PACKDAY(2) 0295 00458000 * UNPKDAY(3:3)=UNPKDAY(3:3)|ZEROCHAR(1:1);/* NUMERIC IN LAST 0296 00459000 * POSIT */ 00460000 OC UNPKDAY+2(1),ZEROCHAR 0296 00461000 * UNPKCHAR=UNPKDAY(2:3); /* MOVE IN DAY FIELD */ 00462000 MVC UNPKCHAR(2),UNPKDAY+1 0297 00463000 * END; /* END OF DAY UNPACKING */ 00464000 * ELSE /* DATE NOT BETWEEN 1 AND 31 MUST 00465000 * BE ERROR */ 00466000 * DO; /* ERROR FOUND IN DATE */ 00467000 B @RC00291 0299 00468000 @RF00291 DS 0H 0300 00469000 * UNPKCHAR=ZEROCHAR; /* FILL IN THE FIELD */ 00470000 MVC UNPKCHAR(2),ZEROCHAR 0300 00471000 * RETC=4; /* INDICATE DAY FIELD IS BAD */ 00472000 LA RETC,4 0301 00473000 * END; /* END OF ERROR IN DATE */ 00474000 * END UNPACKIT; /* END OF DAY PROCESSING */ 00475000 @EL00002 DS 0H 0303 00476000 @EF00002 DS 0H 0303 00477000 @ER00002 LM @14,@08,12(@13) 0303 00478000 LM @10,@12,60(@13) 0303 00479000 BR @14 0303 00480000 *ERROR: 0304 00481000 * ; /* ERROR PROC FOR TIME MACRO */ 00482000 ERROR DS 0H 0305 00483000 * RETC=12; /* INDICATE AN ERROR CONDITION */ 00484000 LA RETC,12 0305 00485000 * RETURN CODE(RETC); /* RETURN TO CALLER WITH ERROR */ 00486000 L @13,4(,@13) 0306 00487000 L @00,@SIZDATD 0306 00488000 LR @01,@11 0306 00489000 BLSUFRES R,LV=(0),A=(1) 00490000 LR @15,@09 0306 00491000 L @14,12(,@13) 0306 00492000 LM @00,@12,20(@13) 0306 00493000 BR @14 0306 00494000 */*BLSUPEND--MVS IPCS MODULE */ 00495000 * 0307 00496000 * DECLARE /* GENERAL PURPOSE REGISTERS */ 00497000 * GPR01F FIXED(31) REG(1), 0307 00498000 * GPR15F FIXED(31) REG(15), 0307 00499000 * GPR00P PTR(31) REG(0); 0307 00500000 * DECLARE /* COMMON VARIABLES */ 00501000 * I256C CHAR(256) BASED, 0308 00502000 * I031F FIXED(31) BASED, 0308 00503000 * I031P PTR(31) BASED, 0308 00504000 * I015F FIXED(15) BASED, 0308 00505000 * I015P PTR(15) BASED, 0308 00506000 * I008P PTR(8) BASED, 0308 00507000 * I001C CHAR(1) BASED; 0308 00508000 * GENERATE NODEFS NOREFS DATA; 0309 00509000 * END /* BLRPEND END OF PROCESSING */ 00510000 * 0310 00511000 */* THE FOLLOWING INCLUDE STATEMENTS WERE FOUND IN THIS PROGRAM. */ 00512000 */*%INCLUDE SYSLIB (BLSUZZZ ) */ 00513000 */*%INCLUDE SYSLIB (BLRFULL ) */ 00514000 */*%INCLUDE SYSLIB (IKJCPPL ) */ 00515000 */*%INCLUDE SYSLIB (IKJPSCB ) */ 00516000 */*%INCLUDE SYSLIB (IKJECT ) */ 00517000 */*%INCLUDE SYSLIB (IKJUPT ) */ 00518000 */*%INCLUDE SYSLIB (BLSUSERV) */ 00519000 */*%INCLUDE SYSLIB (BLRSERV ) */ 00520000 */*%INCLUDE SYSLIB (BLRSERVD) */ 00521000 */*%INCLUDE SYSLIB (BLSDSERV) */ 00522000 * 0310 00523000 * ; 0310 00524000 @EL00001 L @13,4(,@13) 0310 00525000 @EF00001 L @00,@SIZDATD 0310 00526000 LR @01,@11 0310 00527000 BLSUFRES R,LV=(0),A=(1) 00528000 @ER00001 LM @14,@12,12(@13) 0310 00529000 BR @14 0310 00530000 @DATA DS 0H 00531000 @DATD DSECT 00532000 DS 0F 00533000 @SA00001 DS 18F 00534000 @PC00001 DS 3F 00535000 BLSDTIME CSECT 00536000 DS 0F 00537000 @CF00043 DC F'4' 00538000 @CF00065 DC F'32' 00539000 @DATD DSECT 00540000 DS 0D 00541000 MON7 DS F 00542000 MON8 DS F 00543000 MON9 DS F 00544000 MON10 DS F 00545000 MON11 DS F 00546000 DS 0D 00547000 @TS00001 DS CL8 00548000 UNPKCHAR DS CL2 00549000 TEMPDAY DS CL4 00550000 UNPKDAY DS CL3 00551000 PACKDAY DS CL2 00552000 DS CL1 00553000 TEMPFLD DS CL15 00554000 ORG TEMPFLD 00555000 HOUR DS CL2 00556000 MINUTE DS CL2 00557000 SECOND DS CL2 00558000 @NM00069 DS CL2 00559000 @NM00070 DS CL2 00560000 YEAR DS CL2 00561000 DAY DS CL3 00562000 ORG TEMPFLD+15 00563000 DS CL1 00564000 TIMEDATE DS CL8 00565000 ORG TIMEDATE 00566000 TIMEFLD DS CL4 00567000 ORG TIMEFLD 00568000 HR DS CL1 00569000 MIN DS CL1 00570000 SEC DS CL1 00571000 @NM00071 DS CL1 00572000 ORG TIMEDATE+4 00573000 DATEFLD DS CL4 00574000 ORG DATEFLD 00575000 @NM00072 DS CL1 00576000 YR DS CL1 00577000 DY DS CL2 00578000 ORG TIMEDATE+8 00579000 BLSDTIME CSECT 00580000 DS 0F 00581000 @SIZDATD DC AL1(0) 00582000 DC AL3(@ENDDATD-@DATD) 00583000 DS 0D 00584000 ZEROCHAR DC CL2'00' 00585000 MONTH1 DC CL2'01' 00586000 MONTH2 DC CL2'02' 00587000 MONTH3 DC CL2'03' 00588000 MONTH4 DC CL2'04' 00589000 MONTH5 DC CL2'05' 00590000 MONTH6 DC CL2'06' 00591000 MONTH7 DC CL2'07' 00592000 MONTH8 DC CL2'08' 00593000 MONTH9 DC CL2'09' 00594000 MONTH10 DC CL2'10' 00595000 MONTH11 DC CL2'11' 00596000 MONTH12 DC CL2'12' 00597000 @DATD DSECT 00598000 SPACE 2 00599000 *********************************************************************** 00600000 * THE FOLLOWING AREA, BLRPATCH, IS RESERVED FOR PATCH APPLICATION * 00601000 * TO OBTAIN PATCH ROOM IN THE @DATD AUTOMATIC STORAGE AREA, MODIFY * 00602000 * CONSTANT @SIZDATD TO REFLECT THE DESIRED @DATD SIZE * 00603000 *********************************************************************** 00604000 SPACE 00605000 BLSDTIME CSECT 00606000 ORG 00607000 DS 0D 00608000 BLRPATCH DC CL8'ZAPAREA',(((*-BLSDTIME+19)/20+7)/8)CL8'BLSDTIME' 00609000 @DATD DSECT 00610000 SPACE 2 00611000 *********************************************************************** 00612000 * ALIGN END OF DATA ON A DOUBLEWORD BOUNDARY * 00613000 *********************************************************************** 00614000 SPACE 00615000 DS 0D 00616000 @DATD DSECT 00617000 ORG *+1-(*-@DATD)/(*-@DATD) INSURE DSECT DATA 00618000 @ENDDATD EQU * 00619000 BLSDTIME CSECT 00620000 @00 EQU 00 EQUATES FOR REGISTERS 0-15 00621000 @01 EQU 01 00622000 @02 EQU 02 00623000 @03 EQU 03 00624000 @04 EQU 04 00625000 @05 EQU 05 00626000 @06 EQU 06 00627000 @07 EQU 07 00628000 @08 EQU 08 00629000 @09 EQU 09 00630000 @10 EQU 10 00631000 @11 EQU 11 00632000 @12 EQU 12 00633000 @13 EQU 13 00634000 @14 EQU 14 00635000 @15 EQU 15 00636000 DAYBIN EQU @06 00637000 YEARBIN EQU @08 00638000 DATESAVE EQU @07 00639000 PACKFLD EQU @02 00640000 MON12 EQU @02 00641000 MON6 EQU @10 00642000 MON5 EQU @08 00643000 MON4 EQU @07 00644000 MON3 EQU @05 00645000 MON2 EQU @04 00646000 MON1 EQU @03 00647000 FEB EQU @02 00648000 RETC EQU @09 00649000 R0 EQU @00 00650000 R1 EQU @01 00651000 R2 EQU @02 00652000 R3 EQU @03 00653000 R4 EQU @04 00654000 R5 EQU @05 00655000 R9 EQU @09 00656000 RB EQU @11 00657000 RD EQU @13 00658000 RE EQU @14 00659000 RF EQU @15 00660000 GPR00P EQU @00 00661000 GPR01F EQU @01 00662000 GPR15F EQU @15 00663000 RA EQU @10 00664000 RC EQU @12 00665000 R6 EQU @06 00666000 R7 EQU @07 00667000 R8 EQU @08 00668000 ZZ1 EQU 0 00669000 ZZ1ATTN EQU ZZ1+360 00670000 ZZ1EVE EQU ZZ1ATTN+4 00671000 ZZ1F EQU ZZ1+368 00672000 ZZ1N EQU ZZ1+1116 00673000 ZZ2 EQU 0 00674000 ZZ2AMD EQU ZZ2 00675000 @NM00013 EQU ZZ2AMD+7 00676000 ZZ2PRT EQU ZZ2+138 00677000 ZZ2PRTT EQU ZZ2PRT+4 00678000 ZZ2PRTT1 EQU ZZ2PRTT+1 00679000 ZZ2A EQU ZZ2+272 00680000 ZZ2AF EQU ZZ2A+16 00681000 ZZ2APID EQU ZZ2A+64 00682000 ZZ2AD EQU ZZ2A+74 00683000 ZZ2ADD EQU ZZ2AD 00684000 ZZ2ADDT EQU ZZ2ADD+2 00685000 ZZ2ADM EQU ZZ2AD+46 00686000 ZZ2ADMT EQU ZZ2ADM+2 00687000 ZZ2ADP EQU ZZ2AD+56 00688000 ZZ2ADPT EQU ZZ2ADP+2 00689000 ZZ2AQAS EQU ZZ2A+144 00690000 ZZ2AQD EQU ZZ2A+160 00691000 ZZ2AQDT EQU ZZ2AQD+10 00692000 ZZ2AQDF EQU ZZ2AQD+52 00693000 ZZ2STG EQU ZZ2+960 00694000 ZZ2ALLOP EQU ZZ2+992 00695000 ZZ2FREEP EQU ZZ2+996 00696000 ZZ2FF19P EQU ZZ2+1000 00697000 ZZ2FRE1P EQU ZZ2+1004 00698000 ZZ2FF18P EQU ZZ2+1008 00699000 ZZ2DYNAP EQU ZZ2+1012 00700000 ZZ2ZZ2CP EQU ZZ2+1016 00701000 ZZ2ZZ2DP EQU ZZ2+1020 00702000 ZZ2STAIP EQU ZZ2+1024 00703000 ZZ2FF02P EQU ZZ2+1028 00704000 ZZ2GETLP EQU ZZ2+1032 00705000 ZZ2PARSP EQU ZZ2+1036 00706000 ZZ2PTGTP EQU ZZ2+1040 00707000 ZZ2PUTLP EQU ZZ2+1044 00708000 ZZ2SCANP EQU ZZ2+1048 00709000 ZZ2STCKP EQU ZZ2+1052 00710000 ZZ2ALOCP EQU ZZ2+1056 00711000 ZZ2MSGSP EQU ZZ2+1060 00712000 ZZ2TRMOP EQU ZZ2+1064 00713000 ZZ2TRMVP EQU ZZ2+1068 00714000 ZZ2MSG0P EQU ZZ2+1076 00715000 ZZ2PUTNP EQU ZZ2+1084 00716000 ZZ2TRMNP EQU ZZ2+1088 00717000 ZZ2ENQ0P EQU ZZ2+1092 00718000 ZZ2ADSDP EQU ZZ2+1096 00719000 ZZ2APDRP EQU ZZ2+1100 00720000 ZZ2FDSDP EQU ZZ2+1104 00721000 ZZ2FPDRP EQU ZZ2+1108 00722000 ZZ2ZZ1P EQU ZZ2+1264 00723000 ZZ2DVTP EQU ZZ2+1276 00724000 ZZ2BVTP EQU ZZ2+1280 00725000 ZZ2CPPL EQU ZZ2+1292 00726000 ZZ2CPPLC EQU ZZ2CPPL 00727000 ZZ2ITR EQU ZZ2+2840 00728000 ZZ2ITRE EQU ZZ2ITR+16 00729000 ZZ2ITSE EQU ZZ2+2864 00730000 ZZ2ES EQU ZZ2+2872 00731000 ZZ2AMDX EQU ZZ2+7160 00732000 ZZ2AXO EQU ZZ2+7934 00733000 ZZ2AXOT EQU ZZ2AXO+2 00734000 CMD EQU 0 00735000 CMDT EQU CMD+4 00736000 PSCB EQU 0 00737000 PSCBATR1 EQU PSCB+16 00738000 ECT EQU 0 00739000 ECTSWS EQU ECT+28 00740000 ECTSWS2 EQU ECT+40 00741000 ECTSWS21 EQU ECTSWS2 00742000 UPT EQU 0 00743000 UPTSWS EQU UPT+12 00744000 SA EQU 0 00745000 SA1 EQU SA 00746000 SAR EQU SA+12 00747000 BVT EQU 0 00748000 BVTPUTLP EQU BVT+4 00749000 BVTPUTOP EQU BVT+12 00750000 BVTPUTTP EQU BVT+16 00751000 BVTPUTVP EQU BVT+20 00752000 BVTPUTAP EQU BVT+24 00753000 BVTPRTTP EQU BVT+28 00754000 BVTPRTAP EQU BVT+32 00755000 BVTPUTDP EQU BVT+36 00756000 BVTMONP EQU BVT+40 00757000 BVTMON2P EQU BVT+44 00758000 BVTVSARP EQU BVT+48 00759000 BVTVSENP EQU BVT+64 00760000 BVTVSERP EQU BVT+68 00761000 BVTVSGEP EQU BVT+72 00762000 BVTVSGUP EQU BVT+76 00763000 BVTVSPOP EQU BVT+80 00764000 BVTVSPUP EQU BVT+84 00765000 BVTMPKNP EQU BVT+104 00766000 BVTMONLP EQU BVT+108 00767000 BVTPUTCP EQU BVT+132 00768000 BVTMPK1P EQU BVT+136 00769000 BVTZZ2RP EQU BVT+140 00770000 BVTPGMRP EQU BVT+144 00771000 BVTMONAP EQU BVT+148 00772000 BVTBLDDP EQU BVT+152 00773000 BVTBLDLP EQU BVT+156 00774000 BVTPGMCP EQU BVT+160 00775000 BVTPGMDP EQU BVT+164 00776000 BVTPGMLP EQU BVT+168 00777000 BVTMONCP EQU BVT+180 00778000 BVTMONDP EQU BVT+184 00779000 BVTMONTP EQU BVT+188 00780000 BVTPARIP EQU BVT+192 00781000 BVTPARUP EQU BVT+196 00782000 BVTPRTNP EQU BVT+204 00783000 BVTVSCRP EQU BVT+208 00784000 BVTVSMRP EQU BVT+212 00785000 BVTMONXP EQU BVT+216 00786000 BVTTRMAP EQU BVT+228 00787000 DVT EQU 0 00788000 DVTDEQPP EQU DVT+8 00789000 DVTENQPP EQU DVT+12 00790000 DVTAUTHP EQU DVT+20 00791000 DVTLPCLP EQU DVT+24 00792000 DVTBP00P EQU DVT+28 00793000 DVTCN00P EQU DVT+32 00794000 DVTDF00P EQU DVT+36 00795000 DVTDS00P EQU DVT+44 00796000 DVTFL00P EQU DVT+48 00797000 DVTFP00P EQU DVT+52 00798000 DVTGD00P EQU DVT+56 00799000 DVTGG00P EQU DVT+60 00800000 DVTGP00P EQU DVT+64 00801000 DVTND00P EQU DVT+68 00802000 DVTND01P EQU DVT+72 00803000 DVTOD00P EQU DVT+76 00804000 DVTPS00P EQU DVT+80 00805000 DVTSD00P EQU DVT+84 00806000 DVTSL00P EQU DVT+88 00807000 DVTTL00P EQU DVT+92 00808000 DVTUD00P EQU DVT+96 00809000 DVTUP00P EQU DVT+100 00810000 DVTLP00P EQU DVT+104 00811000 DVTLALLP EQU DVT+108 00812000 DVTLPFMP EQU DVT+112 00813000 DVTCLOSP EQU DVT+116 00814000 DVTOPENP EQU DVT+120 00815000 DVTPERAP EQU DVT+124 00816000 DVTDALLP EQU DVT+128 00817000 TIMEPARM EQU 0 00818000 HOURFLD EQU TIMEPARM 00819000 FDOT EQU TIMEPARM+2 00820000 MINCHAR EQU TIMEPARM+3 00821000 SDOT EQU TIMEPARM+5 00822000 SECCHAR EQU TIMEPARM+6 00823000 DATEPARM EQU 0 00824000 MONTHFLD EQU DATEPARM 00825000 FSLASH EQU DATEPARM+2 00826000 DAYCHAR EQU DATEPARM+3 00827000 SSLASH EQU DATEPARM+5 00828000 YEARCHAR EQU DATEPARM+6 00829000 BLSCALOC EQU 0 00830000 BLSDADSD EQU 0 00831000 BLSDAPDR EQU 0 00832000 BLSDDEQP EQU 0 00833000 BLSDENQP EQU 0 00834000 BLSDENQ0 EQU 0 00835000 BLSDFDSD EQU 0 00836000 BLSDFPDR EQU 0 00837000 BLSDMSGS EQU 0 00838000 BLSDMSG0 EQU 0 00839000 BLSEAUTH EQU 0 00840000 BLSELPCL EQU 0 00841000 BLSELPFM EQU 0 00842000 BLSFBP00 EQU 0 00843000 BLSFCLOS EQU 0 00844000 BLSFCN00 EQU 0 00845000 BLSFDALL EQU 0 00846000 BLSFDF00 EQU 0 00847000 BLSFDS00 EQU 0 00848000 BLSFFL00 EQU 0 00849000 BLSFFP00 EQU 0 00850000 BLSFGD00 EQU 0 00851000 BLSFGG00 EQU 0 00852000 BLSFGP00 EQU 0 00853000 BLSFLALL EQU 0 00854000 BLSFLP00 EQU 0 00855000 BLSFND00 EQU 0 00856000 BLSFND01 EQU 0 00857000 BLSFOD00 EQU 0 00858000 BLSFOPEN EQU 0 00859000 BLSFPERA EQU 0 00860000 BLSFPS00 EQU 0 00861000 BLSFSD00 EQU 0 00862000 BLSFSL00 EQU 0 00863000 BLSFTL00 EQU 0 00864000 BLSFUD00 EQU 0 00865000 BLSFUP00 EQU 0 00866000 BLSUALLO EQU 0 00867000 BLSUBLDD EQU 0 00868000 BLSUBLDL EQU 0 00869000 BLSUDYNA EQU 0 00870000 BLSUFREE EQU 0 00871000 BLSUFRE1 EQU 0 00872000 BLSUMON EQU 0 00873000 BLSUMONA EQU 0 00874000 BLSUMONC EQU 0 00875000 BLSUMOND EQU 0 00876000 BLSUMONL EQU 0 00877000 BLSUMONT EQU 0 00878000 BLSUMONX EQU 0 00879000 BLSUMON2 EQU 0 00880000 BLSUMPKN EQU 0 00881000 BLSUMPK1 EQU 0 00882000 BLSUPARI EQU 0 00883000 BLSUPARU EQU 0 00884000 BLSUPGMC EQU 0 00885000 BLSUPGMD EQU 0 00886000 BLSUPGML EQU 0 00887000 BLSUPGMR EQU 0 00888000 BLSUPRTA EQU 0 00889000 BLSUPRTN EQU 0 00890000 BLSUPRTT EQU 0 00891000 BLSUPUTA EQU 0 00892000 BLSUPUTC EQU 0 00893000 BLSUPUTD EQU 0 00894000 BLSUPUTL EQU 0 00895000 BLSUPUTN EQU 0 00896000 BLSUPUTO EQU 0 00897000 BLSUPUTT EQU 0 00898000 BLSUPUTV EQU 0 00899000 BLSUSTAI EQU 0 00900000 BLSUTRMA EQU 0 00901000 BLSUTRMN EQU 0 00902000 BLSUTRMO EQU 0 00903000 BLSUTRMV EQU 0 00904000 BLSUVSAR EQU 0 00905000 BLSUVSCR EQU 0 00906000 BLSUVSEN EQU 0 00907000 BLSUVSER EQU 0 00908000 BLSUVSGE EQU 0 00909000 BLSUVSGU EQU 0 00910000 BLSUVSMR EQU 0 00911000 BLSUVSPO EQU 0 00912000 BLSUVSPU EQU 0 00913000 BLSUZZ2C EQU 0 00914000 BLSUZZ2D EQU 0 00915000 BLSUZZ2R EQU 0 00916000 IKJEFF02 EQU 0 00917000 IKJEFF18 EQU 0 00918000 IKJEFF19 EQU 0 00919000 IKJGETL EQU 0 00920000 IKJPARS EQU 0 00921000 IKJPTGT EQU 0 00922000 IKJPUTL EQU 0 00923000 IKJSCAN EQU 0 00924000 IKJSTCK EQU 0 00925000 I001C EQU 0 00926000 I008P EQU 0 00927000 I015F EQU 0 00928000 I015P EQU 0 00929000 I031F EQU 0 00930000 I031P EQU 0 00931000 I256C EQU 0 00932000 ZZ2CB EQU 0 00933000 TIMECHAR EQU 0 00934000 DATECHAR EQU 0 00935000 CPPL EQU ZZ2CPPL 00936000 CPPLUPT EQU CPPL+4 00937000 CPPLPSCB EQU CPPL+8 00938000 CPPLECT EQU CPPL+12 00939000 * START UNREFERENCED COMPONENTS 00940000 CPPLCBUF EQU CPPL 00941000 DVT99999 EQU DVT+256 00942000 DVT0064P EQU DVT+252 00943000 DVT0063P EQU DVT+248 00944000 DVT0062P EQU DVT+244 00945000 DVT0061P EQU DVT+240 00946000 DVT0060P EQU DVT+236 00947000 DVT0059P EQU DVT+232 00948000 DVT0058P EQU DVT+228 00949000 DVT0057P EQU DVT+224 00950000 DVT0056P EQU DVT+220 00951000 DVT0055P EQU DVT+216 00952000 DVT0054P EQU DVT+212 00953000 DVT0053P EQU DVT+208 00954000 DVT0052P EQU DVT+204 00955000 DVT0051P EQU DVT+200 00956000 DVT0050P EQU DVT+196 00957000 DVT0049P EQU DVT+192 00958000 DVT0048P EQU DVT+188 00959000 DVT0047P EQU DVT+184 00960000 DVT0046P EQU DVT+180 00961000 DVT0045P EQU DVT+176 00962000 DVT0044P EQU DVT+172 00963000 DVT0043P EQU DVT+168 00964000 DVT0042P EQU DVT+164 00965000 DVT0041P EQU DVT+160 00966000 DVT0040P EQU DVT+156 00967000 DVT0039P EQU DVT+152 00968000 DVT0038P EQU DVT+148 00969000 DVT0037P EQU DVT+144 00970000 DVT0036P EQU DVT+140 00971000 DVT0035P EQU DVT+136 00972000 DVT0034P EQU DVT+132 00973000 DVT0011P EQU DVT+40 00974000 DVT0005P EQU DVT+16 00975000 DVT0002P EQU DVT+4 00976000 DVT0001P EQU DVT 00977000 BVT99999 EQU BVT+256 00978000 BVT0064P EQU BVT+252 00979000 BVT0063P EQU BVT+248 00980000 BVT0062P EQU BVT+244 00981000 BVT0061P EQU BVT+240 00982000 BVT0060P EQU BVT+236 00983000 BVT0059P EQU BVT+232 00984000 BVT0057P EQU BVT+224 00985000 BVT0056P EQU BVT+220 00986000 BVTSTBLP EQU BVT+200 00987000 BVT0045P EQU BVT+176 00988000 BVT0044P EQU BVT+172 00989000 BVT0033P EQU BVT+128 00990000 BVT0032P EQU BVT+124 00991000 BVT0031P EQU BVT+120 00992000 BVT0030P EQU BVT+116 00993000 BVT0029P EQU BVT+112 00994000 BVT0026P EQU BVT+100 00995000 BVT0025P EQU BVT+96 00996000 BVT0024P EQU BVT+92 00997000 BVT0023P EQU BVT+88 00998000 BVT0016P EQU BVT+60 00999000 BVT0015P EQU BVT+56 01000000 BVT0014P EQU BVT+52 01001000 BVT0003P EQU BVT+8 01002000 BVT0001P EQU BVT 01003000 SA99 EQU SA+72 01004000 SARC EQU SAR+56 01005000 SARB EQU SAR+52 01006000 SARA EQU SAR+48 01007000 SAR9 EQU SAR+44 01008000 SAR8 EQU SAR+40 01009000 SAR7 EQU SAR+36 01010000 SAR6 EQU SAR+32 01011000 SAR5 EQU SAR+28 01012000 SAR4 EQU SAR+24 01013000 SAR3 EQU SAR+20 01014000 SAR2 EQU SAR+16 01015000 SAR1 EQU SAR+12 01016000 SAR0 EQU SAR+8 01017000 SARF EQU SAR+4 01018000 SARE EQU SAR 01019000 SAFWD EQU SA+8 01020000 SABAK EQU SA+4 01021000 SA1L EQU SA1+1 01022000 SA1P EQU SA1 01023000 UPTPREFL EQU UPT+23 01024000 UPTPREFX EQU UPT+16 01025000 @NM00068 EQU UPT+15 01026000 UPTLDEL EQU UPT+14 01027000 UPTCDEL EQU UPT+13 01028000 UPTWTP EQU UPTSWS 01029000 UPTMODE EQU UPTSWS 01030000 UPTALD EQU UPTSWS 01031000 UPTPAUS EQU UPTSWS 01032000 UPTNCOM EQU UPTSWS 01033000 UPTMID EQU UPTSWS 01034000 UPTNPRM EQU UPTSWS 01035000 UPTRCVR EQU UPTSWS 01036000 UPTUSER EQU UPT+2 01037000 @NM00067 EQU UPT 01038000 @NM00066 EQU ECT+52 01039000 @NM00065 EQU ECT+48 01040000 @NM00064 EQU ECT+44 01041000 @NM00063 EQU ECTSWS2+1 01042000 @NM00062 EQU ECTSWS21 01043000 ECTTABND EQU ECTSWS21 01044000 ECTDEFCS EQU ECTSWS21 01045000 ECTBKPB EQU ECT+36 01046000 ECTUSER EQU ECT+32 01047000 ECTDDNUM EQU ECT+29 01048000 ECTATTN EQU ECTSWS 01049000 ECTBKGRD EQU ECTSWS 01050000 ECTNNOT EQU ECTSWS 01051000 ECTNMAL EQU ECTSWS 01052000 ECTLOGF EQU ECTSWS 01053000 ECTATRM EQU ECTSWS 01054000 @NM00061 EQU ECTSWS 01055000 ECTNOPD EQU ECTSWS 01056000 ECTSCMD EQU ECT+20 01057000 ECTPCMD EQU ECT+12 01058000 ECTSMSG EQU ECT+9 01059000 ECTMSGF EQU ECT+8 01060000 ECTIOWA EQU ECT+4 01061000 ECTRTCD EQU ECT+1 01062000 ECTRCDF EQU ECT 01063000 PSCBU EQU PSCB+64 01064000 PSCBRSZ EQU PSCB+60 01065000 PSCBLINE EQU PSCB+59 01066000 PSCBCHAR EQU PSCB+58 01067000 PSCBUPTL EQU PSCB+56 01068000 PSCBUPT EQU PSCB+52 01069000 PSCBRLGB EQU PSCB+48 01070000 PSCBDEST EQU PSCB+40 01071000 @NM00060 EQU PSCB+36 01072000 @NM00059 EQU PSCB+32 01073000 @NM00058 EQU PSCB+28 01074000 PSCBLTI2 EQU PSCB+24 01075000 PSCBLTIM EQU PSCB+20 01076000 PSCBATR2 EQU PSCB+18 01077000 @NM00057 EQU PSCBATR1 01078000 @NM00056 EQU PSCBATR1 01079000 @NM00055 EQU PSCBATR1 01080000 PSCBATTN EQU PSCBATR1 01081000 PSCBVMNT EQU PSCBATR1 01082000 PSCBJCL EQU PSCBATR1 01083000 PSCBACCT EQU PSCBATR1 01084000 PSCBCTRL EQU PSCBATR1 01085000 PSCBGPNM EQU PSCB+8 01086000 PSCBUSRL EQU PSCB+7 01087000 PSCBUSER EQU PSCB 01088000 CMDT1 EQU CMDT 01089000 CMDO EQU CMD+2 01090000 CMDL EQU CMD 01091000 ZZ299999 EQU ZZ2+8192 01092000 ZZ2AXOT1 EQU ZZ2AXOT 01093000 ZZ2AXOL EQU ZZ2AXO 01094000 @NM00054 EQU ZZ2+7288 01095000 @NM00053 EQU ZZ2AMDX+4 01096000 ZZ2AMDXC EQU ZZ2AMDX 01097000 ZZ2HSD EQU ZZ2+3056 01098000 @NM00052 EQU ZZ2ES 01099000 @NM00051 EQU ZZ2+2868 01100000 ZZ2ITSEC EQU ZZ2ITSE+1 01101000 @NM00050 EQU ZZ2ITSE 01102000 ZZ2ITSEP EQU ZZ2ITSE 01103000 ZZ2ITSEW EQU ZZ2ITSE 01104000 @NM00049 EQU ZZ2ITR+20 01105000 ZZ2ITREC EQU ZZ2ITRE+1 01106000 @NM00048 EQU ZZ2ITRE 01107000 ZZ2ITREP EQU ZZ2ITRE 01108000 ZZ2ITREW EQU ZZ2ITRE 01109000 @NM00047 EQU ZZ2ITR+9 01110000 ZZ2ITRRC EQU ZZ2ITR+8 01111000 ZZ2ITR2P EQU ZZ2ITR+4 01112000 ZZ2ITRPP EQU ZZ2ITR 01113000 @NM00046 EQU ZZ2+1544 01114000 ZZ2PGM EQU ZZ2+1536 01115000 @NM00045 EQU ZZ2+1526 01116000 ZZ2CW EQU ZZ2+1524 01117000 @NM00044 EQU ZZ2+1504 01118000 @NM00043 EQU ZZ2+1352 01119000 ZZ2FFSYP EQU ZZ2+1348 01120000 ZZ2SASYP EQU ZZ2+1344 01121000 ZZ2RDSYP EQU ZZ2+1340 01122000 ZZ2RASYP EQU ZZ2+1336 01123000 ZZ2PHSYP EQU ZZ2+1332 01124000 ZZ2ESSYP EQU ZZ2+1328 01125000 ZZ200SYP EQU ZZ2+1324 01126000 ZZ2SCWP EQU ZZ2+1320 01127000 ZZ2TTLP EQU ZZ2+1316 01128000 ZZ2LOADP EQU ZZ2+1312 01129000 ZZ2VRESP EQU ZZ2+1308 01130000 ZZ2CPPLE EQU ZZ2CPPL+12 01131000 ZZ2CPPLP EQU ZZ2CPPL+8 01132000 ZZ2CPPLU EQU ZZ2CPPL+4 01133000 ZZ2VRSAP EQU ZZ2+1288 01134000 ZZ2RVTP EQU ZZ2+1284 01135000 @NM00042 EQU ZZ2+1272 01136000 @NM00041 EQU ZZ2+1268 01137000 ZZ2RPLP EQU ZZ2+1260 01138000 ZZ2TCBP EQU ZZ2+1256 01139000 @NM00040 EQU ZZ2+1252 01140000 ZZ2ZZ2P EQU ZZ2+1248 01141000 @NM00039 EQU ZZ2+1112 01142000 @NM00038 EQU ZZ2+1080 01143000 ZZ2FT25P EQU ZZ2+1072 01144000 @NM00037 EQU ZZ2+976 01145000 ZZ2TOD EQU ZZ2+968 01146000 ZZ2STGN EQU ZZ2STG+4 01147000 ZZ2STGP EQU ZZ2STG 01148000 @NM00036 EQU ZZ2+952 01149000 ZZ2SCMDE EQU ZZ2+944 01150000 ZZ2SCMDN EQU ZZ2+936 01151000 ZZ2IDENT EQU ZZ2+928 01152000 ZZ2A9999 EQU ZZ2A+656 01153000 @NM00035 EQU ZZ2A+224 01154000 @NM00034 EQU ZZ2A+220 01155000 ZZ2AQD99 EQU ZZ2AQD+60 01156000 @NM00033 EQU ZZ2AQD+56 01157000 @NM00032 EQU ZZ2AQDF 01158000 ZZ2AQDFA EQU ZZ2AQDF 01159000 ZZ2AQDIL EQU ZZ2AQD+48 01160000 ZZ2AQDIM EQU ZZ2AQD+44 01161000 ZZ2AQDT9 EQU ZZ2AQDT+34 01162000 ZZ2AQDTE EQU ZZ2AQDT+33 01163000 ZZ2AQDTD EQU ZZ2AQDT+2 01164000 @NM00031 EQU ZZ2AQDT+1 01165000 ZZ2AQDTY EQU ZZ2AQDT 01166000 ZZ2AQDT0 EQU ZZ2AQDT 01167000 ZZ2AQDLB EQU ZZ2AQD+9 01168000 ZZ2AQDOB EQU ZZ2AQD+8 01169000 ZZ2AQDLE EQU ZZ2AQD+4 01170000 ZZ2AQDOF EQU ZZ2AQD 01171000 ZZ2AQD00 EQU ZZ2AQD 01172000 ZZ2AQAS9 EQU ZZ2AQAS+16 01173000 @NM00030 EQU ZZ2AQAS+12 01174000 ZZ2AQAS2 EQU ZZ2AQAS+8 01175000 ZZ2AQAS1 EQU ZZ2AQAS+4 01176000 @NM00029 EQU ZZ2AQAS+2 01177000 ZZ2AQAST EQU ZZ2AQAS 01178000 ZZ2AQAS0 EQU ZZ2AQAS 01179000 ZZ2AZZ6P EQU ZZ2A+140 01180000 ZZ2ADPTA EQU ZZ2ADPT 01181000 ZZ2ADPL EQU ZZ2ADP 01182000 ZZ2ADMTA EQU ZZ2ADMT 01183000 ZZ2ADML EQU ZZ2ADM 01184000 ZZ2ADDTA EQU ZZ2ADDT 01185000 ZZ2ADDL EQU ZZ2ADD 01186000 @NM00028 EQU ZZ2A+72 01187000 ZZ2APIDB EQU ZZ2APID+3 01188000 ZZ2APIDA EQU ZZ2APID 01189000 @NM00027 EQU ZZ2A+24 01190000 @NM00026 EQU ZZ2AF+5 01191000 ZZ2AFX EQU ZZ2AF+5 01192000 @NM00025 EQU ZZ2AF+3 01193000 ZZ2AFS EQU ZZ2AF+2 01194000 ZZ2AFD EQU ZZ2AF+2 01195000 ZZ2AFQ EQU ZZ2AF+2 01196000 ZZ2AF$ EQU ZZ2AF+2 01197000 @NM00024 EQU ZZ2AF+2 01198000 ZZ2AFM EQU ZZ2AF+2 01199000 @NM00023 EQU ZZ2AF+2 01200000 @NM00022 EQU ZZ2AF+1 01201000 ZZ2AFV EQU ZZ2AF+1 01202000 @NM00021 EQU ZZ2AF+1 01203000 ZZ2AFC EQU ZZ2AF+1 01204000 @NM00020 EQU ZZ2AF 01205000 ZZ2AFFS EQU ZZ2AF 01206000 ZZ2AFT EQU ZZ2AF 01207000 ZZ2AFP EQU ZZ2AF 01208000 @NM00019 EQU ZZ2A+8 01209000 ZZ2ALINE EQU ZZ2A+4 01210000 @NM00018 EQU ZZ2A+3 01211000 ZZ2ASE EQU ZZ2A+2 01212000 ZZ2ACH EQU ZZ2A 01213000 @NM00017 EQU ZZ2+264 01214000 @NM00016 EQU ZZ2+263 01215000 ZZ2PRTT0 EQU ZZ2PRTT 01216000 ZZ2PRTO EQU ZZ2PRT+2 01217000 ZZ2PRTL EQU ZZ2PRT 01218000 @NM00015 EQU ZZ2AMD+56 01219000 ZZ2AMDXP EQU ZZ2AMD+52 01220000 ZZ2AMDD EQU ZZ2AMD+48 01221000 ZZ2AMDL EQU ZZ2AMD+44 01222000 ZZ2AMDU EQU ZZ2AMD+28 01223000 ZZ2AMDF EQU ZZ2AMD+24 01224000 ZZ2AMDS EQU ZZ2AMD+20 01225000 ZZ2AMDC EQU ZZ2AMD+16 01226000 ZZ2AMDP EQU ZZ2AMD+12 01227000 ZZ2AMDB EQU ZZ2AMD+8 01228000 @NM00014 EQU @NM00013 01229000 ZZ2AMD2 EQU @NM00013 01230000 ZZ2AMD1 EQU @NM00013 01231000 ZZ2AMD0 EQU ZZ2AMD+6 01232000 ZZ2AMDA EQU ZZ2AMD+4 01233000 ZZ2AMDT EQU ZZ2AMD 01234000 ZZ199999 EQU ZZ1+3072 01235000 @NM00012 EQU ZZ1+2160 01236000 ZZ1TRTAS EQU ZZ1+1904 01237000 ZZ1TRUPC EQU ZZ1+1648 01238000 ZZ1TRCTX EQU ZZ1+1392 01239000 ZZ1NASID EQU ZZ1N+274 01240000 ZZ1NSTRL EQU ZZ1N+272 01241000 ZZ1NOFF EQU ZZ1N+268 01242000 ZZ1NBDY EQU ZZ1N+264 01243000 ZZ1NADE EQU ZZ1N+260 01244000 ZZ1NADB EQU ZZ1N+256 01245000 ZZ1NSTR EQU ZZ1N 01246000 @NM00011 EQU ZZ1+1080 01247000 ZZ1TREBC EQU ZZ1+824 01248000 ZZ1TRHEX EQU ZZ1+568 01249000 @NM00010 EQU ZZ1+377 01250000 ZZ1USTAE EQU ZZ1+376 01251000 @NM00009 EQU ZZ1F+1 01252000 @NM00008 EQU ZZ1F 01253000 ZZ1FM EQU ZZ1F 01254000 ZZ1FX EQU ZZ1F 01255000 ZZ1FU EQU ZZ1F 01256000 ZZ1EVEC EQU ZZ1EVE+1 01257000 @NM00007 EQU ZZ1EVE 01258000 ZZ1EVEP EQU ZZ1EVE 01259000 ZZ1EVEW EQU ZZ1EVE 01260000 ZZ1ACMP EQU ZZ1ATTN 01261000 @NM00006 EQU ZZ1+144 01262000 ZZ1FPP EQU ZZ1+140 01263000 ZZ1ZZ6P EQU ZZ1+136 01264000 @NM00005 EQU ZZ1+84 01265000 ZZ1PLINE EQU ZZ1+80 01266000 ZZ1PGSZ EQU ZZ1+76 01267000 ZZ1PCNT EQU ZZ1+72 01268000 @NM00004 EQU ZZ1+68 01269000 ZZ1TPAGE EQU ZZ1+64 01270000 ZZ1TLINE EQU ZZ1+60 01271000 @NM00003 EQU ZZ1+52 01272000 ZZ1DMCBP EQU ZZ1+48 01273000 ZZ1DSDP EQU ZZ1+44 01274000 ZZ1PDRP EQU ZZ1+40 01275000 ZZ1ZZ2P EQU ZZ1+36 01276000 ZZ1327WP EQU ZZ1+32 01277000 ZZ1ACBP EQU ZZ1+28 01278000 @NM00002 EQU ZZ1+24 01279000 ZZ1PDCBP EQU ZZ1+20 01280000 ZZ1BLRBL EQU ZZ1+16 01281000 @NM00001 EQU ZZ1+12 01282000 ZZ1PNULL EQU ZZ1+8 01283000 ZZ1NULL EQU ZZ1+4 01284000 ZZ1IDE EQU ZZ1 01285000 * END UNREFERENCED COMPONENTS 01286000 @RT00172 EQU ERROR 01287000 @RC00228 EQU @RC00206 01288000 @RC00207 EQU @RC00206 01289000 @RC00249 EQU @RC00248 01290000 @RC00270 EQU @RC00269 01291000 @RC00291 EQU @EL00002 01292000 @RC00208 EQU @RC00207 01293000 @RC00229 EQU @RC00228 01294000 @RC00250 EQU @RC00249 01295000 @RC00209 EQU @RC00208 01296000 @ENDDATA EQU * 01297000 END BLSDTIME,(C'PLS2111',0701,78062) 01298000