Thanks David. i
------ Original Message ------ Received: 02:51 PM COT, 10/17/2010 From: David Bond <[email protected]> To: [email protected] Subject: Re: YOPs to be avoided? > OPTABLE(YOP) enables long-displacement which ignores USING ranges when > assembling long-displacement capable instructions. (I strongly disagree > with that design decision because it destroys the usefulness of USING ranges.) > > And the long-displacement capability was added to many of the z900 > instructions. Instructions such as LG will not be assembled using > long-displacements with OPTABLE(ZOP) but can be with OPTABLE(YOP) and later. > If an LG instruction with a long displacement is executed on an original > z900, the wrong doubleword will be loaded because the long-displacement byte > is ignored. This is only a problem if your code needs to run on the > original z900 in addition to later systems. > > On Sun, 17 Oct 2010 14:35:59 -0400, Ian Worthington wrote: > >We have some programs that need to support Y ops. I was planning to just > >switch the whole product to assemble with optable(yop) but I found PJ30456 > >which includes the unsettling comment: > > > >New instructions must be assembled using the YOP instruction set on LINUX > >HLASM. The rest of the system is assembled against the ZOP instruction set > >>>> to avoid the use of long displacements. <<< > > > >Would this simply be so that the rest of the system would run on hardware > >without the long displacement facility (I assume this is a microcode > >level?), or is there some more serious issue I should be aware of?
