//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(WTO). * *********************************************************************** MAINPROC DS 0H * *----------------------------------* * * DISPLAY SINGLE-LINE MESSAGE * * *----------------------------------* WTO 'ABC100I SINGLE-LINE MESSAGE-1', + ROUTCDE=2,DESC=6 WTO 'ABC100I SINGLE-LINE MESSAGE-2', + ROUTCDE=(2,11),DESC=6,MCSFLAG=NOTIME WTO 'ABC100I SINGLE-LINE MESSAGE-3', + ROUTCDE=2,DESC=6,MCSFLAG=BRDCST WTO 'ABC100I SINGLE-LINE MESSAGE-4', + ROUTCDE=2,DESC=6,MCSFLAG=HRDCPY SPACE , MVC NAME,=CL8'MASTER' SET TARGET CONSOLE NAME + VALID NAME GET FROM D C RESULT SLR R0,R0 CLEAR GR0 WTO 'ABC100I SINGLE-LINE MESSAGE-5', + DESC=6,CONSNAME=NAME SPACE , * *----------------------------------* * * DISPLAY RETAIN MESSAGE * * *----------------------------------* WTO TEXT=MSGAREA1, MESSAGE RETAIN DURING JOBSTEP + ROUTCDE=2,DESC=1 WTO TEXT=MSGAREA2, MESSAGE RETAIN DURING JOBSTEP + ROUTCDE=2,DESC=2 WTO TEXT=MSGAREA3, MESSAGE RETAIN UNTIL K C,A,id + ROUTCDE=2,DESC=11 LR R2,R1 SAVE RETAIN MESSAGE-ID NUMBER DOM MSG=(2) DELETE RETAIN MESSAGE SPACE , * *----------------------------------* * * DISPLAY MULTIPLE LINE MESSAGE * * *----------------------------------* WTO ('ABC200I CONTROL LINE MESSAGE',C), + ('FIELD1---- FIELD2---- FIELD3---- FIELD4---- LABEL',L),+ ('DATA LINE1 DATA LINE1 DATA LINE1 DATA LINE1',D), + ('DATA LINE2 DATA LINE2 DATA LINE2 DATA LINE2',D), + ('DATA LINE3 DATA LINE3 DATA LINE3 DATA LINE3',D), + ('DATA LINE4 DATA LINE4 DATA LINE4 DATA LINE4',D), + ('DATA LINE5 DATA LINE5 DATA LINE5 DATA LINE5',D), + ('DATA LINE6 DATA LINE6 DATA LINE6 DATA LINE6',D), + ('DATA LINE7 DATA LINE7 DATA LINE7 DATA LINE7',D), + ('DATA LINE8 DATA LINE8 DATA LINE8 DATA LINE8',D), + ('DATA LINE9 DATA LINE9 DATA LINE9 DATA LINE9',D), + ('DATA LINE0 DATA LINE0 DATA LINE0 DATA LINE0',D), + (,E) SPACE , WTO TEXT=((CNTLLINE,C),(LABELINE,L), + (DATALINE,D),(DATALINE,D),(DATALINE,D),(DATALINE,D), + (DATALINE,D),(DATALINE,D),(DATALINE,D),(DATALINE,DE)) SPACE , * *----------------------------------* * * END OF PROCESSING * * *----------------------------------* SLR 15,15 LOAD RETURN CODE = 0 B EXITPROC DO EXIT PROCESSING EJECT , *********************************************************************** * DATA AREA * *********************************************************************** DS 0D *---------------------------------------------------------------------* NAME DC CL8' ' MSGAREA1 DS 0H DC Y(L'MSGTEXT1) MSGTEXT1 DC C'ABC100I SINGLE-LINE MESSAGE DESC=1' MSGAREA2 DS 0H DC Y(L'MSGTEXT2) MSGTEXT2 DC C'ABC100I SINGLE-LINE MESSAGE DESC=2' MSGAREA3 DS 0H DC Y(L'MSGTEXT3) MSGTEXT3 DC C'ABC100I SINGLE-LINE MESSAGE DESC=11' SPACE , CNTLLINE DC Y(34),CL34'ABC300I CONTROL LINE MESSAGE' LABELINE DC Y(70),CL70'FIELD1---- FIELD2---- FIELD3---- FIELD4----' DATALINE DC Y(70),CL70'DATA LINE DATA LINE DATA LINE DATA LINE' *---------------------------------------------------------------------* 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 // //