-----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

