On Tue, 16 Apr 2013 08:49:05 -0400, John Gilmore wrote: >... Machine >instructions that end in the letter 'E' are problematic for some here.
No, that is not the issue, Mr. Gilmore, and I'm sure that you know it. The Compare-and-move-extended facility and the MVCLE and CLCLE instructions were introduced in the fourth edition of the ESA/390 Principles of operation. The facility was part of Architecture Level Set 1, required for OS/390 release 2.10. An ISV who provides OCO software needs to provide code that will work in any supported environment. In our case, our oldest supported release requires a release of z/OS that will only run on a z/Architecture processor. Any instruction that was added after the first edition of the z/Architecture Principles of Operation may not be available. If we use any of those instructions, we need to also provide an alternate path that does not use those instructions. This complicates the development process. If we choose to only use those instructions that we can be certain that all of our customers have, we can specify an opcode table for our assemblies that will flag the use of any other instructions. If we scatter newer instructions throughout our code, we cannot use that opcode table and have to use extra caution to ensure that newer instructions are not used without providing an alternate path. z/OS 2.1 is the first release to drop support for older processors, requiring at a minimum a z9. Even when our minimum z/OS level is 2.1, we will not be able to assume that TRTE is available because it didn't become available until the z10. There are times when there is good reason to provide the alternate path. There are other times when little is gained by the use of the newer instruction and it is prudent to avoid it. -- Tom Marchant
