MACRO 00001000
RIOGEN &CONS=,&ALTCONS=,&SRF= 00002500
.* THIS MACRO GENERATES THE DMKRIOCT AND REAL PRINTER AND PUNCH TABLES 00003000
GBLA &RCHCNT,&RCUCNT,&RDVCNT,&RPRTCNT,&RPUNCNT,&RRDRCNT 00004000
GBLA &RPCCNT 00004500
GBLC &CHTBL(16),&RPRNTRS(32),&RPUNCHS(32) 00005000
GBLC &RREADRS(32) 00006000
GBLC &RPCCU(16) @V2D3931 00006500
LCLA &INDEX,&SRFCNT,&ALTCNT 00007150
SPACE 00008000
ENTRY DMKRIOCT 00009000
SPACE 00010000
DMKRIOCT DS 0D 00011000
&INDEX SETA 1 00012000
&ALTCNT SETA N'&ALTCONS 00012100
&SRFCNT SETA N'&SRF 00012150
.LOOP ANOP 00013000
AIF ('&CHTBL(&INDEX)' EQ '').SKIP 00014000
DC AL2(&CHTBL(&INDEX)-DMKRIOCH) 00015000
AGO .CONT 00016000
.SKIP ANOP 00017000
DC H'-1' 00018000
.CONT ANOP 00019000
&INDEX SETA &INDEX+1 00020000
AIF (&INDEX LE 16).LOOP 00021000
SPACE 2 00022000
ENTRY DMKRIOCC,DMKRIOUC,DMKRIODC 00023000
SPACE 00024000
DMKRIOCC DC H'&RCHCNT' 00025000
DMKRIOUC DC H'&RCUCNT' 00026000
DMKRIODC DC H'&RDVCNT' 00027000
SPACE 2 00028000
ENTRY DMKRIOCN 00029000
SPACE 00030000
DMKRIOCN DS 0F 00031000
DC AL2((RDV&CONS-DMKRIODV)/8),XL2'&CONS' 00032000
DC F'&ALTCNT' 00032100
&INDEX SETA 1 00033000
.LALTC AIF (&INDEX GT N'&ALTCONS).RPRT 00033500
DC AL2((RDV&ALTCONS(&INDEX)-DMKRIODV)/8) 00034000
DC XL2'&ALTCONS(&INDEX)' 00034500
&INDEX SETA &INDEX+1 00035000
AGO .LALTC 00035500
.RPRT ANOP 00037000
SPACE 2 00038000
ENTRY DMKRIOPR 00039000
SPACE 00040000
DMKRIOPR DC F'&RPRTCNT' 00041000
&INDEX SETA 1 00042000
.LPRT ANOP 00043000
AIF (&INDEX GT &RPRTCNT).RPUN 00044000
DC AL2((RDV&RPRNTRS(&INDEX)-DMKRIODV)/8) 00045300
DC XL2'&RPRNTRS(&INDEX)' 00045700
&INDEX SETA &INDEX+1 00046000
AGO .LPRT 00047000
.RPUN ANOP 00048000
SPACE 2 00049000
ENTRY DMKRIOPU 00050000
SPACE 00051000
DMKRIOPU DC F'&RPUNCNT' 00052000
&INDEX SETA 1 00053000
.LPUN ANOP 00054000
AIF (&INDEX GT &RPUNCNT).RRDR 00055000
DC AL2((RDV&RPUNCHS(&INDEX)-DMKRIODV)/8) 00056300
DC XL2'&RPUNCHS(&INDEX)' 00056700
&INDEX SETA &INDEX+1 00057000
AGO .LPUN 00058000
.RRDR ANOP 00059000
SPACE 2 00060000
ENTRY DMKRIORD 00061000
SPACE 00062000
DMKRIORD DC F'&RRDRCNT' 00063000
&INDEX SETA 1 00064000
.LRDR ANOP 00065000
AIF (&INDEX GT &RRDRCNT).PCCU 00066100
DC AL2((RDV&RREADRS(&INDEX)-DMKRIODV)/8) 00067300
DC XL2'&RREADRS(&INDEX)' 00067700
&INDEX SETA &INDEX+1 00068000
AGO .LRDR 00069000
.PCCU ANOP 00069300
SPACE 2 00069400
ENTRY DMKRIORN 00069500
SPACE 00069600
DMKRIORN DC F'&RPCCNT' 00069700
&INDEX SETA 1 00069800
.LPCC AIF (&INDEX GT &RPCCNT).SRF 00069950
DC AL2((RDV&RPCCU(&INDEX)-DMKRIODV)/8) 00070030
DC XL2'&RPCCU(&INDEX)' 00070070
&INDEX SETA &INDEX+1 00070100
AGO .LPCC 00070120
.SRF ANOP 00070140
SPACE 2 00070160
ENTRY DMKRIOSF 00070180
SPACE 00070200
DMKRIOSF DS 0F 00070222
DC F'&SRFCNT' 00070240
&INDEX SETA 1 00070245
.LSRF AIF (&INDEX GT N'&SRF).MEND 00070250
DC AL2((RDV&SRF(&INDEX)-DMKRIODV)/8) 00070255
DC XL2'&SRF(&INDEX)' 00070260
&INDEX SETA &INDEX+1 00070265
AGO .LSRF 00070270
.MEND ANOP 00070300
EJECT 00070310
COPY NETWORK @V2D3931 00070410
EJECT 00071000
COPY DEVTYPES 00072000
EJECT 00073000
COPY RBLOKS 00074000
AIF (N'&SRF GT 32).ERR1 00074100
MEXIT 00074200
.ERR1 MNOTE 0,'MORE THAN 32 SRF DEVICES SPECIFIED' 00074300
MEND 00075000