* %GOTO VSLPLS; /* 01000002 MACRO 02000002 IHAVSL &DSECT=YES 03000002 AGO .VSLBIT DO NOT GENERATE PROLOGUE 03050002 *********************************************************************** 03100002 * * 03150002 * STATUS - * 03200002 * CHANGE LEVEL 0 * 03250002 * FUNCTION - * 03300002 * MAPPING MACRO FOR VSL * 03350002 * ENTRY POINTS - * 03400002 * IHAVSL MACRO CALL * 03450002 * INPUT - * 03500002 * SEE IHAVSL MACRO DEFINITION * 03550002 * OUTPUT - * 03600002 * VSL MAPPING MACRO * 03650002 * EXTERNAL REFERENCES - * 03700002 * N/A * 03750002 * EXITS, NORMAL - * 03800002 * N/A * 03850002 * EXITS, ERROR - * 03900002 * N/A * 03950002 * TABLES/WORK AREAS - * 03960002 * N/A * 03970002 * ATTRIBUTES - * 03980002 * BILINGUAL MACRO * 03990002 * CHARACTER CODE DEPENDENCY - * 03992002 * NONE * 03994002 * NOTES - * 03996002 * NONE * 03998002 * * 03998402 *********************************************************************** 03998802 .VSLBIT ANOP 03999202 IEZBITS , - DEFINE BITS 03999602 *********************************************************************** 03999702 ** VIRTUAL SUBAREA LIST ENTRY 9/27/72 * 04009702 ** * 04019702 ** * 04029702 ** A VIRTUAL SUBAREA LIST IS THE PARAMETER LIST TO PSI WHICH * 04031702 ** DESCRIBES A VIRTUAL SUBAREA THAT IS TO BE PROCESSED AND WHAT * 04032102 ** PROCESSING IS TO BE DONE. * 04032502 *********************************************************************** 04033002 AIF ('&DSECT' EQ 'YES').VSL001 DOES USER WANT DSECT 04033102 VSL DS 0F 04033202 AGO .VSL002 BRANCH AROUND DSECT 04038802 .VSL001 ANOP GEN THE DSECT 04040802 VSL DSECT , VSLPTR 05000002 .VSL002 ANOP GEN MAPPING MACRO 05050002 VSLSTRT DS 0A - FULL WORD REFERENCE TO VSLSTRTA 05100002 VSLFLAG1 DS BL1 - FIRST FLAG FIELD 07000002 VSLCONT EQU BIT0 - CONTINUATION FLAG. IF ON, VSLSTRTA 10000002 * POINTS TO THE NEXT VSL ENTRY. OTHERWISE, 11000002 * THIS IS A NORMAL VSL. 11050002 VSLFIX EQU BIT1 - PGFIX OPTION FLAG 12000002 VSLFREE EQU BIT2 - PGFREE OPTION FLAG 13000002 VSLOAD EQU BIT3 - PGLOAD OPTION FLAG 14000002 VSLRLS EQU BIT4 - PGRLSE OPTION FLAG 15000002 VSLRSV1 EQU BIT5 - RESERVED 15050002 VSLONG EQU BIT6 - LONG-TERM FIX OPTION FLAG FOR PGFIX 16000002 VSLRSV2 EQU BIT7 - RESERVED 16050002 VSLSTRTA DS AL3 - START ADDRESS OF THE VIRTUAL SUBAREA 17000002 * TO BE PROCESSED 18000002 VSLEND DS 0A - FULL WORD REFERENCE FOR VSLENDA 18050002 VSLFLAG2 DS BL1 - SECOND FLAG FIELD 20000002 VSLAST EQU BIT0 - LAST ENTRY IN LIST OF REQUESTS FLAG 21000002 VSLNULL EQU BIT1 - NULL ENTRY FLAG. IF ON, INDICATES 22000002 * THAT THE ENTRY IS TO BE IGNORED. 23000021 VSLRAO EQU BIT2 - REAL ADDRESS OPTION FLAG. IF ON, 24000002 * THE REAL STORAGE ADDRESS ASSIGNED TO 25000021 * THE VIRTUAL AREA WILL BE STORED IN 26000002 * VSLENDA. NOT SUPPORTED IN VS2/2. 27000002 VSLERR EQU BIT3 - ERROR FLAG FOR UNDEFINED VIRTUAL SPACE. 28000002 VSLRSV3 EQU BIT4 - RESERVED 29000002 VSLPGOUT EQU BIT5 - PERFORM A PAGE-OUT OPERATION 29050002 VSLKEPRL EQU BIT6 - KEEP REAL FRAME AFTER PAGE-OUT 29100002 VSLEXTRS EQU BIT7 - RESERVED FOR EXPANSION 29150002 VSLEND1A DS AL3 - END ADDRESS PLUS 1 OF THE VIRTUAL 33000002 * SUBAREA DESCRIBED BY THIS ENTRY. 34000021 VSLENDPT DS 0C - END OF VIRTUAL SUBAREA LIST ENTRY 35000002 VSLLEN EQU VSLENDPT-VSL - LENGTH OF VSL ENTRY 36000002 MEND , */ 37000021 *%VSLPLS : ; 38000002 * /*******************************************************************/ 38010002 * /* VIRTUAL SUBAREA LIST ENTRY 9/27/72 */ 38012002 * /* */ 38014002 * /* */ 38016002 * /* A VIRTUAL SUBAREA LIST IS THE PARAMETER LIST TO PSI WHICH */ 38018002 * /* DESCRIBES A VIRTUAL SUBAREA THAT IS TO BE PROCESSED AND WHAT */ 38018402 * /* PROCESSING IS TO BE DONE. */ 38020002 * /*******************************************************************/ 38070002 * %IF VSL9999^=',' /* IS BLOCK PART OF STRUCTURE */ 39250002 * %THEN %VSL9999=';'; /* NO, SET UP NORMAL END */ 39300002 * %IF VSLLEVEL^='' /* DID USER SUPPLY LEVEL NUMBER */ 39350002 * %THEN %GOTO VSLPLS1; /* YES, DO NOT GEN 1 LEVEL */ 39400002 *DECLARE 40000021 * 1 VSL BASED(VSLPTR) 41000002 * %GOTO VSLPLS2; /* SKIP GEN FOR USER-GIVEN LEVEL */ 41050002 * %VSLPLS1: VSLDUM=VSLLEVEL||' VSL'; /* SET UP USER-SUPPLIED LEVELS */ 41100002 * VSLDUM 41150002 * %VSLPLS2:; 41200002 * BDY(WORD), 41250002 * 4 VSLSTRT PTR(31), /* FULL WORD REFERENCE TO 41300002 * VSLSTRTA. */ 41350002 * 8 VSLFLAG1 BIT(8), /* FIRST FLAG FIELD */ 44000002 * 12 VSLCONT BIT(1), /* CONTINUATION FLAG. IF ON, 48000002 * VSLSTRTA POINTS TO THE NEXT 49000002 * VSL ENTRY. OTHERWISE, THIS IS 50000002 * A NORMAL VSL. */ 50050002 * 12 VSLFIX BIT(1), /* PGFIX OPTION FLAG */ 51000002 * 12 VSLFREE BIT(1), /* PGFREE OPTION FLAG */ 52000002 * 12 VSLOAD BIT(1), /* PGLOAD OPTION FLAG */ 53000002 * 12 VSLRLS BIT(1), /* PGRLSE OPTION FLAG */ 54000002 * 12 VSLRSV1 BIT(1), /* RESERVED */ 55000002 * 12 VSLONG BIT(1), /* LONG-TERM FIX OPTION FLAG FOR 56000002 * PGFIX. */ 56010002 * 12 VSLRSV2 BIT(1), /* RESERVED */ 56050002 * 8 VSLSTRTA PTR(24), /* START ADDRESS OF THE VIRTUAL 58000002 * SUBAREA DESCRIBED BY THIS 59000002 * ENTRY. */ 60000002 * 4 VSLEND PTR(31), /* FULL WORD REFERENCE FOR 60050002 * VSLENDA. */ 60100002 * 8 VSLFLAG2 BIT(8), /* SECOND FLAG FIELD */ 63000002 * 12 VSLAST BIT(1), /* LAST ENTRY IN LIST OF REQUESTS*/ 64000002 * 12 VSLNULL BIT(1), /* NULL ENTRY FLAG. IF ON, 65000002 * INDICATES THAT THE ENTRY IS TO 66000002 * BE IGNORED. */ 67000002 * 12 VSLRAO BIT(1), /* REAL ADDRESS OPTION FLAG. 68000002 * IF ON, THE REAL STORAGE ADDRESS 69000002 * ASSIGNED TO THE VIRTUAL AREA 70000002 * WILL BE STORED IN VSLENDA. 73000002 * NOT SUPPORTED IN VS2/2. */ 73050002 * 12 VSLERR BIT(1), /* ERROR FLAG FOR UNDEFINED 75000002 * VIRTUAL SPACE. */ 76000002 * 12 VSLRSV3 BIT(1), /* RESERVED */ 77000002 * 12 VSLPGOUT BIT(1), /* PERFORM A PAGEOUT OPERATION */ 77050002 * 12 VSLKEPRL BIT(1), /* KEEP REAL FRAME AFTER PAGEOUT */ 77100002 * 12 VSLEXTRS BIT(1), /* RESERVED FOR EXPANSION */ 77150002 * 8 VSLEND1A PTR(24) VSL9999 /* END ADDRESS PLUS 1 OF THE 86000002 * VIRTUAL SUBAREA DESCRIBED BY 87000002 * THIS ENTRY. */ 88000002 * %VSLLEN='LENGTH(VSL)'; /*GET LENGTH OF THE VSL */ 88050002