IEECVFTD CSECT 00050002 SPACE 2 00100002 * THIS ROUTINE WAS CREATED FOR PROGRAM FUNCTION KEY (PFK) SUPPORT, * 00150002 * LINE ITEM 21003, OS RELEASE 21. * 00200002 TITLE 'IEECVFTD MESSAGE 3 - PFK SUPPORT MESSAGES' 00250002 *********************************************************************** 00300002 * 00350002 * STATUS * 00400002 * CHANGE LEVEL 0 * 00450002 * FUNCTION * 00500002 * TO PLACE ERROR MESSAGES OR INFORMATIONAL MESSAGES INTO THE * 00550002 * INSTRUCTION. * 00600002 * ENTRY POINT * 00650002 * IEECVFTD (CSECT) * 00700002 * INPUT * 00800002 * BIT SETTINGS IN DCMCMSG4 * 00850002 * TO INDICATE WHICH MESSAGE MUST BE MOVED INTO THE DCM * 00900002 * OUTPUT * 00950002 * INDICATIONS TO I/O ROUTINE OF WHAT TO WRITE * 01000002 * EXTERNAL REFERENCES * 01050002 * NONE * 01100002 * EXITS,NORMAL * 01150002 * IEECVETH OR P OR R DEVICE DEPENDENT I/O * 01200002 * EXITS,ERROR * 01250002 * NONE * 01300002 * TABLES/WORK AREAS * 01350002 * DISPLAY CONTROL MODULE (CONTAINED IN DSECT) * 01400002 * ATTRIBUTES * 01450002 * REFRESHABLE, PRIVILEGED, TYPE 4 SVC * 01500002 * NOTES * 01550002 * THE OPERATION OF THIS MODULE DOES NOT DEPEND UPON A PARTICULAR * 01600002 * INTERNAL PRESENTATION OF THE EXTERNAL CHARACTER SET. * 01650002 * * 01700002 *********************************************************************** 01750002 EJECT 01800002 * REGISTER EQUATES 01850002 * 01900002 X1PARM EQU 1 01910002 XERTRN EQU 14 01912002 XFBRANCH EQU 15 01920002 MYBASE EQU 12 THIS MODULE'S BASE REG 01950002 CXSABASE EQU 11 CXSA BASE REG 02000002 PARM EQU 1 PARAMETER LIST POINTER 02050002 RETURN EQU 14 RETURN REG 02100002 UCMEBASE EQU 13 UCME BASE REG 02150002 DCMBASE EQU 10 DCM BASE REG 02200002 UCMBASE EQU 9 UCM BASE REG 02250002 X2 EQU 2 WORK REG 02300002 X3 EQU 3 WORK REG 02350002 XWORK EQU 4 WORK REG 02400002 XWORK1 EQU 5 WORK REG 02450002 X6 EQU 6 WORK REG 02500002 X7 EQU 7 WORK REG 02550002 X8 EQU 8 WORK REG 02600002 XE EQU 14 02650002 CODEREG EQU 15 RETURN CODE REG 02700002 * 02750002 *********************************************************************** 02800002 * EQUATES 02850002 * 02900002 ID1 EQU C'F' 1ST CHARACTER OF CSECT ID 02910002 ID2 EQU C'D' 2ND CHARACTER OF CSECT ID 02920002 N0 EQU 0 FIELD DISPLACEMENT 02950002 N1 EQU 1 FIELD DISPLACEMENT 03000002 N2 EQU 2 FIELD DISPLACEMENT 03050002 N3 EQU 3 FIELD DISPLACEMENT 03100002 N4 EQU 4 FIELD DISPLACEMENT 03150002 N6 EQU 6 FIELD DISPLACEMENT 03250002 N15 EQU 15 FIELD DISPLACEMENT 03750002 N21 EQU 21 FIELD DISPLACEMENT 03800002 N25 EQU 25 FIELD DISPLACEMENT 03850002 N35 EQU 35 FIELD DISPLACEMENT 03900002 N37 EQU 37 FIELD DISPLACEMENT 03950002 N46 EQU 46 FIELD DISPLACEMENT 04000002 N59 EQU 59 FIELD DISPLACEMENT 04050002 N255 EQU 255 USED TO TURN BITS OFF WITH 04100002 * 04150002 BLANK EQU C' ' BLANK CHAR. 04200002 F0 EQU X'F0' BITS TO FIX SIGN OF CONVERTED NO. 04250002 *********************************************************************** 04300002 EJECT 04350002 */*IEECVFTD: CHART */ 04400002 */*IEECVFTD: E MESSAGE MOD 3 */ 04450002 */* P ESTABLISH ADDRESSABILITY */ 04500002 */* P DETERMINE TYPE OF MESSAGE TO BE DISPLAYED */ 04550002 */* D (NO,,YES,IGNORE) LAST INTRPT IGNORED MSG ? */ 04600002 */* D (NO,,YES,NOTSUP) PFK NN NOT SUPPORTED MSG ? */ 04650002 */* D (NO,,YES,NOTDEF) PFK NN NOT DEFINED MSG ? */ 04700002 */* D (NO,,YES,NOALLOC) PFK NOT ALLOC MSG ? */ 04750002 */*IOEXIT: P INDICATE SOUND ALARM */ 04800002 */* P SET EXIT TO PROPER I/O ROUTINE */ 04850002 */*EXIT: R XCTL TO NEXT LOAD */ 04900002 */*IGNORE: S BLINST RTN: GO BLANK INSTRUCTION LINE */ 04950002 */* P (,INSTWRIT) PUT ERROR MSG IN INSTRUCTION LINE */ 05000002 */*NOTSUP: S BLINST RTN: GO BLANK INSTRUCTION LINE */ 05050002 */* P (,CNVRTPFK) PUT ERROR MSG IN INSTRUCTION LINE */ 05100002 */*NOTDEF: S BLINST RTN:GO BLANK INSTRUCTION LINE */ 05150002 */* P (,CNVRTPFK) PUT ERROR MSG IN INSTRUCTION LINE */ 05200002 */*NOALLOC: S BLINST RTN: GO BLANK INSTRUCTION LINE */ 05250002 */* P PUT ERROR MSG IN INSTRUCTION LINE */ 05300002 */*INSTWRIT: P INDICATE WRITE INSTRUCTION LINE */ 05350002 */* D (NO,IOEXIT,YES,) DOES DEVICE HAVE LITE PEN ? */ 05400002 */* P PUT 'ENTER - CANCEL MSG IN INSTR LINE */ 05450002 */* P (,IOEXIT) INDICATE ERROR MSG IN INSTR LINE */ 05500002 */*CNVRTPFK: P CONVERT PFK NUMBER FOR PRINT */ 05550002 */* P (,INSTWRIT) PUT NUMBER INTO MSG */ 05600002 */*BLINST: E BLINST RTN */ 05650002 */* P BLANK INSTRUCTION LINE IN DCM */ 05700002 */* R BR 14 */ 05750002 */*IEECVFTD: END */ 05800002 EJECT 05850002 * ESTABLISH ADDRESSABILITY 05900002 * 05950002 BALR MYBASE,N0 ESTABLISH PROGRAM ADDRESSABILITY 06000002 USING *,MYBASE 06050002 B BEGIN BRANCH AROUND PATCH AREA 06060002 ICATCH DC CL72'IEECVFTD' EYECATCHER AND FIELD MAINTENANCE 06070002 BEGIN EQU * END OF PATCH AREA 06080002 * 06100002 LR CXSABASE,PARM ESTABLISH CXSA BASE REG 06150002 USING CXSA,CXSABASE 06200002 L UCMEBASE,CSAUCM ESTABLISH UCM ENTRY BASE REG 06300002 USING UCMLIST,UCMEBASE 06350002 L DCMBASE,UCMXB LOAD RDCM PT 06400002 L DCMBASE,N0(DCMBASE) LOAD TDCM PT 06450002 USING DCMSTRT,DCMBASE ESTABLISH T DCM BASE REG 06500002 L UCMBASE,CSACTLM LOAD UCM POINTER 06550002 USING UCM,UCMBASE ESTABLISH UCM BASE REG 06600002 MVC DCMTRACE(DCMTRLEN),DCMTRAC2 SHIFT OLD TRACE ENTRIES 06610002 MVI DCMTREN1,ID1 PUT CSECT ID INTO 06620002 MVI DCMTREN2,ID2 NEW TRACE ENTRY 06630002 L XFBRANCH,CSAXC ADDRESS FREELOCK SUBROUTINE 06640002 LR X1PARM,CXSABASE PASS CXSA ADDRESS IN REG 1 06642002 BALR XERTRN,XFBRANCH RELEASE LOCKS 06644002 * 06650002 L X2,DCMAINS LOAD ADDR OF INSTRUCTION LINE 06700002 * 06750002 * TEST FOR TYPE OF MESSAGE TO BE MOVED INTO INSTRUCTION LINE 06800002 * 06850002 TM DCMCMSG4,DCMPFKIP LAST INTERRUPT IGNORED MSG 06900002 BO IGNORE YES- 06950002 TM DCMCMSG4,DCMPFKNA PFJ NN NOT SUPPORTED(WRONG KEY) 07000002 BO NOTSUP YES- 07050002 TM DCMCMSG4,DCMPFKND PFK NN NOT DEFINED MSG 07100002 BO NOTDEF YES- 07150002 TM DCMCMSG4,DCMPFKNO PFK NOT ALLOCATED MSG 07200002 BO NOALLOC YES- 07250002 * NONE OF ABOVE, GO TO I/O ROUTINE 07300002 * 07350002 IOEXIT EQU * 07400002 OI DCMIOCM1,DCMSOUND TURN ON SOUND ALARM BIT 07450002 L XFBRANCH,DCMIORTN LOAD IO ROUTINE ADDRESS 07500002 L X1PARM,DCMCXSVE RESTORE CXSA ADDRESS 07650002 BR XFBRANCH EXIT TO IEECVET(H,P,R, OR U) 07700002 * 07900002 IGNORE EQU * 07950002 NI DCMCMSG4,N255-DCMPFKIP TURN BIT OFF 08000002 BAL XE,BLINST BLANK INSTRUCTION LINE 08050002 MVC N0(N46,X2),IGNORMSG MOVE IN ERROR MESSAGE 08100002 B INSTWRIT EXIT TO I/O RTN 08150002 EJECT 08200002 NOTSUP EQU * 08250002 NI DCMCMSG4,N255-DCMPFKNA TURN BIT OFF 08300002 BAL XE,BLINST BLANK INSTRUCTION LINE 08350002 MVC N0(N37,X2),SUPPORT MOVE IN ERROR MESSAGE 08400002 B CNVRTPFK GO CONVERT PFK NO. 08450002 * 08500002 NOTDEF EQU * 08550002 NI DCMCMSG4,N255-DCMPFKND TURN BIT OFF 08600002 BAL XE,BLINST BLANK INSTRUCTION LINE 08650002 MVC N0(N35,X2),DEFINE MOVE IN ERROR MESSAGE 08700002 B CNVRTPFK GO CONVERT PFK NO. 08750002 * 08800002 NOALLOC EQU * 08850002 NI DCMCMSG4,N255-DCMPFKNO TURN BIT OFF 08900002 BAL XE,BLINST BLANK INSTRUCTION LINE 08950002 MVC N0(N25,X2),NOALMSG MOVE IN ERROR MESSAGE 09000002 * 09050002 INSTWRIT EQU * 09100002 OI DCMIOCM1,DCMWRINS INDICATE WRITE INSTRUCTION LINE 09150002 TM DCMIOUNQ,DCMW2250 Q. IS DEVICE A LIGHT PEN DEVICE 09200002 BNO EXITWRIT NO--EXIT 09250002 MVC N59(N15,X2),ENCN YES-MOVE ENTER-CANCEL MSG INTO LINE 09300002 NI DCMIOUNQ,N255-DCMINNOR TURN OFF NORMAL LINE BIT 09350002 OI DCMIOUNQ,DCMINERR INDICATE ERROR MSG IN INST. LINE 09400002 EXITWRIT EQU * 09450002 B IOEXIT EXIT TO I/O RTN 09500002 * 09550002 CNVRTPFK EQU * 09600002 SR XWORK,XWORK CLEAR REG 09650002 IC XWORK,DCMPFKNM LOAD PFK NO. 09700002 CVD XWORK,DCMPACK CONVERT PFK NO. TO DECIMAL 09750002 UNPK DCMPACK(N3),DCMPACK+N6(N2) UNPACK NO. 09800002 OI DCMPACK+N2,F0 FIX SIGN 09850002 MVC N21(N2,X2),DCMPACK+N1 MOVE EBCDIC CONVERTED PFK NO. 09900002 * 09950002 B INSTWRIT 10000002 BLINST EQU * 10050002 LR XWORK1,X2 LOAD ADDR OF INSTRUCTION LINE 10100002 LH XWORK,DCMLGNTH GET LENGTH OF A LINE 10150002 BCTR XWORK,N0 SUBTRACT 2 10200002 BCTR XWORK,N0 FROM LENGTH OF MOVE 10250002 MVI N0(XWORK1),BLANK BLANK 1ST CHAR 10300002 EX XWORK,BLANKIT PROPAGATE BLANKS 10350002 BR XE 10400002 * 10450002 EJECT 10500002 * 10550002 BLANKIT MVC N1(N0,XWORK1),N0(XWORK1) USED FOR BLANKING 10600002 * 10650002 * CONSTANTS 10700002 SUPPORT DC C'IEE721I SELECTED PFK NN NOT SUPPORTED' 37 CHARS 10750002 DEFINE DC C'IEE722I SELECTED PFK NN NOT DEFINED' 35 CHARS 10800002 IGNORMSG DC C'IEE723I PFK IN PROCESS. LAST INTERRUPT IGNORED' 46 C 10850002 NOALMSG DC C'IEE720I NO PFK ALLOCATION' 25 CHARS 10900002 ENCN DC C'*ENTER**CANCEL*' 15 CHARS 10950002 EJECT 11000002 * ALL DSECTS FOLLOW THIS POINT 11450002 * 11500002 * 11550002 IEERDCM 11560002 EJECT 11570002 IEETDCM 11600002 EJECT 11700002 IEECUCM FORMAT=NEW 11750002 EJECT 11760002 IHACTM CXSA 11850002 * 11900002 *********************************************************************** 11950002 END 12000002