Joined: 14 Jan 2008 Posts: 2504 Location: Atlanta, Georgia, USA
The AMODE set during the Link-Edit step specifies AMODE 24 (below the line) AMODE 31 (above the line) and (most recently) AMODE 64 (above the bar).
If you know the load-point address of the module and that address does not exceed X'007FFFFF' (the high-bit of the leftmost byte maybe "on", resulting in a value of X'80' which can be ignored), then the load-point address and AMODE is below the line/24.
How to find whether the load module in CICS region is working above the 16MB line or not.
The question is not very specific.
A program may be AMODE(24)/RMODE(24) which means everything to do with it must be "below". This must therefore be working "below".
A program which is AMODE(31)/RMODE(24) has the program "below" but the data may be "above" or "below". The question as to whether it is "working" above or below depends on what you mean.
A program which is AMODE(64)/RMODE(24) can be viewed in much the same way.
A program with RMODE(ANY) will be loaded "above" 16Mb if possible but may be loaded "below". Programs CANNOT be loaded above the 2Gb "bar".
The load-point of the module does not reflect the AMODE, it reflects the effective RMODE. The high-order and low-order bits in the PSW are used to indicate the execution mode. If the low-order bit is on (uneven address), this used to cause exception. It now indicates 64bit mode. If the low-order bit is off, the high-order bit being on indicates 31-bit mode.