ibm:vm370-lib:rscs:dmtmgx.assemble_src
Table of Contents
DMTMGX Source
References
- Fixes Applied : 0
- This Source Date : Thursday, December 7, 1978
- Last Fix ID : [Unmodified]
Source Listing
- DMTMGX.ASSEMBLE.txt
- MGX TITLE 'DMTMGX (RSCS) VM/370 - RELEASE 6' 00001000
- *. 00002000
- * MODULE NAME - 00003000
- * 00004000
- * DMTMGX 00005000
- * 00006000
- * FUNCTION - 00007000
- * 00008000
- * THIS ROUTINE TAKES AN MESSAGE REQUEST BUFFER AND 00009000
- * CONSTRUCTS THE MESSAGE FROM THE INFORMATION IN THAT 00010000
- * BUFFER AND THE MESSAGE TEXT FOUND IN DMTMSG. 00011000
- * 00012000
- * ATTRIBUTES - 00013000
- * 00014000
- * REUSABLE 00015000
- * 00016000
- * ENTRY POINTS - 00017000
- * 00018000
- * DMTMGX- TO WRITE A MESSAGE 00019000
- * 00020000
- * ENTRY CONDITIONS - 00021000
- * 00022000
- * R1 = ADDR OF MESSAGE ELEMENT 00023000
- * R14= RETURN ADDRESS 00024000
- * R15= ENTRY ADDRESS 00025000
- * 00026000
- * EXIT CONDITIONS - 00027000
- * 00028000
- * NORMAL - RETURN TO CALLER 00029000
- * 00030000
- * 00031000
- * ERROR - NONE 00032000
- * 00033000
- EJECT 00034000
- * 00035000
- * CALLS TO OTHER ROUTINES - 00036000
- * 00037000
- * PMSGREQ - TO STACK A MESSAGE FOR DMTREX 00038000
- * DMTREXHC - TO WRITE A MESSAGE TO CP 00039000
- * DMTSIG - TO ALERT A ANOTHER TASK WITH A MESSAGE ELEMENT 00040000
- * 00041000
- * EXTERNAL REFERENCES - 00042000
- * 00043000
- * TCOM - COMMON ROUTINE VECTOR TABLE 00044000
- * TLINKS - LINK TABLE CHAIN 00045000
- * DMTMSG - MESSAGE TABLE 00046000
- * 00047000
- * TABLES / WORKAREAS - 00048000
- * 00049000
- * NONE 00050000
- * 00051000
- * REGISTER USAGE - 00052000
- * 00053000
- * ALL SUBROUTINES IN THE MODULE CONFORM GENERALLY TO THIS USAGE; 00054000
- * ANY INDIVIDUAL DEVIATIONS OR EXTENSIONS ARE LISTED WITH THE 00055000
- * COMMAND DESCRIPTION 00056000
- * 00057000
- * GPR0 = WORK 00058000
- * GPR1 = LINK TABLE ADDRESSABILITY 00059000
- * GPR2 = BUFFER LOAD POINTER 00060000
- * GPR3 = BUFFER LOAD LIMIT 00061000
- * GPR4 = VARIABLE FIELD POINTER 00062000
- * GPR5 = VARIABLE FIELD LIMIT 00063000
- * GPR6 = SOURCE MSG POINTER 00064000
- * GPR7 = SOURCE MSG LIMIT 00065000
- * GPR8 = WORK 00066000
- * GPR9 = WORK 00067000
- * GPR10 = WORK 00068000
- * GPR11 = WORK 00069000
- * GPR12 = BASE REGISTER 00070000
- * GPR13 = WORK 00071000
- * GPR14 = RETURN 00072000
- * GPR15 = COMMON ROUTINE VECTOR TABLE ADDRESSABILITY 00073000
- * 00074000
- * NOTES - 00075000
- * 00076000
- * NONE 00077000
- * 00078000
- EJECT 00079000
- * 00080000
- * OPERATION - 00081000
- * 00082000
- * 1. BUILD THE MESSAGE HEADER 00083000
- * 00084000
- * 2. FIND THE MESSAGE IN THE MESSAGE TABLE 00085000
- * 00086000
- * 3. MOVE MESSAGE FROM TABLE TO OUTPUT BUFFER 00087000
- * SUBSTITUTING THE VARIABLE FIELDS FOR EACH 00088000
- * $ ENCOUNTERED. 00089000
- * 00090000
- * 4. GIVE THE BUILT MESSAGE TO THE APPROPRIATE 00091000
- * HANDLER BASED ON THE ACTION CODE OF: 00092000
- * X'80' RSS OPERATOR 00093000
- * X'40' ORIGINATING LINKID 00094000
- * X'20' VIRTUAL MACHINE USERID 00095000
- * X'10' LOCAL CP OPERATOR 00096000
- * 00097000
- *. 00098000
- EJECT 00099000
- DMTMGX CSECT 00100000
- SPACE 2 00101000
- * MESSAGE ROUTING CODE EQUATES 00102000
- SPACE 00103000
- RSS EQU X'80' RSS OPERATOR CONSOLE 00104000
- ORIG EQU X'40' 'ORIGINATING' LINK ID 00105000
- VMID EQU X'20' VIRTUAL MACHINE USER ID 00106000
- CP EQU X'10' LOCAL CP OPERATOR 00107000
- SPACE 00108000
- USING DMTMGX,R15 GET TEMPORARY ADDRESSABILITY 00109000
- STM R0,R15,MGXSAVE SAVE REGISTERS 00110000
- DROP R15 00111000
- USING SVECTORS,0 GET SVECTORS ADDRESSABILITY 00112000
- USING DMTMGX,R12 GET THE RIGHT ADDRESSABILITY 00113000
- USING COMDSECT,R15 GET COMMON ROUTINE ADDR 00114000
- LR R12,R15 AND UPDATE R12 00115000
- LA R13,MGXCSAVE GET COMMON ROUTINE SAVE AREA ADDR 00116000
- * 00117000
- * BUILD THE MESSAGE 00118000
- * R2,R3 BUFFER LOAD POINTER AND LIMIT 00119000
- * R4,R5 VARIABLE FIELD POINTER AND LIMIT 00120000
- * R6,R7 SOURCE MSG POINTER AND LIMIT 00121000
- * 00122000
- CLI 0(R1),25 LONG ENOUGH? 00123000
- BL MGXERROR NO 00124000
- * 00125000
- * BUILD THE MESSAGE HEADER 00126000
- * 00127000
- MVC MGXBUFFR(3),MGXNAME DMT INITIALLY 00128000
- MVC MGXBUFFR+3(3),20(R1) MODULE NAME 00129000
- LH R0,24(R1) REQUESTED MSG NUMBER 00130000
- CVD R0,MGXWORK CONVERT TO DECIMAL 00131000
- UNPK MGXBUFFR+6(3),MGXWORK+6(2) TO OUTPUT 00132000
- OI MGXBUFFR+8,X'F0' SET CORRECT ZONE 00133000
- MVC MGXBUFFR+9(1),23(R1) ACTION CODE 00134000
- MVI MGXBUFFR+10,C' ' PREPARE TO CLEAR BUFFER 00135000
- MVC MGXBUFFR+11(L'MGXBUFFR-11),MGXBUFFR+10 CLEAR OUT 00136000
- * 00137000
- * INITIALIZE POINTERS 00138000
- * 00139000
- LA R2,MGXBUFFR+11 START BEYOND HEADER LEN (NO BLANK YET) 00140000
- LA R3,MGXBUFFR+L'MGXBUFFR OUTPUT LIMIT 00141000
- LA R4,28(R1) FIRST VARIABLE (IF PRESENT) 00142000
- SR R5,R5 CLEAR FOR IC 00143000
- IC R5,0(R1) LENGTH OF REQUEST -1 00144000
- LA R5,1(R5,R1) END OF MSG REQ ELEMENT 00145000
- LA R5,7(R5) LENGTH+7 TO FIND NEXT DWORD BDY @VA03482 00145100
- SRL R5,3 DIVIDE BY 8 00146000
- SLL R5,3 BUMP BACK TO LOWER DWORD BD 00147000
- * 00148000
- * SCAN MESSAGE TABLE 00149000
- * 00150000
- L R6,MGXMSGS TABLE OF MSGS 00151000
- MGXMSCAN EQU * 00152000
- CLC 4(2,R6),24(R1) NUM MATCH TO REQ? 00153000
- BE MGXMHIT YES 00154000
- ICM R6,B'1111',0(R6) GET THE NEXT MSG POINTER 00155000
- BZ MGXNOHIT LAST IF ZERO 00156000
- B MGXMSCAN AND CONTINUE 00157000
- EJECT 00158000
- * 00159000
- * R6 ADDR OF MSG ENTRY FOR NOW 00160000
- * 00161000
- MGXMHIT EQU * 00162000
- TM MGXBUFFR+9,X'3F' ANY ACTION CODE IN REQ? 00163000
- BNZ MGXGOTAC YES - USE IT 00164000
- MVC MGXBUFFR+9(1),9(R6) DEFAULT TO DEFINED AC CODE 00165000
- MGXGOTAC EQU * 00166000
- ICM R0,B'0010',2(R1) ROUTING CODE FROM REQ 00167000
- BNZ MGXGOTRC USE AS SPECIFIED 00168000
- ICM R0,B'0010',6(R6) DEFAULT DEFINED ROUT CODE 00169000
- MGXGOTRC EQU * 00170000
- ICM R0,B'0001',3(R1) SEV CODE FROM REQ 00171000
- BNZ MGXGOTSC USE AS SPECIFIED 00172000
- ICM R0,B'0001',7(R6) DEFAULT DEFINED SEV CODE 00173000
- MGXGOTSC EQU * 00174000
- STCM R0,B'0011',MGXMSGRC SAVE ROUT & SEV CODES 00175000
- SR R7,R7 CLEAR R7 FOR IC 00176000
- IC R7,8(R6) GET LENGTH OF MSG 00177000
- LA R7,9(R7,R6) ADDR OF END OF MSG TEXT 00178000
- LA R6,11(R6) ADDR OF START OF MSG TXT 00179000
- SPACE 1 00180000
- MGXMORE EQU * 00181000
- CLR R2,R3 IS IT FULL? 00182000
- BNL MGXBUILT YES - TRUNCATE IT 00183000
- CLR R6,R7 ANY MORE SPECIFIED? 00184000
- BNL MGXBUILT NO - DONE 00185000
- CLI 0(R6),C'$' SUB? 00186000
- BE MGXDOSUB YES - GO DO IT 00187000
- MVC 0(1,R2),0(R6) MOVE NON - $ CHARACTER 00188000
- LA R2,1(R2) BUMP BUFFER POINTER 00189000
- LA R6,1(R6) BUMP SOURCE PTR 00190000
- B MGXMORE NEXT 00191000
- SPACE 1 00192000
- MGXDOSUB EQU * 00193000
- SR R8,R8 INITIALIZE $ COUNTER 00194000
- MGXNXSUB EQU * 00195000
- LA R6,1(R6) BUMP SOURCE POINTER 00196000
- LA R8,1(R8) UPDATE $ COUNT 00197000
- CLR R6,R7 MORE TO GO? 00198000
- BNL MGXENSUB NO 00199000
- CLI 0(R6),C'$' ANOTHER $? 00200000
- BE MGXNXSUB YES - KEEP COUNTING 00201000
- MGXENSUB EQU * 00202000
- LR R0,R8 TOTAL NUMBER OF DOLLAR SIGNS 00203000
- BCT R0,MGXMVSUB GO PROCESS MULTIPLE $ SUBS 00204000
- MGXLASUB EQU * FINAL SUB PROCESSING 00205000
- CLR R4,R5 ANY MORE? 00206000
- BNL MGXLAZIP NOPE 00207000
- SPACE 00208000
- LA R9,7 START AT RIGHT 00209000
- MGXLASCN EQU * 00210000
- LA R10,0(R9,R4) NEXT CHAR TO LOOK AT 00211000
- CLI 0(R10),C' ' BLANK? 00212000
- BNE MGXSBFIN NO - QUIT 00213000
- BCT R9,MGXLASCN KEEP HUNTING 00214000
- CLI 0(R4),C' ' LAST BLANK? 00215000
- BNE MGXSBFIN NO - DO IT 00216000
- LA R4,8(R4) BUMP TO NEXT 00217000
- * 00218000
- * ALL BLANK LAST SPECIFICATION 00219000
- * 00220000
- MGXLAZIP EQU * 00221000
- LR R0,R8 COUNT 00222000
- BCTR R0,0 LESS ONE 00223000
- LTR R0,R0 ONLY ONE TO START? 00224000
- BZ MGXELIPS ONLY SINGLE $ 00225000
- MGXBKSET EQU * 00226000
- SLL R0,3 *8 - CHAR COUNT FOR BACK SCAN 00227000
- MGXBKSCN EQU * 00228000
- BCTR R2,0 BACK ONE 00229000
- CLI 0(R2),C' ' BLANK 00230000
- BNE MGXCHIT (MUST BUMP THERE) NO 00231000
- BCT R0,MGXBKSCN KEEP LOOKING 00232000
- MGXELIPS EQU * ALL BLANK INSERT ELIPSIS 00233000
- LR R9,R3 END OF BUFFER 00234000
- SR R9,R2 LEFT IN BUFFER 00235000
- BNP MGXBUILT TRUNCATE IF NONE 00236000
- LA R10,3 (L'ELIPSIS) MUST BE GREATER THAN ZERO 00237000
- CLR R10,R9 ENOUGH IN BUFFER? 00238000
- BNH MGXELFIT YES 00239000
- LR R10,R9 TRUNCATE 00240000
- MGXELFIT EQU * 00241000
- BCTR R10,0 DOWN BY ONE 00242000
- EX R10,MGXELMOV MOVE IN ELIPSIS 00243000
- LA R2,1(R10,R2) UPDATE LOAD POINT 00244000
- B MGXMORE DO MORE 00245000
- SPACE 00246000
- MGXCHIT EQU * 00247000
- LA R2,1(R2) AJUST BACK 00248000
- B MGXMORE DO MORE OUTPUT 00249000
- SPACE 1 00250000
- MGXSBFIN EQU * 00251000
- * 00252000
- * R9 COUNT OF NONBLANK -1 00253000
- * 00254000
- LA R9,1(R9) EXACT NONBLANK COUNT 00255000
- LR R10,R3 END OF BUFFER 00256000
- SR R10,R2 LEFT IN BUFFER 00257000
- BNP MGXBUILT NONE AT ALL 00258000
- CLR R9,R10 ENOUGH? 00259000
- BNH MGXLAFIT YES 00260000
- LR R9,R10 TRUNCATE 00261000
- MGXLAFIT EQU * 00262000
- BCTR R9,0 DOWN BY ONE 00263000
- EX R9,MGXSBMOV MOVE IN 00264000
- LA R4,8(R4) BUMP VARIABLE PTR 00265000
- LA R2,1(R9,R2) BUMP LOAD POINT 00266000
- B MGXMORE BACK FOR MORE 00267000
- SPACE 00268000
- MGXMVSUB EQU * 00269000
- CLR R4,R5 MORE SUBS TO BE HAD? 00270000
- BNL MGXDRY NOPE - SEE IF ANY NONBLANK 00271000
- LA R9,8(R2) ANOTHER SUB VARIABLE FOLLOWS 00272000
- CLR R9,R3 ENOUGH SPACE? 00273000
- BNH MGXSBFIT YES 00274000
- LR R9,R3 TRUNCATE 00275000
- MGXSBFIT EQU * 00276000
- SR R9,R2 COUNT TO MOVE 00277000
- BCTR R9,0 DOWN BY ONE 00278000
- EX R9,MGXSBMOV MOVE IN NEXT PIECE 00279000
- LA R2,1(R9,R2) BUMP LOAD POINT 00280000
- CLR R2,R3 AT END? 00281000
- BNL MGXBUILT YES 00282000
- LA R4,8(R4) BUMP VARIABLE POINTER 00283000
- BCT R0,MGXMVSUB DO NEXT SUB 00284000
- B MGXLASUB SPECIAL TREATMENT FOR LAST 00285000
- SPACE 1 00286000
- MGXDRY EQU * 00287000
- * 00288000
- * R0 CONTAINS TOTAL UNPROCESSED $ COUNT -1 00289000
- * 00290000
- LR R9,R8 TOTAL $ COUNT 00291000
- SR R9,R0 TOTAL PROCESSED $ +1 00292000
- BCTR R9,0 TOTAL PROCESSED $ COUNT 00293000
- LR R0,R9 SET FOR BACK SCAN 00294000
- B MGXBKSET GO DO IT 00295000
- SPACE 2 00296000
- MGXSBMOV MVC 0(0,R2),0(R4) TO BE EXECUTED FROM ABOVE 00297000
- MGXELMOV MVC 0(0,R2),=C'...' MOVE ELIPSIS FROM ABOVE 00298000
- EJECT 00299000
- * 00300000
- * UNDEFINED MESSAGE NUMBER 00301000
- * 00302000
- MGXNOHIT EQU * 00303000
- SR R5,R5 CLEAR R5 FOR INSERT @VA05951 00303300
- IC R5,0(R1) GET REAL LENGTH OF ELE. -1 @VA05951 00303600
- LA R5,1(R5,R1) GET REAL END OF ELEMENT @VA07411 00303910
- CLR R5,R4 ANY TEXT SUPPLIED? 00304000
- BNH MGXELIPS NOPE - JUST AN ELIPSIS 00305000
- LR R9,R5 00306000
- MGXDSCAN EQU * 00307000
- BCTR R9,0 LAST CHAR ADDR 00308000
- CLI 0(R9),C' ' IS IT BLANK? 00309000
- BNE MGXDHIT NO 00310000
- CLR R9,R4 AGAIN 00311000
- BH MGXDSCAN NOT DONE, GO AROUND AGAIN. @VA05476 00312000
- B MGXELIPS NOTHING NONBLANK 00313000
- SPACE 1 00314000
- MGXDHIT EQU * 00315000
- LA R9,1(R9) INCREMENT BY ONE TO CORRECT @VA05476 00315500
- * COUNT. 00315600
- SR R9,R4 COUNT OF NON BLANK SUPPLIED TEXT 00316000
- LR R10,R3 UPDATE R10 00317000
- SR R10,R2 COUNT OF BUFFER SPACE 00318000
- CLR R9,R10 ENOUGH SPACE IN BUFFER? 00319000
- BNH MGXDOK YES 00320000
- LR R9,R10 TRUNCATE OTHERWISE 00321000
- MGXDOK EQU * 00322000
- BCTR R9,0 DOWN BY ONE 00323000
- EX R9,MGXDMOVE MOVE IN SUPPLIED TEXT 00324000
- LA R2,1(R9,R2) UPDATE LOAD POINT 00325000
- MVC MGXMSGRC(2),2(R1) GET ROUTING AND SEV. CODES @VA05476 00325500
- B MGXBUILT FINISH UP 00326000
- SPACE 1 00327000
- MGXDMOVE MVC 0(0,R2),0(R4) TO BE EXECUTED FROM ABOVE 00328000
- EJECT 00329000
- MGXBUILT EQU * 00330000
- LA R3,MGXBUFFR GET START OF BUFFER 00331000
- SR R2,R3 CHAR COUNT OF VARIABLE OUTPUT 00332000
- LR R3,R2 MUST HAVE IN R3 00333000
- LR R4,R1 SAVE ELEMENT ADDR 00334000
- L R2,TLINKS GET LINKTABLE CHAIN 00335000
- LA R2,8(R2) ADDR OF LOCAL LINK TABLE 00336000
- TM MGXMSGRC,ORIG GIVE TO A LINK? 00337000
- BNO MGXNOLIN NO 00338000
- LA R0,8 GET THE LENGTH OF THE ENTRY 00339000
- LA R1,4(R4) LINKID TO GIVE MESSAGE TO 00340000
- L R15,TCOM COMMON ROUTINE ADDR LIST 00341000
- L R15,GLINKREQ GET LINK TABLE ENTRY ROUTINE 00342000
- BALR R14,R15 AND EXECUTE IT 00343000
- LTR R15,R15 FOUND? 00344000
- BNZ MGXNOLIN NO REJECT IT 00345000
- LA R1,0(R1) CLEAR OUT HIGH ORDER BYTE 00346000
- CLR R2,R1 SAME AS OUR LINK TABLE 00347000
- BE MGXTOLOC YES 00348000
- USING LINKTABL,R1 GET LINKTABL ADDRESSABILITY 00349000
- TM LFLAG,LACTIVE IS THE LINK ACTIVE? 00350000
- BNO MGXNOLIN SKIP IF NOT 00351000
- L R0,LACTTNME GET THE LINK TASKNAME 00352000
- LA R1,MGXBUFFR-12 GET START OF THIS PART OF BU @VA03279 00353010
- MVC 4(8,R1),4(R4) MOVE IN THE DEST LOCID @VA03279 00353020
- MVC 0(4,R1),MGXMSGEL MOVE IN HEADER 00354000
- LA R5,11(R3) UPDATE COUNT @VA03279 00355010
- STC R5,0(R1) STORE IN MSG ELEMENT 00356000
- MVC 3(1,R1),3(R4) SEVERITY CODE 00357000
- L R15,ALERTREQ GET SYSTEM ALERT PROCESSOR ADDR 00358000
- BALR R14,R15 GO ALERT THE TASK 00359000
- * 00360000
- * IGNORE REJECTS FOR NOW 00361000
- * 00362000
- MGXNOLIN EQU * 00363000
- TM MGXMSGRC,RSS ROUTE TO OUR OPERATOR CONSOLE? 00364000
- BNO MGXNOPR NO 00365000
- MGXTOLOC EQU * 00366000
- LA R1,MGXBUFFR-12 GET START OF MSG @VA03279 00367010
- MVC 4(8,R1),LINKID-LINKTABL(R2) MOVE IN OUR LINKID @VA03279 00367020
- LA R15,11(R3) GET THE MSG ELEMENT COUNT @VA03279 00367030
- STC R15,0(R1) STORE CHAR COUNT 00369000
- MVC 3(1,R1),3(R4) MOVE SEVERITY CODE 00370000
- * R2 CONTAINS LOCAL LINK TABLE ADDR 00371000
- L R15,TCOM GET COMMON ROUTINE ADDR 00372000
- L R15,PMSGREQ MESSAGE STACK ROUTINE 00373000
- BALR R14,R15 STACK THE MESSAGE 00374000
- * 00375000
- * IGNORE REJECTS FOR NOW 00376000
- * 00377000
- MGXNOPR EQU * 00378000
- LA R1,MGXBUFFR-L'MGXCMAND MOVE TO BUFFER 00379000
- MVC 0(L'MGXCMAND,R1),MGXCMAND MOVE 00380000
- LA R2,L'MGXCMAND(R3) GET COUNT 00381000
- TM MGXMSGRC,VMID GIVE TO A LOCAL V.M.? 00382000
- BNO MGXNOVM NO 00383000
- CLI 12(R4),C' ' IS A VM ID SPECIFIED? 00384000
- BE MGXNOVM SKIP IT IF NOT 00385000
- MVC 2(8,R1),12(R4) SET SPECIFIED ID 00386000
- L R15,HVCREQ GET CP WRITE ROUTINE ADDR 00387000
- BALR R14,R15 TO LOCAL VM 00388000
- * 00389000
- * IGNORE REJECTS FOR NOW 00390000
- * 00391000
- MGXNOVM EQU * 00392000
- TM MGXMSGRC,CP LOCAL OPERATOR? 00393000
- BNO MGXEXIT NO - QUIT 00394000
- MVC 2(8,R1),MGXCPID CP OPERATOR USERID 00395000
- LA R2,L'MGXCMAND(R3) RESTORE COUNT 00396000
- L R15,HVCREQ GET CP WRITE ROUTINE ADDR 00397000
- BALR R14,R15 SEND TO LOCAL OPERATOR 00398000
- * 00399000
- * IGNORE REJECTS FOR NOW 00400000
- * 00401000
- MGXEXIT EQU * 00402000
- SR R0,R0 CLEAR RETURN 00403000
- B MGXCOMX ENTER COMMON EXIT 00404000
- SPACE 00405000
- MGXERROR EQU * 00406000
- LA R15,16 SET ERROR RETURN 00407000
- MGXCOMX EQU * 00408000
- LM R0,R14,MGXSAVE RESTORE REGISTERS 00409000
- BR R14 RETURN TO CALLER 00410000
- EJECT 00411000
- *---------------------------------------------------------------------* 00412000
- * * 00413000
- * MESSAGE EXECUTOR CONTROL AREA * 00414000
- * * 00415000
- *---------------------------------------------------------------------* 00416000
- SPACE 2 00417000
- MGXNAME DC CL8'DMTMGX' NAME FOR ROUTINE 00418000
- HVCREQ DC V(DMTREXHC) CP WRITE ROUTINE ADDR 00419000
- SPACE 1 00420000
- MGXSAVE DC 16F'0' GENERAL REGISTER SAVE AREA 00421000
- MGXCSAVE DC 18F'0' GENERAL REGISTER SAVE AREA 00422000
- MGXWORK DC D'0' OBJECT OF A CVD INSTRUCTION 00423000
- MGXMSGS DC V(DMTMSG) STANDARD MSG TABLE ADDRESS 00424000
- REXREQ DC V(DMTREXHC) WRITE TO CP ENTRY 00425000
- SPACE 2 00426000
- * 00427000
- * MESSAGE OUTLINE ACCULULATOR 00428000
- * 00429000
- MGXPREFX DC CL12' ' @VA03279 00430010
- MGXBUFFR DC CL120' ' OUTPUT MESSAGE 00431000
- SPACE 00432000
- MGXCMAND DC C'M XXXXXXXX ' 00433000
- MGXCPID DC CL8'OP' CP OPERATOR USERID 00434000
- SPACE 00435000
- MGXMSGEL DC AL1(0),X'B1' ELMNT LENGTH, COMMAND CODE 00436000
- MGXMSGRC DC X'00' MESSAGE ROUTING CODE 00437000
- MGXMSGSC DC X'00' MESSAGE SEVERITY CODE 00438000
- EJECT 00439000
- COPY SVECTORS 00440000
- EJECT 00441000
- COPY LINKTABL 00442000
- EJECT 00443000
- COPY RSSEQU 00444000
- END 00445000
ibm/vm370-lib/rscs/dmtmgx.assemble_src.txt ยท Last modified: 2023/08/06 13:39 by Site Administrator