[comp.lang.asm370] IBM War Stories

A01MES1@NIU.BITNET (Michael Stack) (05/29/91)

(Cross-posted to ASM370 and IBM-MAIN - sorry about duplicates.)

I had no idea there are so many old f*rts on ASM370.  Many of you
may thus remember one of the more interesting problems encountered on
that rare bird, the IBM 360/65.  It was discovered by the University
of Waterloo;  it seems that WATFOR (or ...FIV) was designed to trap
certain problems by causing an interrupt through branching to an odd
address, then analyzing the PI old PSW - my memory of this is vague,
as is my memory of nearly everything that happened fifteen years ago.
In any case, it seems that the 360/65 had the odd habit of presenting
an interrupt address in the PIOPSW which was eight bytes too low.
Naturally, WATxxx had a difficult time analyzing the problems which
led to this, so Waterloo called on SHARE to submit a Requirement to
IBM to correct the microcode in the 360/65.

I have in front of me a copy of a letter from Mike Armstrong, then
of the University of Rochester, to Jerry Feinman, now and for ever
Blue (BTW, for those who don't know Jerry, he currently "owns" MVS).
I won't quote from Mike's letter (which was submitted to, but never
published in, the SHARE Secretary's Distribution);  it was a lengthy
explanation of just exactly what he thought of IBM's response to the
resolution, documented by quotes from IBM manuals.  You may, however,
be interested in the resolution and IBM's response. It was submitted
by the OS/MVT-MFT Project of the Basic Systems Division of SHARE, one
R.P. Rannie, Project Manager;  heaven knows who responded for Blue.

   REQUIREMENT:

   IBM should correct the hardware malfunction on the 360/65.  The
   problem occurs when a "branch to *+1" instruction is executed.
   The resulting program check old PSW address is 8 bytes too low.
   This problem has been acknowledged by IBM to be a hardware
   problem.  It is a problem in the sense that the performance of
   the hardware is not in accordance with that described in the
   manual on Principles of Operation.

   RESPONSE:  Rejected.

   COMMENT:   The problem referred to by the resolution occurs as
              a result of his trying to incorrectly use a Branch
              instruction;  e.g., the low order bit of a branch
              address must be zero (GA22-6821-8, Principles of
              Operation, page 17).  Because the hardware imple-
              mentation of the system architecture may be different
              in the various models, the imporper (sic) use of an
              instruction may not necessarily yield the same result
              between models.  This is not a violation of the
              architecture since properly written instructions
              execute correctly.  We see no reason to make hardware
              changes to permit the incorrect use of a system.

This can't be the first time that "broken as designed" and "catch 22"
combined in such a manner, but it may never have been done better.


Michael Stack

Northern Illinois University            Internet: A01MES1@MVS.NIU.EDU
Computer Systems and Operations         Bitnet:   A01MES1@NIU
DeKalb, IL  60115-2854                  Earnet:   815-753-9447