//BUZZWORD JOB (0,3114),ROLLE,CLASS=A,MSGLEVEL=(1,1), 00001004 // COND=(0,NE), 00002004 // RESTART=*, 00003004 //* NOTIFY=IBMUSER, 00003504 // MSGCLASS=A 00004004 /*ROUTE PRINT ECDC 00005004 //STEP1 EXEC PGM=IEUASM,PARM='NODECK,LOAD,TEST' 00006004 //SYSPRINT DD SYSOUT=A 00007004 //SYSLIB DD DISP=SHR,DSN=SYS1.MACLIB 00008004 //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) 00009104 //SYSUT2 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) 00009204 //SYSUT3 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) 00009304 //SYSGO DD DSN=&LOADSET, 00009404 // DISP=(MOD,PASS), 00009504 // UNIT=SYSDA, 00009604 // SPACE=(TRK,(10,2),RLSE), 00009704 // DCB=(RECFM=FB,LRECL=80,BLKSIZE=00080) 00009804 //SYSIN DD * 00009904 MACRO 00017001 &NAME WORD &WORD 00020001 LCLA &S,&L 00030001 LCLC &C 00040002 AIF ('&WORD'(1,1) EQ '''').STRIP 00050001 &L SETA K'&WORD 00060001 &S SETA 1 00070001 AGO .DC 00080001 .STRIP ANOP 00090001 &L SETA K'&WORD-2 00100001 &S SETA 2 00110001 .DC ANOP 00120001 &C SETC '&WORD'(&S,&L) 00130002 &NAME DC AL01(&L),C'&C' 00140003 MEND 00150001 EJECT 00160001 LCLC &NAME 00170000 SPACE 1 00180000 &NAME SETC 'BUZZWORD' 00190000 SPACE 1 00200000 &NAME CSECT 00210000 SPACE 1 00220000 USING EPA,15 00230000 SPACE 1 00240000 EPA B BEGIN 00250000 SPACE 1 00260000 PROGINFO DC C'&NAME' 00270000 SPACE 1 00280000 BEGIN SAVE (14,12) 00290000 SPACE 1 00300000 LR BASE1,SAREG 00310000 LA SAREG,SAVE 00320000 ST BASE1,4(0,SAREG) 00330000 ST SAREG,8(0,BASE1) 00340000 SPACE 1 00350000 LA BASE1,&NAME 00360000 SPACE 1 00370000 DROP R15 00380000 USING &NAME,BASE1 00390000 SPACE 3 00400000 R0 EQU 0 00410000 R1 EQU 1 00420000 R2 EQU 2 00430000 R3 EQU 3 00440000 R4 EQU 4 00450000 R5 EQU 5 00460000 R6 EQU 6 00470000 R7 EQU 7 00480000 R8 EQU 8 00490000 R9 EQU 9 00500000 PARMBASE EQU 9 00510000 LINK EQU 10 SUBROUTINE LINKAGE (BAL) REGISTER. 00520000 DCBBASE EQU 11 DCB BASE REGISTER. 00530000 BASE1 EQU 12 00540000 SAREG EQU 13 00550000 R14 EQU 14 00560000 R15 EQU 15 00570000 SPACE 1 00580000 PRINT NOGEN 00590000 SPACE 1 00600000 DCBD DSORG=QS,DEVD=DA 00610000 SPACE 1 00620000 PRINT GEN 00630000 SPACE 3 00640000 PARMDS DSECT , PARM FIELD DEFINITION. 00650000 PARMLEN DS H PARM FIELD LENGTH. 00660000 PARM DS C PARM FIELD CONTENTS. 00670000 &NAME CSECT 00680000 SPACE 1 00690000 USING IHADCB,DCBBASE 00700000 EJECT 00710000 ST R1,PARMADDR 00720000 SPACE 1 00730000 PARMPROC L PARMBASE,PARMADDR 00740000 L PARMBASE,0(0,PARMBASE) 00750000 USING PARMDS,PARMBASE 00760000 SPACE 1 00770000 LH R1,PARMLEN 00780000 SPACE 1 00790000 LTR R1,R1 PARAMETER PRESENT? 00800000 BNP NOPARM NO, SET DEFAULTS. 00810000 SPACE 1 00820000 BCTR R1,0 YES, PROCESS PARM. 00830000 SPACE 1 00840000 EX R1,PARMPACK 00850000 SPACE 1 00860000 B PARMCONV 00870000 SPACE 1 00880000 NOPARM ZAP DUBLWORD,=P'050' LOAD DEFAULT VALUE. 00890000 SPACE 1 00900000 PARMCONV CVB R0,DUBLWORD 00910000 SPACE 1 00920000 LTR R0,R0 ANY WORDS TO BE GENERATED? 00930000 BNP RETURN NO, GET OUTTA HERE. 00940000 SPACE 1 00950000 ST R0,ROWLIM 00960000 SPACE 1 00970000 B OPEN 00980000 SPACE 1 00990000 ROWLIM DS F 01000000 ROWCNT DS F 01010000 PARMADDR DS A 01020000 PARMPACK PACK DUBLWORD,PARM(0) 01030000 SPACE 1 01040000 DROP PARMBASE 01050000 SPACE 3 01060000 OPEN OPEN (SYSPRINT,OUTPUT) 01070000 SPACE 1 01080000 SPACE 1 01090000 MVC LINE+1(L'PROGINFO),PROGINFO 01100000 BAL LINK,PRINT 01110000 L R1,ROWLIM 01120000 EJECT 01130000 GOTOIT ST R1,ROWCNT 01140000 SPACE 1 01150000 L R3,#LISTS 01160000 LA R9,LINE 01170000 SR R7,R7 ZERO OUT INDEX REGISTER. 01180000 SPACE 1 01190000 AGAIN TIME TU 01200000 SPACE 1 01210000 STM 0,1,TIME 01220001 MVI TIME+4,X'19' 01230000 SPACE 1 01240000 L R4,TIME 01250000 L R6,A$LISTS(R7) 01260000 L R8,#INLISTS(R7) 01270000 SRDA R4,32 01280000 DR R4,R8 01290000 LPR R4,R4 MAKE SURE IT'S POSITIVE. 01300000 SLA R4,2 MULTIPLY BY 4. 01310000 SPACE 1 01320000 L R14,0(R4,R6) LOAD ADDRESS OF WORD. 01330000 SR R1,R1 ZERO OUT REGISTER. 01340000 IC R1,0(0,R14) LOAD LENGTH OF WORD. 01350000 BCTR R1,0 DECREMENT FOR EXECUTED MVC. 01360000 EX R1,MVC 01370000 LA R7,L'A$LISTS(0,R7) 01380000 LA R9,2(R1,R9) BUMP TO NEXT AVAILABLE SPACE. 01390000 SPACE 1 01400000 BCT R3,AGAIN GET ANOTHER WORD. 01410000 SPACE 1 01420000 BAL LINK,PRINT PRINT COMPLETED LINE. 01430000 SPACE 1 01440000 L R1,ROWCNT 01450000 BCT R1,GOTOIT DO IT AGAIN. 01460000 SPACE 1 01470000 B EOJ DONE, RETURN. 01480000 EJECT 01490000 MVC MVC 0(0,R9),1(R14) 01500000 SPACE 3 01510000 PRINT ST LINK,PRLNSV 01520000 SPACE 1 01530000 LA DCBBASE,SYSPRINT 01540000 SPACE 1 01550000 TM DCBOFLGS,DCBOFOPN 01560000 BZ NOPRINT 01570000 SPACE 1 01580000 PUT (DCBBASE),LINE 01590000 SPACE 1 01600000 NOPRINT SR R15,R15 01610000 SPACE 1 01620000 TPUT LINE,L'LINE TRY THE TERMINAL. 01630000 SPACE 1 01640000 B *+4(R15) BRANCH ACCORDING TO RETURN CODE. 01650000 B TPUTOK 00 - SUCCESSFUL COMPLETION. 01660000 B TPUTOK 04 01670000 B TPUTOK 08 - ATTENTION KEY HIT. 01680000 B TPUTOK 0C 01690000 B TPUTOK 10 01700000 B TPUTOK 14 - TERMINAL DISCONNECTED. 01710000 SPACE 1 01720000 TPUTOK MVI LINE,X'40' 01730000 MVC LINE+1(L'LINE-1),LINE 01740000 SPACE 1 01750000 L LINK,PRLNSV 01760000 BR LINK 01770000 SPACE 1 01780000 PRLNSV DS A 01790000 SPACE 3 01800000 EOJ CLOSE (SYSPRINT) 01810000 SPACE 1 01820000 RETURN L SAREG,4(0,SAREG) 01830000 SPACE 1 01840000 RETURN (14,12),T,RC=0 01850000 EJECT 01860000 CNOP 0,8 01870000 DUBLWORD DS XL8 01880000 TIME DS XL8 01890000 SPACE 1 01900000 SAVE DS 18F 01910000 #INLISTS DC A(EQU#A,EQU#B,EQU#C) 01920000 A$LISTS DC A(LISTA,LISTB,LISTC) 01930000 #LISTS DC A((*-A$LISTS)/L'A$LISTS) 01940000 SPACE 3 01950000 LISTA DC A(MODULARX,DIGITIZE,INTEGRAT,STRUCTUR,LOGICALX,INCREMEN) 01960000 DC A(EXPANDAB,FACTORAB,BINOMIAL,MICROPRO,OPERATIO,THIRDGEN) 01970000 DC A(REALTIME,BIDIRECT,VIRTUALX,TRANSFOR,CORRESPO,OPTIONAL) 01980000 DC A(POSITION,RANDOMXX,RELOADAB,SEQUENTI,UNEQUALX,SYNCHRON) 01990000 DC A(ASYNCHRO,INDEPEND,INTERDEP,DEPENDEN,VARYINGX,INCOREXX) 02000000 DC A(MULTITAS) 02010000 EQU#A EQU (*-LISTA)/L'LISTA 02020000 SPACE 3 02030000 LISTB DC A(COMPRESS,RECORDIN,ITERATIO,COMMUNIC,LOWLEVEL,TRANSLAT) 02040000 DC A(STORAGEX,THROUGHP,IMPLEMEN,INTERPRO,BUFFERXX,INITIALI) 02050000 DC A(INDICATI,SEGMENTA,SEPARATI,SUPPRESS,STANDARD,TERMINAT) 02060000 DC A(SECURITY,INVERSIO,CONVERSI,SKEWINGX,NONNUMER,DEBUGGIN) 02070000 DC A(MANAGEME,CIRCUITX,SIMULATI,RECOVERY,STABILIT) 02080000 EQU#B EQU (*-LISTB)/L'LISTB 02090000 SPACE 3 02100000 LISTC DC A(TECHNIQU,SYSTEMXX,SUPERVIS,CAPACITY,RELATION,INTERFAC) 02110000 DC A(ENHANCEM,SUBROUTI,ANALYSIS,CONVERTE,CONCEPTX,DATABASE) 02120000 DC A(UNITXXXX,ENVIRONM,DESTINAT,DELIMITE,INDICATO,MODEXXXX) 02130000 DC A(ORGANIZA,POINTERX,PROCEDUR,PROCESSI,QUEUEXXX,REFERENC) 02140000 DC A(SOURCEXX,STATUSXX,SUBSYSTE,SUBSEQUE,SUBSETXX,GRADIENT) 02150000 DC A(PROCESSO,MONITORX,COMPILER,PROJECTX,DRIVERXX,ATTRIBUT) 02160000 DC A(CONTROLB) 02170000 EQU#C EQU (*-LISTC)/L'LISTC 02180000 SPACE 1 02190000 LINE DC CL133' ' 02200000 EJECT 02210000 SYSPRINT DCB DSORG=PS,MACRF=PM,DDNAME=SYSPRINT,RECFM=FB,EXLST=SYEXLST 02220000 EJECT 02230000 DS 0F 02240000 SYEXLST DC X'85',AL3(SYDCBX) 02250000 USING SYDCBX,R15 02260000 SPACE 1 02270000 SYDCBX LR DCBBASE,R1 02280000 SPACE 1 02290000 SYLRECL CLC DCBLRECL,=H'0' 02300000 BNE SYBLKSI 02310000 SPACE 1 02320000 MVC DCBLRECL,=H'80' 02330000 SPACE 1 02340000 SYBLKSI CLC DCBBLKSI,=H'0' 02350000 BNE SYRET 02360000 SPACE 1 02370000 MVC DCBBLKSI,DCBLRECL 02380000 SPACE 1 02390000 SYRET BR R14 02400000 EJECT 02410000 ANALYSIS DC AL1(08),C'ANALYSIS' 02420001 ASYNCHRO DC AL1(12),C'ASYNCHRONOUS' 02430001 ATTRIBUT DC AL1(09),C'ATTRIBUTE' 02440000 BIDIRECT DC AL1(14),C'BI-DIRECTIONAL' 02450000 BINOMIAL DC AL1(08),C'BINOMIAL' 02460000 BUFFERXX DC AL1(06),C'BUFFER' 02470000 CAPACITY DC AL1(08),C'CAPACITY' 02480000 CIRCUITX DC AL1(07),C'CIRCUIT' 02490000 COMMUNIC DC AL1(14),C'COMMUNICATIONS' 02500000 COMPILER DC AL1(08),C'COMPILER' 02510000 COMPRESS DC AL1(11),C'COMPRESSION' 02520000 CONVERSI DC AL1(10),C'CONVERSION' 02530000 CONCEPTX DC AL1(07),C'CONCEPT' 02540000 CONTROLB DC AL1(13),C'CONTROL BLOCK' 02550001 CONTROLL DC AL1(10),C'CONTROLLER' 02560000 CONVERTE DC AL1(09),C'CONVERTER' 02570000 CORRESPO DC AL1(13),C'CORRESPONDING' 02580000 DATABASE DC AL1(09),C'DATA BASE' 02590000 DEBUGGIN DC AL1(09),C'DEBUGGING' 02600000 DELIMITE DC AL1(09),C'DELIMITER' 02610000 DEPENDEN DC AL1(09),C'DEPENDENT' 02620000 DESTINAT DC AL1(11),C'DESTINATION' 02630000 DEVICEXX DC AL1(06),C'DEVICE' 02640000 DIGITIZE DC AL1(09),C'DIGITIZED' 02650000 DRIVERXX DC AL1(06),C'DRIVER' 02660000 ELECTROS DC AL1(16),C'ELECTROSENSITIVE' 02670000 ENHANCEM DC AL1(11),C'ENHANCEMENT' 02680000 ENVIRONM DC AL1(11),C'ENVIRONMENT' 02690000 EXPANDAB DC AL1(10),C'EXPANDABLE' 02700000 FACTORAB DC AL1(10),C'FACTORABLE' 02710000 GRADIENT DC AL1(08),C'GRADIENT' 02720000 IMPLEMEN DC AL1(14),C'IMPLEMENTATION' 02730000 INCOREXX DC AL1(07),C'IN-CORE' 02740000 INCREMEN DC AL1(11),C'INCREMENTAL' 02750000 INDEPEND DC AL1(11),C'INDEPENDENT' 02760000 INDICATO DC AL1(09),C'INDICATOR' 02770000 INDEXEDX DC AL1(07),C'INDEXED' 02780000 INDICATI DC AL1(10),C'INDICATION' 02790000 INITIALI DC AL1(14),C'INITIALIZATION' 02800000 INTEGRAT DC AL1(10),C'INTEGRATED' 02810000 INTERDEP DC AL1(14),C'INTERDEPENDENT' 02820000 INTERFAC DC AL1(09),C'INTERFACE' 02830000 INTERPRO DC AL1(12),C'INTERPROGRAM' 02840000 INVERSIO DC AL1(09),C'INVERSION' 02850000 ITERATIO DC AL1(09),C'ITERATION' 02860000 LOGICALX DC AL1(07),C'LOGICAL' 02870000 LOWLEVEL DC AL1(09),C'LOW-LEVEL' 02880000 MANAGEME DC AL1(10),C'MANAGEMENT' 02890000 MICROPRC DC AL1(14),C'MICROPROCESSOR' 02900000 MICROPRO DC AL1(17),C'MICROPROGRAMMABLE' 02910000 MODEXXXX DC AL1(04),C'MODE' 02920000 MODULARX DC AL1(07),C'MODULAR' 02930000 MONITORX DC AL1(07),C'MONITOR' 02940000 MULTITAS DC AL1(12),C'MULTITASKING' 02950000 NONNUMER DC AL1(11),C'NON-NUMERIC' 02960000 OPERATIO DC AL1(11),C'OPERATIONAL' 02970000 OPTIONAL DC AL1(08),C'OPTIONAL' 02980000 ORGANIZA DC AL1(12),C'ORGANIZATION' 02990000 PERIPHER DC AL1(10),C'PERIPHERAL' 03000000 POINTERX DC AL1(07),C'POINTER' 03010000 POSITION DC AL1(10),C'POSITIONAL' 03020000 PROCEDUR DC AL1(09),C'PROCEDURE' 03030000 PROCESSI DC AL1(10),C'PROCESSING' 03040000 PROCESSO DC AL1(09),C'PROCESSOR' 03050000 PROJECTI DC AL1(11),C'PROJECTION' 03060000 PROJECTX DC AL1(07),C'PROJECT' 03070000 QUEUEXXX DC AL1(05),C'QUEUE' 03080000 RANDOMXX DC AL1(06),C'RANDOM' 03090000 REALTIME DC AL1(09),C'REAL-TIME' 03100000 RECORDIN DC AL1(09),C'RECORDING' 03110000 RECOVERY DC AL1(08),C'RECOVERY' 03120000 REFERENC DC AL1(10),C'REFERENCES' 03130000 RELATION DC AL1(12),C'RELATIONSHIP' 03140000 RELOADAB DC AL1(10),C'RELOADABLE' 03150000 ROTATION DC AL1(10),C'ROTATIONAL' 03160000 SEQUENTI DC AL1(10),C'SEQUENTIAL' 03170000 SECURITY DC AL1(08),C'SECURITY' 03180000 SEGMENTA DC AL1(12),C'SEGMENTATION' 03190000 SEPARATI DC AL1(10),C'SEPARATION' 03200000 SIMULATI DC AL1(10),C'SIMULATION' 03210000 SKEWINGX DC AL1(07),C'SKEWING' 03220000 SOURCEXX DC AL1(06),C'SOURCE' 03230000 STABILIT DC AL1(09),C'STABILITY' 03240000 STANDARD DC AL1(15),C'STANDARDIZATION' 03250000 STATUSXX DC AL1(06),C'STATUS' 03260000 STORAGEX DC AL1(07),C'STORAGE' 03270000 STRUCTUR DC AL1(10),C'STRUCTURAL' 03280000 SUBROUTI DC AL1(10),C'SUBROUTINE' 03290000 SUBSCRIP DC AL1(11),C'SUBSCRIPTED' 03300000 SUBSEQUE DC AL1(11),C'SUBSEQUENCE' 03310000 SUBSETXX DC AL1(06),C'SUBSET' 03320000 SUBSYSTE DC AL1(09),C'SUBSYSTEM' 03330000 SUPERVIS DC AL1(10),C'SUPERVISOR' 03340000 SUPPRESS DC AL1(11),C'SUPPRESSION' 03350000 SYNCHRON DC AL1(11),C'SYNCHRONOUS' 03360000 SYSTEMXX DC AL1(06),C'SYSTEM' 03370000 TECHNIQU DC AL1(09),C'TECHNIQUE' 03380000 TERMINAT DC AL1(11),C'TERMINATION' 03390000 THIRDGEN DC AL1(16),C'THIRD-GENERATION' 03400000 THROUGHP DC AL1(10),C'THROUGHPUT' 03410000 TRANSFOR DC AL1(16),C'TRANSFORMATIONAL' 03420000 TRANSLAT DC AL1(11),C'TRANSLATION' 03430000 UNEQUALX DC AL1(07),C'UNEQUAL' 03440000 UNITXXXX DC AL1(04),C'UNIT' 03450000 VARYINGX DC AL1(07),C'VARYING' 03460000 VIRTUALX DC AL1(07),C'VIRTUAL' 03470000 EJECT 03480000 LTORG LTORG 03490000 SPACE 1 03500000 CNOP 0,8 03510000 SPACE 1 03520000 END EPA 03530000 //LKED EXEC PGM=IEWL,PARM='LIST,LET,NOTEST' 03540004 //SYSLIN DD DISP=(SHR),DSN=&&LOADSET 03550004 // DD *,DCB=BLKSIZE=80 03560004 NAME BUZZWORD(R) 03570004 //SYSPRINT DD SYSOUT=A 03580004 //SYSLOUT DD SYSOUT=A 03590004 //SYSLMOD DD DSN=IBMUSER.LOAD, //* UNIT=3330,VOL=SER=WORK02, //* SPACE=(CYL,(16,2,32)), //* DCB=(DSORG=PO,BLKSIZE=13070), // DISP=(SHR,KEEP,KEEP) //GO EXEC PGM=BUZZWORD,PARM=1000 03610004 //STEPLIB DD DISP=SHR,DSN=IBMUSER.LOAD 03620004 //SYSPRINT DD SYSOUT=A 03630004 //SYSUDUMP DD SYSOUT=A 03640004 // 03670004