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.

Reply via email to