-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On
Behalf Of Tom Marchant
Sent: Friday, June 22, 2007 10:34 AM
To: [email protected]
Subject: Re: Operating systems are old and busted

On Fri, 22 Jun 2007 09:56:04 -0500, McKown, John wrote:
>> Plainfield, IL
>
>   ... IEFBR15 was based on the assumption that register 15 actually 
>points to the BCR 15,15 instruction. Unless you PTF'ed the program to 
>remove this dependancy by prefixing it with a BASR 15,0 instruction.

Just like IEFBR14 assumes that register 14 is the return address.  So
what's your point?  That's how a program in a batch job gets control.
Do you think IBM is going to change that?
<SNIP>

The problem is wild branch situations. If you use BALR/BASR to establish
addressability, then the wild branch to your code gains a valid base
register, things happen as if they are supposed to...

This is what concerns me about relative branch instructions. I have
worked on/with an architecture in the '70s that had such instructions.
Debugging a wild branch on a base register type system is sometimes a
real pain. Try it with a system that has relative branch. Throw in
relative displacement based storage operations. Welcome to your
nightmare.

To make this a bit more real, DOS systems used BALR to establish
addressability. Incorrect computation of a displacement and then BR to
that address and hitting a BALR to get addressability makes it quite
difficult to figure out how you got there. There are (or were) a few ISV
programs out there that use this technique and debugging them, when an
unexpected thing happened resulting in a wild branch, was strictly trial
and error. And made for some very long days.

Later,
Steve Thompson

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to