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

Reply via email to