*%/* 01060002 * /* MACCOMP Y-1 SC1C5/PZD81 */ 01070002 * /* MACSTAT Y-1 72277 */ 01100002 * /* 01110002 MACRO 01150002 &LABEL TTIMER &CANCEL,&UNIT,&ADDR,&ERRET= 02000002 * /* MACDATE Y-1 72277 */ 02050002 * /* 02100002 LCLB &B(5) 03000002 LCLA &SUM 04000002 &B(1) SETB ('&CANCEL' EQ '') 05000002 &B(2) SETB ('&CANCEL' EQ 'CANCEL') 06000002 &B(3) SETB ('&UNIT' EQ 'TU') 07000002 &B(4) SETB ('&UNIT' EQ 'MIC') 08000002 &B(5) SETB ('&UNIT' EQ '') 09000002 AIF (&B(1)+&B(2) NE 1).ERRCAN 10000002 AIF (&B(3)+&B(4)+&B(5) NE 1).E1 11000002 AIF (&B(3) OR &B(5)).TU 12000002 AIF ('&ADDR' EQ '').E3 13000002 AGO .ADR 14000002 .TU AIF ('&ADDR' NE '').E2 15000002 AGO .TTI 16000002 .ADR AIF ('&ADDR'(1,1) EQ '(').REG 17000002 &LABEL LA 0,&ADDR 18000002 AGO .TTIM 19000002 .REG AIF ('&ADDR' EQ '(0)').TTI 20000002 &LABEL LR 0,&ADDR(1) 21000002 AGO .TTIM 22000002 .TTI AIF ('&ERRET' EQ '').TUT 23000002 &SUM SETA 4 RETURN CODE FLAG 24000002 .TUT AIF (&B(1)+&B(3)+&B(5) EQ 2).ZERO 25000002 &SUM SETA &SUM+&B(2)+2*&B(4) 26000002 .LC ANOP 27000002 &LABEL LA 1,&SUM.(0,0) LOAD 1 TO SET FLAG BYTE 28000002 AGO .ISVC 20272 29000002 .ZERO AIF (&SUM NE 0).LC 30000002 &LABEL SR 1,1 INDICATE NOT CANCELLED,TU 31000002 AGO .ISVC 32000002 .TTIM AIF ('&ERRET' EQ '').MIC 33000002 &SUM SETA 4 RETURN CODE FLAG 34000002 .MIC ANOP 35000002 &SUM SETA &SUM+&B(2)+2*&B(4) 36000002 LA 1,&SUM.(0,0) LOAD 1 TO SET FLAG BYTE 37000002 .ISVC SVC 46 ISSUE TTIMER 38000002 AIF ('&ERRET' EQ '').DONE 39000002 LTR 15,15 ANY RETURN CODE 40000002 AIF ('&ERRET'(1,1) EQ '(').BCR 41000002 BNZ &ERRET YES. BR TO USER EXIT 42000002 AGO .DONE 43000002 .BCR BCR 7,&ERRET(1) 44000002 .DONE MEXIT 20272 45000002 .ERRCAN IHBERMAC 36,,&CANCEL,,,0 INVALID 1ST OPERAND 46000002 MEXIT 47000002 .E1 IHBERMAC 37,,&UNIT,,,0 INVALID 2ND OPERAND 48000002 MEXIT 49000002 .E2 IHBERMAC 38,,OMIT,,,0 3RD OPERAND NOT ALLOWED 50000002 MEXIT 51000002 .E3 IHBERMAC 4 3RD OPERAND REQUIRED 52000002 MEXIT 53000002 MEND 20272 54000002 **/ 54050002 * TTIMER : /* */ 54100002 * /* TTIMEMVM--AOS/2 */ 54150002 * /* */ 54200002 * MACRO KEYS( 54250002 * TU, /*RETURN TASK TIME INTERVAL */ 54300002 * CANCEL, /*CANCELL TASK TIME INTERVAL */ 54350002 * MIC, /*ADDR OF TASK TIME INTERVAL AREA */ 54400002 * ERRET, /*ADDR OF CLOCK MALFUNCTION ROUTIN*/ 54450002 * RTCD /*SVC RETURN CODE AREA */ 54500002 * ); 54550002 * ANS('?'||MACLABEL||'TTIMERP '||MACLIST||MACKEYS||';'); 54600002 *% END; 54650002