         MACRO                                                          06000000
&NAME    JSAVE &BASE=YES                                                12000000
.*       SAVES THE REGISTERS OF THE CALLING PROGRAM INTO A PUSH DOWN    12050000
.*       SAVE AREA (R2 THRU R9). UNLESS OVERRIDDEN THE MACRO WILL LOAD  12100000
.*       THE BASE REGISTER R8, FROM R12 AND GIVE A USING STATEMENT.     12150000
         AIF   (K'&NAME EQ 0).ERR1                                      18000000
         AIF   ('&BASE' EQ 'NO').NXA                                    24000000
         USING &NAME,R8                 SET USING FOR SUBR BASE         30000000
.NXA     ANOP                                                           36000000
&NAME    L     R15,JCLVLPTR             POINT TO CURRENT LEVEL          42000000
         LA    R15,JSAVESZ(,R15)        INCREMENT LEVEL POINTER         48000000
         ST    R15,JCLVLPTR             STORE NEW LEVEL POINTER         54000000
         STM   R2,R9,0(R15)             SAVE R2 THRU R9                 60000000
         AIF   ('&BASE' EQ 'NO').NXB                                    66000000
         LR    R8,R12                   ESTABLISH SUBR BASE             72000000
.NXB     MEXIT                                                          78000000
.ERR1    MNOTE 8,'OMITTED NAME.'                                        84000000
         MEND                                                           90000000
