Read up on the DROP pseudo-op. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 עַם יִשְׂרָאֵל חַי
________________________________________ From: IBM Mainframe Assembler List <[email protected]> on behalf of Dave Clark <[email protected]> Sent: Wednesday, November 8, 2023 3:02 PM To: [email protected] Subject: Internal Exit Routine Handling I'm creating another external assembler REXX function, but this time to provide a REXX-friendly interface to an IBM (z/VSE) system utility -- which has user exits that I have chosen to hook back to my assembler program. In other words, the exit routines are "internal" to my assembler program. The result is that I end up with assembler warning messages such as the following for each of the exit routines (sorry for the wraparound, if any). LIBR RXLIBRIO - REXX SUBROUTINE FOR LIBR CALL INTERFACE Page 40 Active Usings: ARXEXTE,R9 SHVBLOCK,R10 RXLIBRIO,R11 DYNASTOR,R13 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2023/11/08 14.33 2507 * =================================================================== * 0005C8 2508 IPTEXIT DS 0H LIBR SYSIPT EXIT ROUTINE 2509 * ------------------------------------------------------------------- * 0005C8 90EC D00C 0000C 2510 STM R14,R12,(4-1)*4(R13) SAVE REGS IN CALLER'S SAVEAREA 0005CC 18CF 2511 LR R12,R15 LOAD ROUTINE BASE REGISTER R:C 005C8 2512 USING IPTEXIT,R12 ESTABLISH CODE BASE REG ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 1748 ** ASMA435I Record 621 in SYSIPT on volume: Now, I totally understand the reason for the message (and that is not part of question). But since I am sharing data and routines, in my base program, then the exit routines need addressability to those areas as well. Thus, my base program uses a code base of R11 and the exit routines have an overlapping code base of R12. (I am passing my R13 address through the IBM utility interface to my exit routine where that makes it possible to restore R11 -- along with R9 and R10.) So, here is my question... Is doing things this way "acceptable" in the IBM assembler world? Or should I be placing these exit routines in their own programs? Or if having them "internal" as described, is there something else I should be doing to avoid overlapping base registers? Thanks. Sincerely, Dave Clark -- int.ext: 91078 direct: (937) 531-6378 home: (937) 751-3300 Winsupply Group Services 3110 Kettering Boulevard Dayton, Ohio 45439 USA (937) 294-5331 ********************************************************************************************* This email message and any attachments is for use only by the named addressee(s) and may contain confidential, privileged and/or proprietary information. If you have received this message in error, please immediately notify the sender and delete and destroy the message and all copies. All unauthorized direct or indirect use or disclosure of this message is strictly prohibited. No right to confidentiality or privilege is waived or lost by any error in transmission. *********************************************************************************************
