On Nov 15, 2018, at 6:44 AM, Peter Relson <[email protected]> wrote: > > A more modern (over 20 years old by now?) would suggest not having a USING > for your "code" at all, but rather using relative branch with one register > set up to point to your static data and a USING for that. It is relatively > infrequent that your static data would exceed 4K, and even if it did you > could often use long-displacement instructions to access any data that is > more than 4K from the beginning. In some cases you might be able to take > advantage of the "immediate" instructions and not even need access to > static data. > > The IEABRCX macro can help in modules that want to use relative branch, > particularly if they invoke system macros. > Also be sure to identify the architecture level that macros are allowed to > assume you are running with, via SYSSTATE ARCHLVL=. > > Some macro expansions might need local code register addressability, but > that is usually easy to provide. >
+1 As I’ve had occasion to maintain assembler routines, I’ve tried to do this. It makes the code cleaner and I believe (I haven’t tested) it makes it run faster. -- Pew, Curtis G [email protected] ITS Systems/Core/Administrative Services ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
