Ah yes. Brings back memories of encountering that usage and then being
introduced to Bill Collier and his technical report "OS360 Coding
Notes". Bill had discovered that special behavior of both BXLE and BXH.
My second project out of programming school in POK was a process
intended to determine if OS/360 test cases had exercised the code paths
that eventually resulted in bugs (or if those paths had been missed and
never tested). The method was to trap execution of all branch
instructions in system code when running the test buckets and then map
the paths executed against the assembler listings of the modules. The
project, called MEMMAP, consisted of a modified assembler that replaced
all branch instructions with specific invalid op codes and also produced
a bit map file representing the module's code. The second piece was an
extension to the program check interrupt handler that would register the
execution of the branch instruction and replace the invalid op code with
its valid equivalent, once all possible conditions had been met. It also
marked the code paths in the module's bit map as having been executed by
the test case.
The PC FLIH also had to correctly simulate the execution of each of the
invalid branch instructions. The problem was that the bit shifting
procedure was not obvious to me from the execution descriptions in the
PoP, so IEFSD095 failed to operate as designed when run in MEMMAP.
Fortunately, the author had been kind enough to heavily comment that
section of the code and refer to Collier's technical report.
I later used the method in the Paging Services Interface module of RSM
in the first release of MVS and left a full page of comments explaining
the intended behavior. I often wonder if that is still in the code being
shipped today.
Mike Myers
Mentor Services Corporation
On 03/04/2013 01:38 PM, Gerhard Postpischil wrote:
On 3/4/2013 11:46 AM, Tony Harminc wrote:
Perhaps they were early RISC programmers...
Possibly, but IEFSD095 also uses BXH (for the non-obvious function of
shifting a bit, testing it, and conditional branching).
Gerhard Postpischil
Bradford, Vermont
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN