On 2020-06-09, at 13:44:57, Bob Raicer wrote:
> 
> I am certainly not a fan of using the Condition Code as a return
> value from a called function.  It is rather limited (only a two bit
> integer) and does not work for functions invoked by other
> programming languages (for example, "C").
> 
I once had a colleague focused on MVS/XA who insisted on using
Condition Code.  That way he could do a BC after a call, sparing
a LTR instruction to set the CC.  Then I was assigned to backport
the code to VM/370, lacking IPM ...

> The SPM (Set Program Mask) instruction has been around since the
> introduction of the S/360 (announced in 1964, 56 years ago).  The
> S/370 was announced in 1970 (50 years ago).  MVS/XA was announced
> in 1983 (37 years ago) and that's when the IPM (Insert Program Mask)
> instruction appeared.
>  
> Unfortunately, IBM Rexx for z/OS is way behind the times. ooRexx has
> supported the "Label" keyword on the "Do" instruction (and several
> other instructions, for example, "Select") for quite some time (the
> support was present in Version 4.0 in August 2009).
>  
Standard Rexx and the IBM flavors support ITERATE control-variable
and LEAVE control-variable for all DOs having a control-variable.
I have sometimes resorted to introducing an otherwise otiose
control-variable in order to identify the DO.  I cite the
control-variable on the END.  This has the collateral benefit of
facilitating checking of DO nesting for both the human reviewer
and the interpreter.

Likewise, I will code a DO solely for the purpose of using LEAVE
as a notional GOTO.

Clumsy, but I consider it worthwhile.

-- gil

Reply via email to