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.
*********************************************************************************************

Reply via email to