Ref: Your note of Sun, 22 Nov 2020 17:03:38 -0500 Joe Reichman <reichman...@gmail.com> writes: > I wrapped my SRB code around a CATTR since it going to be moved my question > now is to reference the starting address is that a V con or A con
I don't know why you would want to use CATTR for this purpose, and I cannot think how it would be useful. CATTR is primarily to support compatibility with special classes used by compilers (for example metal C), for example to define a Writable Static Area (which is only supported in an LE environment) or classes containing diagnostic information. If you want to divide up an assembly into separate components which may be split up by run-time logic, you can simply define them as separate CSECTs or RSECTs. In general, if a reference is to a separate module, it either needs a V-con or an A-con with an EXTRN. If it is a reference to something within the same module (that is, the same assembly) it can be an A-con without any EXTRN. If the SRB code is going to be moved by run-time logic in your code, then obviously the starting address needs to be set dynamically to the target location and any addresses within the moved code which point within the original must be relocated. If you want some SRB code to be in common storage, then you should either have it pre-loaded in LPA or you should use a LOAD with GLOBAL=YES to load it there as a separate module (noting the integrity limitations in that case). Jonathan Scott, HLASM IBM Hursley, UK