//JOBNAME JOB (ACCT),NAME,CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1) //********************************************************************* //ASMCG PROC AOPT=,APARM=,LOPT=, // MAC1='SYS1.MACLIB', // MAC2='SYS1.MACLIB', // MAC3='SYS1.MODGEN' //ASM EXEC PGM=ASMA90, // PARM=('OBJ,NODECK,LC(32767),XREF(SHORT),TERM,RLD,ASA,&AOPT', // 'US(MAP,WARN(11)),SYSPARM(&APARM)') //SYSPRINT DD SYSOUT=* //SYSTERM DD SYSOUT=* //SYSLIB DD DISP=SHR,DSN=&MAC1 // DD DISP=SHR,DSN=&MAC2 // DD DISP=SHR,DSN=&MAC3 //SYSUT1 DD UNIT=SYSALLDA,SPACE=(TRK,(80,20)) //SYSLIN DD DISP=(,PASS),UNIT=SYSALLDA,SPACE=(TRK,(30,15),RLSE), // DCB=(RECFM=FB,BLKSIZE=0,LRECL=80) //GO EXEC PGM=LOADER,COND=(5,LT,ASM), // PARM=('LIST,LET,MAP,XREF,&LOPT') //SYSLOUT DD DUMMY //SYSLIN DD DSN=*.ASM.SYSLIN,DISP=(OLD,DELETE) // PEND //********************************************************************* //STEP1 EXEC ASMCG //ASM.SYSIN DD * *=====================================================================* * MVS STANDARD HOUSE KEEPING PROCEDURE * *=====================================================================* * *----------------------------------* * * ENTRY PROCESSING * * *----------------------------------* MYASMPGM CSECT , DEFINE CONTROL SECTION MYASMPGM AMODE 31 DEFINE DEFAULT AMODE=31 MYASMPGM RMODE 24 DEFINE DEFAULT RMODE=24 USING *,12 DEFINE BASE REGISTER SAVE (14,12),,* SAVE CALLER REGISTERS LA 12,0(,15) GR12 --> OUR 1ST BASE ADDRESS LR 15,13 SAVE CALLER SAVEAREA CNOP 0,4 INSURE FULL WORD BOUNDARY BAS 13,*+4+72 AROUND OUR SAVEAREA DC 18F'-1' OUR GPR SAVEAREA ST 15,4(,13) SAVE CALLER SAVEAREA POINTER ST 13,8(,15) SET BACK CHAIN FOR LINK TRACE B MAINPROC DO MAINLINE PROCESSING * *----------------------------------* * * EXIT PROCESSING * * *----------------------------------* EXITPROC DS 0H L 13,4(,13) RESTORE CALLER SAVEAREA ST 15,16(,13) PASS RETURN CODE TO CALLER RETURN (14,12),T RESTORE CALLER REGISTERS + AND RETURN TO CALLER EJECT , *********************************************************************** * MAIN LINE PROCESSING. * * ===================================================== * * GR1 -- EXEC PARAMETER PLIST * * GR12 - BASE REGISTER * * GR13 - OUR REGISTER SAVEAREA * *---------------------------------------------------------------------* * SAMPLE CODE OF 'MVS ADVANCED SKILL Vol-1' CHAPTER 5.7 * * ===================================================== * * SAMPLE CODE TO WRITE MESSAGE TO OPERATOR CONSOLE AND * * WAIT OPERATOR REPLY(WTOR). * *********************************************************************** MAINPROC DS 0H * *----------------------------------* * * DISPLAY MSG AND WAIT REPLY * * *----------------------------------* MVI WTORECB,0 CLEAR ECB WTOR 'ABC100D ENTER OPERATOR REPLY, GO OR CANCEL.', + RPLYAREA,L'RPLYAREA,WTORECB, + ROUTCDE=2,DESC=7 WAIT ECB=WTORECB WAIT OPERATOR REPLY WTO TEXT=ECHOMSG, ECHO BACK ENTERED REPLY DATA + ROUTCDE=2,DESC=6 SPACE , MVI WTORECB,0 CLEAR ECB WTOR TEXT=(MSG101D, MESSAGE RETAIN DURING JOBSTEP + RPLYAREA,L'RPLYAREA,WTORECB), + ROUTCDE=2,DESC=(7,13) WAIT ECB=WTORECB WAIT OPERATOR REPLY WTO TEXT=ECHOMSG, ECHO BACK ENTERED REPLY DATA + ROUTCDE=2,DESC=6 SPACE , * *----------------------------------* * * END OF PROCESSING * * *----------------------------------* SLR 15,15 LOAD RETURN CODE = 0 B EXITPROC DO EXIT PROCESSING EJECT , *********************************************************************** * DATA AREA * *********************************************************************** DS 0D *---------------------------------------------------------------------* WTORECB DC F'0' ECB AREA ECHOMSG DS 0H REPLY DATA ECHO MESSAGE DC Y(LCHOMSG) DC C'ENTERED REPLY DATA ==> ' RPLYAREA DC CL16' ' REPLY DATA STORE AREA LCHOMSG EQU *-ECHOMSG-2 LENGTH OF MESSAGE TEXT SPACE , MSG101D DS 0H REPLY REQUEST MESSAGE DC Y(L'MSGTX101) MSGTX101 DC C'ABC101D ENTER PARAMETER VALUE, OR U.' *---------------------------------------------------------------------* LTORG , LITERAL POOL AT HERE DROP , FORGET ALL BASE REGISTERS EJECT , *********************************************************************** * DATA AREA (OUTSIDE OUR BASE) * *********************************************************************** *---------------------------------------------------------------------* * LOCAL WORKAREA * *---------------------------------------------------------------------* *---------------------------------------------------------------------* * DSECTS * *---------------------------------------------------------------------* *---------------------------------------------------------------------* * S/370, ESA/390 REGISTER EQUATES * *---------------------------------------------------------------------* YREGS , OS: REGISTER EQUATES END // //