TITLE 'AMDSAGTM DYNAMIC STORAGE ALLOCATION ROUTINE *00001000 ' 00002000 AMDSAGTM CSECT 00003000 STM R0,R15,GTMSAVE SAVE REGISTERS IN LOW CORE 00004000 BALR BASEREG,0 SET UP ADDRESSABILITY 00005000 USING *,BASEREG 00006000 STOSM GTMMASK,0 OBTAIN CURRENT SYSTEM MASK 00007000 STCTL R1,R1,GTMRELOC GET CURRENT SEG TABLE ORIGIN 00008000 * R13 = ADDR(GTMNAME); /* POINT TO MODULE ID */ 00009000 * 0176 00010000 LA R13,GTMNAME 0176 00011000 * /*****************************************************************/ 00012000 * /* */ 00013000 * /* ENQUEUE RCB TO PROVIDE FOR ERROR RECOVERY */ 00014000 * /* */ 00015000 * /*****************************************************************/ 00016000 * 0177 00017000 */* P (RCB,GTMEXIT,NORM,) ENQUEUE RCB FOR ERROR RECOVERY */ 00018000 * RCBNEXT = VCTRCB; /* LINK RCB TO CHAIN */ 00019000 LA @15,GTMRCB 0177 00020000 MVC RCBNEXT(4,@15),VCTRCB(VCCTREG) 0177 00021000 * RCBBASE = BASEREG; /* SET UP BASE REGISTER */ 00022000 ST BASEREG,RCBBASE(,@15) 0178 00023000 * RCBSAVE = R13; /* POINT TO SAVE AREA */ 00024000 ST R13,RCBSAVE(,@15) 0179 00025000 * RCBEXIT = ADDR(GTMEXIT); /* SET UP EXIT ADDRESS */ 00026000 LA @10,GTMEXIT 0180 00027000 ST @10,RCBEXIT(,@15) 0180 00028000 * IF PSWDAT = ON THEN /* RUNNING IN TRANSLATED MODE */ 00029000 LA @10,GTMMASK 0181 00030000 TM PSWDAT(@10),B'00000100' 0181 00031000 BNO @RF00181 0181 00032000 * DO; /* YES - */ 00033000 * RCBSTOR = GTMRELOC; /* GET SEG. TABLE ORIGIN TO RCB */ 00034000 MVC RCBSTOR(4,@15),GTMRELOC 0183 00035000 * GTMRELOC = VCTLPA; /* SET UP RELOCATION FACTOR */ 00036000 MVC GTMRELOC(4),VCTLPA(VCCTREG) 0184 00037000 * END; 0185 00038000 * ELSE /* RUNNING UNTRANSLATED */ 00039000 * DO; 0186 00040000 B @RC00181 0186 00041000 @RF00181 DS 0H 0187 00042000 * RCBSTOR = 0; /* INDICATE UNTRANSLATED MODE */ 00043000 SR @15,@15 0187 00044000 LA @10,GTMRCB 0187 00045000 ST @15,RCBSTOR(,@10) 0187 00046000 * GTMRELOC = 0; /* SET RELOCATION FACTOR */ 00047000 ST @15,GTMRELOC 0188 00048000 * END; 0189 00049000 * VCTRCB = ADDR(GTMRCB); /* MAKE RCB ACTIVE */ 00050000 @RC00181 LA @15,GTMRCB 0190 00051000 ST @15,VCTRCB(,VCCTREG) 0190 00052000 * 0191 00053000 * /*****************************************************************/ 00054000 * /* */ 00055000 * /* CHECK IF STORAGE IS AVAILABLE */ 00056000 * /* */ 00057000 * /*****************************************************************/ 00058000 * 0191 00059000 */* P OBTAIN DSCE FROM VCTDSCE */ 00060000 */* D (YES,%GTMCONT,NO,GTMEXIT) STORAGE AVAILABLE */ 00061000 */* N THIS REQUIRES DSCENEXT + X'100' < DSCETBEG */ 00062000 * IF DSCENEXT + STORSIZE > DSCETBEG THEN /* IS STORAGE AVAILABLE */ 00063000 * 0191 00064000 L @15,VCTDSCE(,VCCTREG) 0191 00065000 A @15,GTMRELOC 0191 00066000 LA @10,256 0191 00067000 A @10,DSCENEXT(,@15) 0191 00068000 C @10,DSCETBEG(,@15) 0191 00069000 BNH @RF00191 0191 00070000 * /*****************************************************************/ 00071000 * /* */ 00072000 * /* THE ERROR ROUTINE RECEIVES CONTROL ON PROGRAM CHECKS OR IF */ 00073000 * /* STORAGE IS UNAVAILABLE */ 00074000 * /* */ 00075000 * /*****************************************************************/ 00076000 * 0192 00077000 */*GTMEXIT: P (,GTMRET) SET RC = 4 IN GTMSAVE */ 00078000 * 0192 00079000 *GTMEXIT: 0192 00080000 * REGL15 = 4; /* SET ERROR RETURN CODE */ 00081000 GTMEXIT LA @15,GTMSAVE 0192 00082000 MVC REGL15(4,@15),@CF00040 0192 00083000 * 0193 00084000 * /*****************************************************************/ 00085000 * /* */ 00086000 * /* STORAGE IS AVAILABLE. ALLOCATE IT AND UPDATE POINTERS */ 00087000 * /* */ 00088000 * /*****************************************************************/ 00089000 * 0193 00090000 */*%GTMCONT: P SET R1 IN GTMSAVE TO DSCENEXT */ 00091000 */* P SET AREA TO 0 */ 00092000 */* P MARK AREA AS ALLOCATED ('G' IN FIRST BYTE) */ 00093000 */* P INCREMENT DSCENEXT BY X'100' */ 00094000 */* D (YES,,NO,%GTMDAT1) DAT BIT ON IN GTMMASK */ 00095000 */* P INCREMENT R1 BY VCTLPA TO GIVE VIRT ADDR */ 00096000 */*%GTMDAT1: P SET RC = 0 IN REG 15 IN GTMSAVE */ 00097000 * ELSE 0193 00098000 * DO; 0193 00099000 B @RC00191 0193 00100000 @RF00191 DS 0H 0194 00101000 * REGL1 = DSCENEXT + GTMRELOC; /* SAVE ADDRESS OF ALLOCATED 0194 00102000 * STORAGE */ 00103000 LA @15,GTMSAVE 0194 00104000 L @10,GTMRELOC 0194 00105000 L @09,VCTDSCE(,VCCTREG) 0194 00106000 AR @09,@10 0194 00107000 L @08,DSCENEXT(,@09) 0194 00108000 AR @10,@08 0194 00109000 ST @10,REGL1(,@15) 0194 00110000 * RESPECIFY STORAGE BASED(DSCENEXT+GTMRELOC); 0195 00111000 * STORAGE = STORAGE && STORAGE; /* SET STORAGE GIVEN TO 0 */ 00112000 XC STORAGE(256,@10),STORAGE(@10) 0196 00113000 * STORAGE(1) = 'G'; /* MARK AREA AS ALLOCATED */ 00114000 MVI STORAGE(@10),C'G' 0197 00115000 * DSCENEXT = DSCENEXT + STORSIZE; /* INCREMENT TO NEXT 0198 00116000 * AVAILABLE STORAGE */ 00117000 AH @08,@CH00446 0198 00118000 ST @08,DSCENEXT(,@09) 0198 00119000 * REGL15 = 0; /* SET SUCCESSFUL RETURN CODE */ 00120000 SR @10,@10 0199 00121000 ST @10,REGL15(,@15) 0199 00122000 * END; 0200 00123000 * 0201 00124000 * /*****************************************************************/ 00125000 * /* */ 00126000 * /* RETURN TO CALLER. */ 00127000 * /* */ 00128000 * /*****************************************************************/ 00129000 * 0201 00130000 */*GTMRET: P DEQUEUE RCB */ 00131000 */* P RESTORE REGISTERS FROM GTMSAVE */ 00132000 */* R RETURN TO CALLER */ 00133000 * VCTRCB = RCBNEXT; /* DEQUEUE RCB FROM ACTIVE CHAIN */ 00134000 @RC00191 LA @15,GTMRCB 0201 00135000 MVC VCTRCB(4,VCCTREG),RCBNEXT(@15) 0201 00136000 * RESPECIFY RETREG RESTRICTED; 0202 00137000 * GEN(LM R0,R15,GTMSAVE); /* RESTORE CALLER'S REGISTERS */ 00138000 LM R0,R15,GTMSAVE 00139000 * GENERATE REFS(RETREG) (BR RETREG); /* RETURN TO CALLER */ 00140000 BR RETREG 00141000 * RESPECIFY RETREG UNRESTRICTED; 0205 00142000 * END AMDSAGTM 0206 00143000 */* THE FOLLOWING INCLUDE STATEMENTS WERE FOUND IN THIS PROGRAM. * 00144000 */*%INCLUDE SYSLIB (AMDSARMK) * 00145000 *; 0206 00146000 @DATA DS 0H 00147000 @CH00446 DC H'256' 00148000 DS 0F 00149000 DS 0F 00150000 @CF00040 DC F'4' 00151000 DS 0D 00152000 GTMRELOC DS F 00153000 GTMRCB DS CL20 00154000 ORG GTMRCB 00155000 GTMRNEXT DC A(0) 00156000 GTMRSTOR DC A(0) 00157000 GTMRSAVE DC A(0) 00158000 GTMREXIT DC A(0) 00159000 GTMRBASE DC A(0) 00160000 ORG GTMRCB+20 00161000 GTMMASK DC X'00' 00162000 DS CL3 00163000 GTMPATCH DC 13F'0' 00164000 @00 EQU 00 EQUATES FOR REGISTERS 0-15 00165000 @01 EQU 01 00166000 @02 EQU 02 00167000 @03 EQU 03 00168000 @04 EQU 04 00169000 @05 EQU 05 00170000 @06 EQU 06 00171000 @07 EQU 07 00172000 @08 EQU 08 00173000 @09 EQU 09 00174000 @10 EQU 10 00175000 @11 EQU 11 00176000 @12 EQU 12 00177000 @13 EQU 13 00178000 @14 EQU 14 00179000 @15 EQU 15 00180000 VCCTREG EQU @12 00181000 RETREG EQU @14 00182000 BASEREG EQU @11 00183000 R0 EQU @00 00184000 R13 EQU @13 00185000 R15 EQU @15 00186000 RETCODE EQU @15 00187000 R1 EQU @01 00188000 R10 EQU @10 00189000 R11 EQU @11 00190000 R12 EQU @12 00191000 R14 EQU @14 00192000 R2 EQU @02 00193000 R3 EQU @03 00194000 R4 EQU @04 00195000 R5 EQU @05 00196000 R6 EQU @06 00197000 R7 EQU @07 00198000 R8 EQU @08 00199000 R9 EQU @09 00200000 SADMPLSD EQU 3312 00201000 GTMNAME EQU SADMPLSD+680 00202000 GTMSAVE EQU SADMPLSD+684 00203000 ARB EQU 0 00204000 BCTH EQU 0 00205000 BCT EQU 0 00206000 BCTLPID EQU BCT+28 00207000 BCTFLGT EQU BCT+44 00208000 BCTFLGI EQU BCT+45 00209000 CCT EQU 0 00210000 CTFLG1 EQU CCT+1 00211000 CTFLG2 EQU CCT+2 00212000 CTLOWFLG EQU CCT+48 00213000 CTDMPTYP EQU CCT+52 00214000 CTIOTYPE EQU CTDMPTYP 00215000 CTCONFLG EQU CTDMPTYP+2 00216000 CTBUFTYP EQU CTDMPTYP+3 00217000 CTPRMT1 EQU CTDMPTYP+24 00218000 CTPRMT2 EQU CTDMPTYP+26 00219000 CCW EQU 0 00220000 CCWFLAGS EQU CCW+4 00221000 CSW EQU 0 00222000 CSWKEY00 EQU CSW 00223000 CSWUSTAT EQU CSW+4 00224000 CSWCSTAT EQU CSW+5 00225000 DSCE EQU 0 00226000 DSCENEXT EQU DSCE+8 00227000 DSCETBEG EQU DSCE+12 00228000 IODB EQU 0 00229000 IODBFLAG EQU IODB+8 00230000 IODBCCHH EQU IODB+32 00231000 IODBSRCH EQU IODBCCHH+3 00232000 MDCE EQU 0 00233000 MDCB EQU 0 00234000 MDCBGRS EQU MDCB+16 00235000 MDCBFLGS EQU MDCB+86 00236000 PSW EQU 0 00237000 PSWSM EQU PSW 00238000 PSWDAT EQU PSWSM 00239000 @NM00023 EQU PSW+1 00240000 PSWCCPM EQU PSW+2 00241000 @NM00026 EQU PSW+3 00242000 PTRT EQU 0 00243000 PTRTRSA EQU 0 00244000 RCB EQU 0 00245000 RCBNEXT EQU RCB 00246000 RCBSTOR EQU RCB+4 00247000 RCBSAVE EQU RCB+8 00248000 RCBEXIT EQU RCB+12 00249000 RCBBASE EQU RCB+16 00250000 VCCT EQU 0 00251000 VCTRCB EQU VCCT+4 00252000 VCTRECSN EQU VCCT+8 00253000 VCTFLGS EQU VCCT+9 00254000 VCTMDCE EQU VCCT+12 00255000 VCTDSCE EQU VCCT+20 00256000 VCTBCTH EQU VCCT+24 00257000 VCTCBID EQU VCCT+64 00258000 VCTLPA EQU VCCT+84 00259000 SDL EQU 0 00260000 REGLOCAL EQU 0 00261000 REGL1 EQU REGLOCAL+4 00262000 REGL15 EQU REGLOCAL+60 00263000 SAVEFORM EQU 0 00264000 STORAGE EQU 0 00265000 PTRTVSA EQU 0 00266000 CTLOWDMP EQU CTDMPTYP 00267000 AGO .@UNREFD START UNREFERENCED COMPONENTS 00268000 CTADDRE EQU CTLOWDMP+4 00269000 CTADDRS EQU CTLOWDMP 00270000 SAVER12 EQU SAVEFORM+68 00271000 SAVER11 EQU SAVEFORM+64 00272000 SAVER10 EQU SAVEFORM+60 00273000 SAVER9 EQU SAVEFORM+56 00274000 SAVER8 EQU SAVEFORM+52 00275000 SAVER7 EQU SAVEFORM+48 00276000 SAVER6 EQU SAVEFORM+44 00277000 SAVER5 EQU SAVEFORM+40 00278000 SAVER4 EQU SAVEFORM+36 00279000 SAVER3 EQU SAVEFORM+32 00280000 SAVER2 EQU SAVEFORM+28 00281000 SAVER1 EQU SAVEFORM+24 00282000 SAVER0 EQU SAVEFORM+20 00283000 SAVER15 EQU SAVEFORM+16 00284000 SAVER14 EQU SAVEFORM+12 00285000 SAVENEXT EQU SAVEFORM+8 00286000 SAVEBACK EQU SAVEFORM+4 00287000 SAVENAME EQU SAVEFORM+1 00288000 SAVEID EQU SAVEFORM 00289000 REGL14 EQU REGLOCAL+56 00290000 REGL13 EQU REGLOCAL+52 00291000 REGL12 EQU REGLOCAL+48 00292000 REGL11 EQU REGLOCAL+44 00293000 REGL10 EQU REGLOCAL+40 00294000 REGL9 EQU REGLOCAL+36 00295000 REGL8 EQU REGLOCAL+32 00296000 REGL7 EQU REGLOCAL+28 00297000 REGL6 EQU REGLOCAL+24 00298000 REGL5 EQU REGLOCAL+20 00299000 REGL4 EQU REGLOCAL+16 00300000 REGL3 EQU REGLOCAL+12 00301000 REGL2 EQU REGLOCAL+8 00302000 REGL0 EQU REGLOCAL 00303000 SDLSPN EQU SDL+1 00304000 SDLNUM EQU SDL 00305000 VCTVCCTV EQU VCCT+108 00306000 VCTCCTV EQU VCCT+104 00307000 @NM00030 EQU VCCT+102 00308000 VCTEXTRA EQU VCCT+100 00309000 VCTCPOUT EQU VCCT+96 00310000 VCTSVCTB EQU VCCT+92 00311000 VCTPGT EQU VCCT+88 00312000 VCTCBADR EQU VCCT+80 00313000 VCTJBNME EQU VCCT+72 00314000 VCTCBIDN EQU VCTCBID+7 00315000 @NM00029 EQU VCTCBID 00316000 VCTAUDIT EQU VCCT+62 00317000 VCTASID EQU VCCT+60 00318000 VCTPTRT EQU VCCT+56 00319000 VCTMASCB EQU VCCT+52 00320000 VCTASCB EQU VCCT+48 00321000 VCTCPUC EQU VCCT+46 00322000 VCTWKC EQU VCCT+45 00323000 VCTWKHI EQU VCCT+44 00324000 VCTSUBPL EQU VCCT+40 00325000 VCTARB EQU VCCT+36 00326000 VCTIODB EQU VCCT+32 00327000 VCTBCTC EQU VCCT+28 00328000 VCTSTOR EQU VCCT+16 00329000 VCTRECVA EQU VCCT+10 00330000 @NM00028 EQU VCTFLGS 00331000 VCTLRCLM EQU VCTFLGS 00332000 VCTARCLM EQU VCTFLGS 00333000 VCTASMIC EQU VCTFLGS 00334000 VCTMEMIN EQU VCTFLGS 00335000 VCTSADMP EQU VCTFLGS 00336000 @NM00027 EQU VCTRECSN 00337000 VCTRSMR EQU VCTRECSN 00338000 VCTEXIR EQU VCTRECSN 00339000 VCTUPDR EQU VCTRECSN 00340000 VCTPGIR EQU VCTRECSN 00341000 VCTVCT EQU VCCT 00342000 PTRTVS EQU PTRT+1032 00343000 PTRTRS EQU PTRT+8 00344000 PTRTLGID EQU PTRT+4 00345000 PTRTPTRT EQU PTRT 00346000 PSWEND EQU PSW+8 00347000 PSWIA EQU PSW+4 00348000 PSWSP EQU @NM00026 00349000 PSWSIG EQU PSWCCPM 00350000 PSWEU EQU PSWCCPM 00351000 PSWDO EQU PSWCCPM 00352000 PSWFPO EQU PSWCCPM 00353000 @NM00025 EQU PSWCCPM 00354000 @NM00024 EQU PSWCCPM 00355000 PSWPRBLM EQU @NM00023 00356000 PSWAIT EQU @NM00023 00357000 PSWMCH EQU @NM00023 00358000 PSWMODE EQU @NM00023 00359000 PSWKEY EQU @NM00023 00360000 PSWXTRNL EQU PSWSM 00361000 PSWIO EQU PSWSM 00362000 @NM00022 EQU PSWSM 00363000 @NM00021 EQU PSWSM 00364000 @NM00020 EQU PSWSM 00365000 PSWPER EQU PSWSM 00366000 @NM00019 EQU PSWSM 00367000 @NM00018 EQU MDCB+87 00368000 @NM00017 EQU MDCBFLGS 00369000 MDCBDUMP EQU MDCBFLGS 00370000 MDCBASMI EQU MDCBFLGS 00371000 MDCBPI EQU MDCB+84 00372000 MDCBSTOR EQU MDCB+80 00373000 MDCBGR15 EQU MDCBGRS+60 00374000 MDCBGR14 EQU MDCBGRS+56 00375000 MDCBGR13 EQU MDCBGRS+52 00376000 MDCBGR12 EQU MDCBGRS+48 00377000 MDCBGR11 EQU MDCBGRS+44 00378000 MDCBGR10 EQU MDCBGRS+40 00379000 MDCBGR9 EQU MDCBGRS+36 00380000 MDCBGR8 EQU MDCBGRS+32 00381000 MDCBGR7 EQU MDCBGRS+28 00382000 MDCBGR6 EQU MDCBGRS+24 00383000 MDCBGR5 EQU MDCBGRS+20 00384000 MDCBGR4 EQU MDCBGRS+16 00385000 MDCBGR3 EQU MDCBGRS+12 00386000 MDCBGR2 EQU MDCBGRS+8 00387000 MDCBGR1 EQU MDCBGRS+4 00388000 MDCBGR0 EQU MDCBGRS 00389000 MDCBPSW EQU MDCB+8 00390000 MDCBNEXT EQU MDCB+4 00391000 MDCBMDCB EQU MDCB 00392000 MDCEAVIL EQU MDCE+8 00393000 MDCEACTV EQU MDCE+4 00394000 MDCEMDCE EQU MDCE 00395000 IODBSENS EQU IODB+40 00396000 IODBR EQU IODBCCHH+7 00397000 IODBHH EQU IODBSRCH+2 00398000 IODBCC EQU IODBSRCH 00399000 IODBSEEK EQU IODBCCHH+1 00400000 IODBM EQU IODBCCHH 00401000 IODBCSW EQU IODB+24 00402000 IODBCAW EQU IODB+20 00403000 IODBBCT EQU IODB+16 00404000 IODBCPU EQU IODB+14 00405000 IODBTYPE EQU IODB+13 00406000 IODBCLAS EQU IODB+12 00407000 IODBDEV EQU IODB+10 00408000 @NM00016 EQU IODBFLAG+1 00409000 IODBSTRT EQU IODBFLAG 00410000 IODBCONW EQU IODBFLAG 00411000 IODBACTV EQU IODBFLAG 00412000 IODBHALT EQU IODBFLAG 00413000 IODBIOC EQU IODBFLAG 00414000 IODBINT EQU IODBFLAG 00415000 IODBPTRM EQU IODBFLAG 00416000 IODBTERM EQU IODBFLAG 00417000 IODBIDEN EQU IODB+4 00418000 IODBIODB EQU IODB 00419000 DSCETEND EQU DSCE+20 00420000 DSCETCUR EQU DSCE+16 00421000 DSCEBEGN EQU DSCE+4 00422000 DSCEDSCE EQU DSCE 00423000 CSWCNT EQU CSW+6 00424000 CSWCHC EQU CSWCSTAT 00425000 CSWICC EQU CSWCSTAT 00426000 CSWCCC EQU CSWCSTAT 00427000 CSWCDC EQU CSWCSTAT 00428000 CSWPTC EQU CSWCSTAT 00429000 CSWPGC EQU CSWCSTAT 00430000 CSWIL EQU CSWCSTAT 00431000 CSWPCI EQU CSWCSTAT 00432000 CSWUE EQU CSWUSTAT 00433000 CSWUC EQU CSWUSTAT 00434000 CSWDE EQU CSWUSTAT 00435000 CSWCE EQU CSWUSTAT 00436000 CSWBUSY EQU CSWUSTAT 00437000 CSWCUE EQU CSWUSTAT 00438000 CSWSTMOD EQU CSWUSTAT 00439000 CSWATTN EQU CSWUSTAT 00440000 CSWCADDR EQU CSW+1 00441000 @NM00015 EQU CSWKEY00 00442000 CSWKEY EQU CSWKEY00 00443000 CCWCNT EQU CCW+6 00444000 @NM00014 EQU CCW+5 00445000 @NM00013 EQU CCWFLAGS 00446000 CCWIDA EQU CCWFLAGS 00447000 CCWPCI EQU CCWFLAGS 00448000 CCWSKIP EQU CCWFLAGS 00449000 CCWSLI EQU CCWFLAGS 00450000 CCWCC EQU CCWFLAGS 00451000 CCWDC EQU CCWFLAGS 00452000 CCWDADDR EQU CCW+1 00453000 CCWCMD EQU CCW 00454000 CTHWMAX EQU CTDMPTYP+29 00455000 CTHWM EQU CTDMPTYP+28 00456000 CTPRMT2X EQU CTPRMT2+1 00457000 CTPRMT2Y EQU CTPRMT2 00458000 CTPRMT1X EQU CTPRMT1+1 00459000 CTPRMT1Y EQU CTPRMT1 00460000 CTVCCT EQU CTDMPTYP+20 00461000 CTEOR EQU CTDMPTYP+16 00462000 CTCOMMIO EQU CTDMPTYP+12 00463000 CTLWKAD EQU CTDMPTYP+8 00464000 CTCONSOL EQU CTDMPTYP+4 00465000 @NM00012 EQU CTBUFTYP 00466000 CTDUMP EQU CTBUFTYP 00467000 CTLSQA EQU CTBUFTYP 00468000 CTASM EQU CTBUFTYP 00469000 CTPGT EQU CTBUFTYP 00470000 CTWKFLE EQU CTBUFTYP 00471000 @NM00011 EQU CTBUFTYP 00472000 @NM00010 EQU CTCONFLG 00473000 CTREAD EQU CTCONFLG 00474000 CTMSGOUT EQU CTCONFLG 00475000 @NM00009 EQU CTDMPTYP+1 00476000 @NM00008 EQU CTIOTYPE 00477000 CTIORSET EQU CTIOTYPE 00478000 CTIOINT EQU CTIOTYPE 00479000 CTIOCON EQU CTIOTYPE 00480000 CTIOWK EQU CTIOTYPE 00481000 CTIODA EQU CTIOTYPE 00482000 CTIOOUT EQU CTIOTYPE 00483000 CTIOTERM EQU CTIOTYPE 00484000 CTEBCOPR EQU CCT+49 00485000 @NM00007 EQU CTLOWFLG 00486000 CTWKSTUS EQU CTLOWFLG 00487000 CTINIT EQU CTLOWFLG 00488000 CTFP EQU CTLOWFLG 00489000 CTVIRTD EQU CTLOWFLG 00490000 CTEBCOPD EQU CCT+45 00491000 CTCONTYP EQU CCT+44 00492000 CTOUTAD EQU CCT+42 00493000 CTCPUI EQU CCT+40 00494000 CTERBCON EQU CCT+36 00495000 CTERBTPE EQU CCT+32 00496000 CTERBDA EQU CCT+28 00497000 CTCCHHW EQU CCT+24 00498000 CTCCHHE EQU CCT+20 00499000 CTCCHHS EQU CCT+16 00500000 CTPGECNT EQU CCT+15 00501000 CTCCHHR EQU CCT+8 00502000 CTINADDR EQU CCT+6 00503000 CTSENSE EQU CCT+4 00504000 CTDEVTYP EQU CCT+3 00505000 @NM00006 EQU CTFLG2 00506000 CTALTCON EQU CTFLG2 00507000 CTWKDONE EQU CTFLG2 00508000 CTVIRTR EQU CTFLG2 00509000 CTNOSTAT EQU CTFLG2 00510000 CTPGEFLT EQU CTFLG2 00511000 CTSTOR EQU CTFLG2 00512000 CTDUPSW EQU CTFLG2 00513000 CTERREC EQU CTFLG1 00514000 CTMP EQU CTFLG1 00515000 @NM00005 EQU CTFLG1 00516000 CTDEFO EQU CTFLG1 00517000 CTWORK EQU CTFLG1 00518000 CTMORTPE EQU CTFLG1 00519000 CTDEVICE EQU CTFLG1 00520000 CTERROR EQU CTFLG1 00521000 CTWAIT EQU CCT 00522000 @NM00004 EQU BCT+46 00523000 BCTRECLM EQU BCTFLGI 00524000 BCTIOERR EQU BCTFLGI 00525000 BCTALLOC EQU BCTFLGI 00526000 BCTCOMP EQU BCTFLGI 00527000 @NM00003 EQU BCTFLGT 00528000 BCTPGTF EQU BCTFLGT 00529000 BCTDUMP EQU BCTFLGT 00530000 BCTLSQA EQU BCTFLGT 00531000 BCTASM EQU BCTFLGT 00532000 BCTPGT EQU BCTFLGT 00533000 BCTWKFLE EQU BCTFLGT 00534000 @NM00002 EQU BCTFLGT 00535000 BCTRBA EQU BCT+40 00536000 BCTAMB EQU BCT+36 00537000 @NM00001 EQU BCTLPID+4 00538000 BCTLGN EQU BCTLPID 00539000 BCTMDCB EQU BCT+24 00540000 BCTPGTE EQU BCT+20 00541000 BCTRADDR EQU BCT+16 00542000 BCTVADDR EQU BCT+12 00543000 BCTASID EQU BCT+10 00544000 BCTKEY2 EQU BCT+9 00545000 BCTKEY1 EQU BCT+8 00546000 BCTNEXT EQU BCT+4 00547000 BCTBCT EQU BCT 00548000 BCTHLAST EQU BCTH+8 00549000 BCTHFRST EQU BCTH+4 00550000 BCTHBCTH EQU BCTH 00551000 ARBADDRE EQU ARB+4 00552000 ARBADDRB EQU ARB 00553000 FRMSAVE EQU SADMPLSD+580 00554000 FRMNAME EQU SADMPLSD+576 00555000 AUDSAVE EQU SADMPLSD+476 00556000 AUDNAME EQU SADMPLSD+472 00557000 IOISAVE EQU SADMPLSD+372 00558000 IOINAME EQU SADMPLSD+368 00559000 PGISAVE EQU SADMPLSD+268 00560000 PGINAME EQU SADMPLSD+264 00561000 SVISAVE EQU SADMPLSD+164 00562000 SVINAME EQU SADMPLSD+160 00563000 LOWCRS EQU SADMPLSD+96 00564000 LOWGRS EQU SADMPLSD+32 00565000 SAVEDUMP EQU SADMPLSD+24 00566000 AUDPSW EQU SADMPLSD+16 00567000 SVIRPSW EQU SADMPLSD+8 00568000 PSWSADMP EQU SADMPLSD 00569000 .@UNREFD ANOP END UNREFERENCED COMPONENTS 00570000 @ENDDATA EQU * 00571000 END AMDSAGTM,(C'PL/S-II',0502,73230) 00572000