MACRO , XSAVE - V1M00 00010000 &LABEL XSAVE +00020000 &BASE=(11), +00030000 ®S=(14,12), +00040000 &ID=, +00050000 &VERSION=, +00060000 &DSA=72, +00070000 &ORIGIN=*, +00080000 &CFL=YES 00090000 .* 00100000 LCLC &EPID,&BASR,&START 00110000 .* 00120000 .BEGIN AIF ('&LABEL' EQ '').IDT 00130000 .* 00140000 SPACE 00150000 &LABEL DS 0H 00160000 ENTRY &LABEL 00170000 SPACE 00180000 .* 00190000 .IDT AIF (T'&ID EQ 'O').IDD 00200000 &EPID SETC '&ID' 00210000 AGO .VER 00220000 .IDD AIF ('&LABEL' EQ '').IDC 00230000 &EPID SETC '&LABEL' 00240000 AGO .VER 00250000 .IDC ANOP 00260000 &EPID SETC '&SYSECT' 00270000 .VER AIF (T'&VERSION EQ 'O').GEN 00280000 &EPID SETC '&EPID-&VERSION-&SYSDATE-&SYSTIME' 00290000 MNOTE *,' &EPID' 00300000 .* 00310000 .GEN ANOP 00320000 &BASR SETC '&BASE(1)' 00330000 .* 00340000 &START SETC '&ORIGIN' 00350000 AIF ('&ORIGIN' NE '@').START 00360000 &START SETC '&SYSECT' 00370000 .START AIF ('&ORIGIN' EQ '*').HERE 00380000 .* 00390000 USING &START,&BASR 00400000 SAVE ®S,,&EPID 00410000 BALR &BASR,0 00420000 LA 14,*-&ORIGIN 00430000 SLR &BASR,14 00440000 LR 2,13 00450000 SPACE 00460000 .* 00470000 AGO .GETDSA 00480000 .HERE ANOP 00490000 .* 00500000 USING &START,&BASR 00510000 SAVE ®S,,&EPID 00520000 LR &BASR,15 00530000 LR 2,13 00540000 SPACE 00550000 .* 00560000 .GETDSA AIF ('&DSA' EQ '0').NOCFL 00570000 .* 00580000 LA 3,&DSA 00590000 GETMAIN R,LV=(3) 00600000 ST 3,0(1) 00610000 ST 13,4(1) 00620000 LR 13,1 00630000 .* 00640000 AIF ('&CFL' EQ 'NO').NOCFL 00650000 .* 00660000 ST 1,8(2) 00670000 .* 00680000 .NOCFL ANOP 00690000 .* 00700000 LM 14,04,12(2) 00710000 SPACE 00720000 .* 00730000 MEND 00740000