Skip to Main Content
IBM Z Hardware and Operating Systems Ideas Portal


This is the public portal for all IBM Z Hardware and Operating System related offerings. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).


Shape the future of IBM!

We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:

Search existing ideas

Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,

Post your ideas
  1. Post an idea.

  2. Get feedback from the IBM team and other customers to refine your idea.

  3. Follow the idea through the IBM Ideas process.


Specific links you will want to bookmark for future use

Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.

IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.

ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.

Status Not under consideration
Workspace z/OS
Categories BCP_General
Created by Guest
Created on Apr 30, 2025

Add relative addressing support to five macros in sys1.maclib

Support for relative addressing will simplify programming for anyone using assembly language.  The five macros are POST, PUT, SNAPX, STORAGE, and TCBTOKEN.  Macro POST has a nifty parameter USELARL=NO|YES, that generates LARL instructions when YES is specified, but is not complete, e.g., the ASCB parameter is not supported with LARL=YES.  I am using SYSSTATE ARCHLVL=3  and IEABRCX ENABLE to maximize relative addressing support.  Thanks.  

Idea priority Low
  • Guest
    Sep 3, 2025
    Our goal for relative addressing was to avoid the need for code base registers. We still expect the program to provide addressability to the literal pool and to symbols for data areas that are specified as parameters.
    POST has a USELARL option for ERRET because it is reasonable to think that the ERRET parm might be a label in the program's CSECT. But for ECB, that is just as likely to be a symbol in a DSECT, for which LARL would not work. To fully generalize a USELARL option, it would need to be a separate subparameter of each relevant parameter, which is not feasible. Thus we Decline the requirements except for TCBTOKEN macro as potentially being fixed.
    If there are additional macros that you would like to request for this processing, please open a new Idea and ensure there is a separate Idea per macro requested to better facilitate assessment.
  • Guest
    Aug 6, 2025

    Our goal for relative addressing was to avoid the need for code base registers. We still expect the program to provide addressability to the literal pool and to symbols for data areas that are specified as parameters.


    POST has a USELARL option for ERRET because it is reasonable to think that the ERRET parm might be a label in the program's CSECT. But for ECB, that is just as likely to be a symbol in a DSECT, for which LARL would not work. To fully generalize a USELARL option, it would need to be a separate subparameter of each relevant parameter, which is not feasible. Thus we Decline the requirements for STORAGE and POST.


    TCBTOKEN macro is being discussed as a potential fix. The other 2 macros are still being discussed internally at this time.


  • Guest
    Aug 5, 2025

    None of these macros will assemble when there are no active Usings and addressable operands are specified, even with SYSSTATE ARCHLVL=3  and IEABRCX ENABLE.  STORAGE OBTAIN,LINKAGE=SYSTEM  generates an in-line literal (=AL1), but it cannot be addressed (loaded) unless base-displacement addressing is established.  One solution is to use LRL instead of L.   Running down the list, when there are no active Usings, POST ECB1 generates LA 1,ECB1 which does not assemble.  POST ECB1,USELARL=YES also does not assemble. Good parameter, but only partially implemented.   
    PUT DCB,OUTPUT generates LA instructions which will not assemble.   
    SNAPX . . .MF=(E,SNAP) generates LA 1,SNAP.    
    TCBTOKEN generates an in-line parameter list addressed by LA.  
    I thank IBM for considering this idea.  
    Richard Zierdt 

  • Guest
    Aug 5, 2025
    It appears that the STORAGE macro already supports relative addressing without issues, what types of issues are you seeing with the settings that you've indicated?
    For POST, what specific keywords would you like to see compatible with USELARL?
    We are currently investigating others, but be forewarned that we may need to split this request into multiple parts to help address each one individually, which will require you to re-submit some of these.