MACRO 00001000
&LABEL HNDINT &FUNC,&ERROR=*+4 00002000
LCLA &NUM 00003000
LCLC &NAME,&LOC,&ADDR,&WHEN 00004000
CNOP 0,4 00005000
AIF (T'&FUNC EQ 'O').ERR0 00006000
AIF ('&FUNC' NE 'CLR' AND '&FUNC' NE 'SET').ERR0 00007000
AIF (N'&SYSLIST LE 1).ERR1 00008000
&NUM SETA 1 00009000
&LABEL BAL 1,DMS&SYSNDX.A 00010000
DC CL8'HNDINT' 00011000
DC CL4'&FUNC' 00012000
.LOOP ANOP 00013000
&NUM SETA &NUM+1 00014000
AIF (N'&SYSLIST LT &NUM).END 00015000
AIF (T'&SYSLIST(&NUM,1) EQ 'O').ERR2 00016000
&NAME SETC '&SYSLIST(&NUM,1)' 00017000
AIF (K'&SYSLIST(&NUM,1) LE 4).CONT 00018000
MNOTE 4,'DEVICE NAME TRUNCATED TO 4 CHARACTERS' 00019000
.CONT AIF ('&FUNC' EQ 'CLR').CLR 00020000
AIF (T'&SYSLIST(&NUM,2) EQ 'O').ERR3 00021000
AIF (T'&SYSLIST(&NUM,3) EQ 'O').ERR4 00022000
AIF (K'&SYSLIST(&NUM,3) NE 3).ERR6 00023000
AIF (T'&SYSLIST(&NUM,4) EQ 'O').ERR5 00024000
&LOC SETC '&SYSLIST(&NUM,2)' 00025000
&ADDR SETC '&SYSLIST(&NUM,3)' 00026000
&WHEN SETC '&SYSLIST(&NUM,4)' 00027000
AIF ('&WHEN' NE 'ASAP' AND '&WHEN' NE 'WAIT').ERR7 00028000
DC CL4'&NAME',AL4(&LOC),XL2'0&ADDR',CL1'&WHEN',C'C' 00029000
AGO .LOOP 00030000
.CLR ANOP 00031000
DC CL4'&NAME',AL4(0),4X'00' 00032000
AGO .LOOP 00033000
.END ANOP 00034000
DC XL4'FFFFFFFF' 00035000
DMS&SYSNDX.A SVC 202 00036000
DC AL4(&ERROR) 00037000
MEXIT 00038000
.ERR0 MNOTE 8,'FUNCTION NAME OMITTED OR INVALID' 00039000
MEXIT 00040000
.ERR1 MNOTE 8,'NO ADDRESS LIST SPECIFIED' 00041000
MEXIT 00042000
.ERR2 MNOTE 4,'DEVICE NAME NOT SPECIFIED - SKIPPED' 00043000
AGO .LOOP 00044000
.ERR3 MNOTE 4,'INTERRUPT ADDRESS NOT SPECIFIED - SKIPPED' 00045000
AGO .LOOP 00046000
.ERR4 MNOTE 4,'DEVICE ADDRESS NOT SPECIFIED - SKIPPED' 00047000
AGO .LOOP 00048000
.ERR5 MNOTE 4,'WHEN PARAMETER NOT SPECIFIED - SKIPPED' 00049000
AGO .LOOP 00050000
.ERR6 MNOTE 4,'DEVICE ADDRESS NOT 3 CHARACTERS - SKIPPED' 00051000
AGO .LOOP 00052000
.ERR7 MNOTE 4,'INVALID WHEN PARAMETER - SKIPPED' 00053000
AGO .LOOP 00054000
MEND 00055000