Tom,
As a vendor, I have many customers on 'unsupported' levels of their
operating system.
I even have one customer running an OS/390 system running on a z/10.
In the VSE arena this is even a bigger issue. I still have customers
using Flex boxes and Integrated Servers.
I just recently started allowing my company to use LHI instructions.
On the other side of the equation, I also know that some customers
running the older operating systems may never get current on my
software. Thus, I have been slowing adding macros that dual-path during
assembly time based on a SETC. If I have a customer does upgrade and
report an issue during their testing, I can easily change the SETC in
the macro and recreate a new software version with the older instructions.
Tony Thigpen
Tom Marchant wrote on 4/15/24 2:49 PM:
Charles is right. IILF was first documented in the -08 level of the POO, for
the z114/z196. z/OS 2.2 was the last release to run on that hardware, and has
been unsupported since 2020-09-30. The extended mnemonic LFI was added later,
but that isn't relevant.
I don't understand the reluctance to use newer instructions when they are
included in the minimum requirement for the operating system.
--
Tom Marchant
On Mon, 15 Apr 2024 09:09:06 -0700, Charles Mills <charl...@mcn.org> wrote:
If you are running "sometimes" on older hardware I think you have a greater
risk from unsupported z/OS than from unsupported instructions.
I'm not sure, but I think that IILF came along no later than the zEC12. Any
machine older than the zEC12 only supports z/OS V2R2 and below. V2R2 went out
of service almost four years ago. If you are running a current z/OS it won't
run on older hardware.
I also think you are at greater risk of encountering unsupported instructions
in optimized COBOL 6 code than in hand-built assembler.
And I would never, ever embed data in the instruction stream.
Charles
-----Original Message-----
From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On
Behalf Of Jon Perryman
Sent: Sunday, April 14, 2024 11:09 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Complex immediate fields
On current hardware there is an IILF (LFI) instruction, and I would like to
use it instead of the XR/ICM sequence.
Before using any modern instructions, ask yourself if they are worth the risk.
Does your disaster recovery site guarantee this as a minimum machine level.
Maybe your employer has older machines available in case of capacity problems.
How about company acquisition. You need to consider the impact.
Back in he Assembler XF era I would code something like
LA R0,L'DEST
LA R1,DEST
XR R15,R15
ICM R15,8,=C' '
MVCL R0,R14
Why use LFI when better alternatives for ICM =C' ' have been around forever.
J bydata
data dc A(X'40000000',0,L'dest)
bydata LM R15,R1,data
Since the J instruction only updates the PSW, I'm guessing it will replace the
update PSW in the previous instruction thus making this a single instruction on
current hardware but still compatible with older hardware.
Alternatively, there is the NILH instruction which has existed for a couple
decades.