TITLE 'SMS SET TASKID ROUTINE - ISTORAID(OS/VS1), ISTORFID(OS/*00001000 /VS2) ' 00002000 ISTORFID CSECT , 0001 00003000 @PROLOG BALR @09,0 0001 00004000 @PSTART DS 0H 0001 00005000 USING @PSTART,@09 0001 00006000 * R4BUFPX=R2BUFPTR-8; /* BACK UP BUFF PTR TO PREFIX */ 00007000 LR R4BUFPX,R2BUFPTR 0019 00008000 SL R4BUFPX,@CF00056 0019 00009000 * R5TASKID=R0MASK & ADDRMASK; 0020 00010000 LR R5TASKID,R0MASK 0020 00011000 N R5TASKID,@CF00054 0020 00012000 * DO WHILE(R4BUFPX^=0); /* LOOP TILL END OF BUFF CAHIN */ 00013000 B @DE00021 0021 00014000 @DL00021 DS 0H 0022 00015000 * /* SET TASKID IN PREFIX */ 00016000 * BFPTSKID=(BFPTSKID & HIGHBYTE) | R5TASKID; 0022 00017000 L @15,BFPTSKID(,R4BUFPX) 0022 00018000 N @15,@CF00052 0022 00019000 OR @15,R5TASKID 0022 00020000 ST @15,BFPTSKID(,R4BUFPX) 0022 00021000 * R6NXCHN=BFPNXCHN; 0023 00022000 L R6NXCHN,BFPNXCHN(,R4BUFPX) 0023 00023000 * IF BFPCBID=ON | /* THIS A CBID BUFF OR AT */ 00024000 * R6NXCHN=0 /* END OF BUFFER CHAIN */ 00025000 * THEN /* YES */ 0024 00026000 TM BFPCBID(R4BUFPX),B'10000000' 0024 00027000 BO @RT00024 0024 00028000 LTR R6NXCHN,R6NXCHN 0024 00029000 BNZ @RF00024 0024 00030000 @RT00024 DS 0H 0025 00031000 * R4BUFPX=0; /* TERMINATE DO WHILE LOOP */ 00032000 SLR R4BUFPX,R4BUFPX 0025 00033000 * ELSE /* NO */ 0026 00034000 * R4BUFPX=R6NXCHN-8; /* POINT TO NEXT PREFIX AREA */ 00035000 B @RC00024 0026 00036000 @RF00024 LR R4BUFPX,R6NXCHN 0026 00037000 SL R4BUFPX,@CF00056 0026 00038000 * END; 0027 00039000 @RC00024 DS 0H 0027 00040000 @DE00021 LTR R4BUFPX,R4BUFPX 0027 00041000 BNZ @DL00021 0027 00042000 * RETURN; 0028 00043000 * 0028 00044000 @EL00001 DS 0H 0028 00045000 @EF00001 DS 0H 0028 00046000 @ER00001 BR @14 0028 00047000 * GEN(DC C'END ISTORFID 75.325'); 0029 00048000 * 0029 00049000 DC C'END ISTORFID 75.325' 00050000 */* TPEPILOG */ 0030 00051000 * GEN (PRINT OFF); 0030 00052000 * 0030 00053000 PRINT OFF 00054000 * /* BUFFER PREFIX */ 0031 00055000 */* REVISIONS 002 03/06/75 */ 00056000 * DCL 1 ISTBFPFX BDY(DWORD) BASED(BFPFXPTR), 0031 00057000 * 2 BFPTSKID PTR(31), /* FIRST PREFIX WORD */ 00058000 * 3 BFPALLOC BIT(1), /* BUFF.ALLOCATED INDICATOR */ 00059000 * 3 BFPCBXNO BIT(7), /* CBID INDEX NUMBER */ 00060000 * 3 BFPPSTID PTR(24), /* PST ID OF BUFF OWNER */ 00061000 * 4 * BIT(16), /* ALIGNMENT */ 00062000 * 4 BFPTIK BIT(8), /* TASK ID, ONE BYTE REFERENCE*/ 00063000 * 2 BFPPCBA PTR(31), /* SECOND PREFIX WORD */ 00064000 * 3 BFPCBID BIT(1), /* BUFF IS A CBID INDICATOR */ 00065000 * 3 * BIT(7), /* RESERVED */ 00066000 * 3 BFPBPCB PTR(24), /* PTR TO BPCB FOR BUFFER */ 00067000 * 2 BFPNXCHN PTR(31), /* A(NEXT BUFF.) AND START OF */ 00068000 * 2 BFPSIZE FIXED(15), /* SIZE OF DATA IN BUFFER */ 00069000 * 2 BFPUSED FIXED(15), /* COUNT OF DATA BYTES USED */ 00070000 * /* IN THIS BUFFER */ 00071000 * 2 BFPDATA BDY(WORD), /* DATA PART OF THE BUFFER */ 00072000 * 3 BFPREGSA, /* START OF SAVE AREA'S FOR REG*/ 00073000 * 4 BFPR5SA FIXED(31),/* SAVE AREA FOR R5 */ 00074000 * 5 BFPPMCLR BIT(1),/* CLEAR REQUESTED */ 00075000 * 5 BFPPMCHN BIT(1),/* CHAINED CBID RELEASE */ 00076000 * 5 BFPPMDSB BIT(1),/* DISABLED, CAN'T PAGE FLT*/ 00077000 * 4 BFPR6SA FIXED(31),/* SAVE AREA FOR R6 */ 00078000 * 4 BFPR7SA FIXED(31),/* SAVE AREA FOR R7 */ 00079000 * 4 BFPR8SA FIXED(31),/* SAVE AREA FOR R8 */ 00080000 * 4 BFPR9SA FIXED(31),/* SAVE AREA FOR R9 */ 00081000 * 4 BFPRASA FIXED(31),/* SAVE AREA FOR R10 */ 00082000 * 4 BFPRBSA FIXED(31),/* SAVE AREA FOR R11 */ 00083000 * 4 BFPRCSA FIXED(31),/* SAVE AREA FOR R12 */ 00084000 * 4 BFPRDSA FIXED(31);/* SAVE AREA FOR R13 */ 00085000 * GEN (PRINT ON); 0032 00086000 PRINT ON 00087000 */* END OF TPEPILOG */ 0033 00088000 * END ISTORFID; 0033 00089000 B @EL00001 0033 00090000 @DATA DS 0H 00091000 @DATD DSECT 00092000 DS 0F 00093000 ISTORFID CSECT 00094000 DS 0F 00095000 @CF00056 DC F'8' 00096000 @CF00052 DC XL4'FF000000' 00097000 @CF00054 DC XL4'00FFFFFF' 00098000 @DATD DSECT 00099000 DS 0D 00100000 BFPFXPTR DS A 00101000 ORG *+1-(*-@DATD)/(*-@DATD) INSURE DSECT DATA 00102000 @ENDDATD EQU * 00103000 ISTORFID CSECT 00104000 DS 0F 00105000 @SIZDATD DC AL1(0) 00106000 DC AL3(@ENDDATD-@DATD) 00107000 DS 0D 00108000 @00 EQU 00 EQUATES FOR REGISTERS 0-15 00109000 @01 EQU 01 00110000 @02 EQU 02 00111000 @03 EQU 03 00112000 @04 EQU 04 00113000 @05 EQU 05 00114000 @06 EQU 06 00115000 @07 EQU 07 00116000 @08 EQU 08 00117000 @09 EQU 09 00118000 @10 EQU 10 00119000 @11 EQU 11 00120000 @12 EQU 12 00121000 @13 EQU 13 00122000 @14 EQU 14 00123000 @15 EQU 15 00124000 R0MASK EQU @00 00125000 R1 EQU @01 00126000 R2BUFPTR EQU @02 00127000 R3 EQU @03 00128000 R4BUFPX EQU @04 00129000 R5TASKID EQU @05 00130000 R6NXCHN EQU @06 00131000 R9BASE EQU @09 00132000 R11 EQU @11 00133000 R12 EQU @12 00134000 R13 EQU @13 00135000 R14 EQU @14 00136000 ISTBFPFX EQU 0 00137000 BFPTSKID EQU ISTBFPFX 00138000 BFPPSTID EQU BFPTSKID+1 00139000 BFPPCBA EQU ISTBFPFX+4 00140000 BFPCBID EQU BFPPCBA 00141000 BFPNXCHN EQU ISTBFPFX+8 00142000 BFPDATA EQU ISTBFPFX+16 00143000 BFPREGSA EQU BFPDATA 00144000 BFPR5SA EQU BFPREGSA 00145000 AGO .@UNREFD START UNREFERENCED COMPONENTS 00146000 BFPRDSA EQU BFPREGSA+32 00147000 BFPRCSA EQU BFPREGSA+28 00148000 BFPRBSA EQU BFPREGSA+24 00149000 BFPRASA EQU BFPREGSA+20 00150000 BFPR9SA EQU BFPREGSA+16 00151000 BFPR8SA EQU BFPREGSA+12 00152000 BFPR7SA EQU BFPREGSA+8 00153000 BFPR6SA EQU BFPREGSA+4 00154000 BFPPMDSB EQU BFPR5SA 00155000 BFPPMCHN EQU BFPR5SA 00156000 BFPPMCLR EQU BFPR5SA 00157000 BFPUSED EQU ISTBFPFX+14 00158000 BFPSIZE EQU ISTBFPFX+12 00159000 BFPBPCB EQU BFPPCBA+1 00160000 @NM00002 EQU BFPPCBA 00161000 BFPTIK EQU BFPPSTID+2 00162000 @NM00001 EQU BFPPSTID 00163000 BFPCBXNO EQU BFPTSKID 00164000 BFPALLOC EQU BFPTSKID 00165000 .@UNREFD ANOP END UNREFERENCED COMPONENTS 00166000 @ENDDATA EQU * 00167000 END ISTORFID,(C'PLS2009',0603,75325) 00168000