From software point of view, the only difference between an operation exception for a 00xx or 00xxxxx or 00xxxxxx.... in the instruction stream vs an invalid opcode B2xx.... in the instruction stream would be the Instruction Length Code, and I don't think that would be an important distinction to software. The invalid 00 opcode provides sufficient capability to cause an operation exception, with diagnostic information of an arbitrary length following the 00 opcode.
Jim Mulder -----Original Message----- From: IBM Mainframe Discussion List <[email protected]> On Behalf Of Tom Marchant Sent: Wednesday, April 24, 2024 1:16 PM To: [email protected] Subject: Re: S0c4 creation I didn't notice that reference to the B2Ex opcodes before. Bitsavers https://bitsavers.org/pdf/ibm/370/princOps/ has several old editions of the POO, wherein I see: The -4 edition of the System/370 POO (1974) has the reference to the B2Ex opcodes. The -6 edition (1980) does not reference B2Ex, but only 00. There is a change bar on that, so I assume the change went in with that edition, but I don't have a -5 to verify that. This seems to continue to be the same, though I didn't check all editions. The -4 edition of the z/Architecture POO (2005) has the same reference that it is "improbable" that opcode 00 will ever be used. Starting in the -5 edition of the z/Architecture POO (2007) it was changed to "Operation code 00 hex will never be assigned to an instruction implemented in the CPU." So the reference to the improbability of B2Ex opcodes ever being implemented was a short lived one. The two opcodes in that range, B2E8 (PPA) and B2EC (ETND) first appeared in the -9 edition of the z/Architecture POO in 2012. -- Tom Marchant On Tue, 23 Apr 2024 18:39:01 -0400, Tony Harminc <[email protected]> wrote: >On Mon, 22 Apr 2024 at 09:50, Seymour J Metz <[email protected]> wrote: > >> IBM promised to never use opcode 00, and that's what I use when I >> want (E)SPIE in the skie. >> > >But way back when (around the last S/370 PofO they said "The operation >code 00, with a two-byte instruction format, and the set of sixteen >16-bit operation codes B2E0 to B2EF, with a four-byte instruction >format, are allocated for software uses where indication of invalid >operation is required. It is improbable that these operation codes will >ever be assigned to an instruction implemented in the CPU." > >Then at some point (z10 era?), they defied improbability and used some >of the B2Ex opcodes. You'd think it wouldn't have killed them to keep a >range of just 16 two-byte opcodes available for customers. > >Tony H. > >---------------------------------------------------------------------- >For IBM-MAIN subscribe / signoff / archive access instructions, send >email to [email protected] with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
