On Wed, Jun 5, 2019 at 11:39 AM Charles Mills <charl...@mcn.org> wrote:
> O'opcode will tell you what machine the programmer claimed he was > targeting. What better test is there? Yes, he might be lying or confused, > but no matter what you test at assembly time, the "user" (of your source > code -- programmer IOW) might be lying or confused. You could introduce > your own macro MCKOWN TARGET=Z14 and set GBLB's, but still, the programmer > might be lying or confused. > True. I am over doing it on this. I have, on the 2.3 system (on a Z14), put in code that now looks like: LHI R0,LANSWER LENGTH OF ANSWER AREA (4K) AIF ('&ZOS_LVL' LT '02.02.00').NOEXEC AIF ('&SYSOPT_CURR_OPTABLE' LT 'Z14').NOEXEC STORAGE OBTAIN, X BNDRY=PAGE, * 4K BOUNDRY X FIX=SHORT, * MUST BE FIXED FOR CP X LENGTH=(0), * 4K LENGTH X EXECUTABLE=NO, * X COND=YES * CONDITIONAL AGO .NOEXEC1 .NOEXEC ANOP STORAGE OBTAIN, X BNDRY=PAGE, * 4K BOUNDRY X FIX=SHORT, * MUST BE FIXED FOR CP X LENGTH=(0), * 4K LENGTH X COND=YES * CONDITIONAL .NOEXEC1 ANOP > > For EXECUTABLE=NO, it appears the MVS guys did it right. If the operand is > accepted at assembly time, there is no possible harm at run time (assuming > YOU are not lying or confused <g>). > > Charles > -- This is clearly another case of too many mad scientists, and not enough hunchbacks. Maranatha! <>< John McKown