Re: How to extend addressability over 4095 with USING statements
On Sun, 29 Jul 2007 22:52:17 -0700, Edward Jaffe wrote: Tom Marchant wrote: On Tue, 24 Jul 2007 08:57:58 -0500, McKown, John wrote: Either use multiple base registers, or use the long displacement type instructions Another possibility is to use a relative addressing instruction, if one exists. The long-displacement instructions _are_ relative instructions. Actually, they are two completely different things. You are correct, Ed. Thanks for the correction. Sorry about that, John. -- Tom Marchant -- 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
Re: How to extend addressability over 4095 with USING statements
On Tue, 24 Jul 2007 08:57:58 -0500, McKown, John wrote: Either use multiple base registers, or use the long displacement type instructions Another possibility is to use a relative addressing instruction, if one exists. The long-displacement instructions _are_ relative instructions. I forget exactly when they were introduced, but they are not defined in ESA, nor were they in the original z/Architecture machines. -- Tom Marchant -- 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
Re: How to extend addressability over 4095 with USING statements
Tom Marchant wrote: On Tue, 24 Jul 2007 08:57:58 -0500, McKown, John wrote: Either use multiple base registers, or use the long displacement type instructions Another possibility is to use a relative addressing instruction, if one exists. The long-displacement instructions _are_ relative instructions. I forget exactly when they were introduced, but they are not defined in ESA, nor were they in the original z/Architecture machines. Actually, they are two completely different things. The relative long instructions (e.g., BRASL) were introduced with the first z/Architecture machines. They specify a 32-bit, signed immediate value designating a branch target address relative to the current PSW. Instructions with long displacements (e.g., LAY) were introduced with z990 but retrofitted to older zSeries machines via millicode. They specify a 20-bit signed displacement added to a base register to form an operand address. Allows for some mighty big control blocks. -- Edward E Jaffe Phoenix Software International, Inc 5200 W Century Blvd, Suite 800 Los Angeles, CA 90045 310-338-0400 x318 [EMAIL PROTECTED] http://www.phoenixsoftware.com/ -- 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
How to extend addressability over 4095 with USING statements
Hi again, I'm trying to write a TSO command processor which seems to be getting addressability issues over 4095 bytes, e.g ASMA034E message. I know there's a way of extending the addressability, but can't remember. Anyone know how to do it? Ps. The IBM message for ASMA034E is of no use at all... just says extend addressability Phil -Original Message- From: Phil Kingston [mailto:[EMAIL PROTECTED] Sent: 23 July 2007 15:06 To: 'IBM Mainframe Discussion List' Subject: EBCDIC to HEX translation in Assembler? Hi all, Does anyone have a quick assembler routine to convert a hexadecimal number represented in EBCDIC into the real hex number? Phil. No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.476 / Virus Database: 269.10.14/912 - Release Date: 22/07/2007 19:02 No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.476 / Virus Database: 269.10.16/914 - Release Date: 23/07/2007 19:45 -- 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
Re: How to extend addressability over 4095 with USING statements
-Original Message- From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf Of Phil Kingston Sent: Tuesday, July 24, 2007 8:53 AM To: IBM-MAIN@BAMA.UA.EDU Subject: How to extend addressability over 4095 with USING statements Hi again, I'm trying to write a TSO command processor which seems to be getting addressability issues over 4095 bytes, e.g ASMA034E message. I know there's a way of extending the addressability, but can't remember. Anyone know how to do it? Ps. The IBM message for ASMA034E is of no use at all... just says extend addressability Phil Either use multiple base registers, or use the long displacement type instructions. Since I don't know what instruction is getting the error, I don't know what (or if) the long displacement instruction may be. Not all instructions have a 20 bit displacement equivalent. Another possibility is to use a relative addressing instruction, if one exists. But most of the time, you must have multiple base registers. -- John McKown Senior Systems Programmer HealthMarkets Keeping the Promise of Affordable Coverage Administrative Services Group Information Technology The information contained in this e-mail message may be privileged and/or confidential. It is for intended addressee(s) only. If you are not the intended recipient, you are hereby notified that any disclosure, reproduction, distribution or other use of this communication is strictly prohibited and could, in certain circumstances, be a criminal offense. If you have received this e-mail in error, please notify the sender by reply and delete this message without copying or disclosing it. -- 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
Re: How to extend addressability over 4095 with USING statements
Phil, There are a number of ways. 1 - Add a second base register, for example if R12 is your base register, LR R11,R12 AHIR11,4096 USING label,R12,R11 2 - Constantly reload your base register (this is the method used by many compilers) of course if you do this, then you have to ensure that you populate all literal references before you modify the base register and change the using. 3 - Rewrite the code to fully separate code and data, and convert using all relative branching, so you only need a base register for data, not for code. However, some system macros do require base registers for code. For more info on this, see Ed Jaffe's excellent SHARE presentation (session 8160 from Tampa) entitled Reducing Base Register Usage, or How to 'Jumpify' Your Code Wayne Driscoll Product Developer JME Software LLC NOTE: All opinions are strictly my own. -Original Message- From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf Of Phil Kingston Sent: Tuesday, July 24, 2007 8:53 AM To: IBM-MAIN@BAMA.UA.EDU Subject: How to extend addressability over 4095 with USING statements Hi again, I'm trying to write a TSO command processor which seems to be getting addressability issues over 4095 bytes, e.g ASMA034E message. I know there's a way of extending the addressability, but can't remember. Anyone know how to do it? Ps. The IBM message for ASMA034E is of no use at all... just says extend addressability Phil -- 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
Re: How to extend addressability over 4095 with USING statements
Cheers Wayne, Extremely helpful, thanks a lot :-) Maybe IBM could update the Message to be a bit more obvious as to what to do when you get the ASMA034E message. Phil. -Original Message- From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf Of Wayne Driscoll Sent: 24 July 2007 15:02 To: IBM-MAIN@BAMA.UA.EDU Subject: Re: How to extend addressability over 4095 with USING statements Phil, There are a number of ways. 1 - Add a second base register, for example if R12 is your base register, LR R11,R12 AHIR11,4096 USING label,R12,R11 2 - Constantly reload your base register (this is the method used by many compilers) of course if you do this, then you have to ensure that you populate all literal references before you modify the base register and change the using. 3 - Rewrite the code to fully separate code and data, and convert using all relative branching, so you only need a base register for data, not for code. However, some system macros do require base registers for code. For more info on this, see Ed Jaffe's excellent SHARE presentation (session 8160 from Tampa) entitled Reducing Base Register Usage, or How to 'Jumpify' Your Code Wayne Driscoll Product Developer JME Software LLC NOTE: All opinions are strictly my own. No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.476 / Virus Database: 269.10.16/914 - Release Date: 23/07/2007 19:45 -- 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
Re: How to extend addressability over 4095 with USING statements
Maybe IBM could update the Message to be a bit more obvious as to what to do when you get the ASMA034E message. I think that you're being a little harsh on IBM. When you looked up message ASMA034E, it told you to Increase the range of the active USING. If you had then looked up the USING instruction, under Range of an Ordinary USING Instruction you would have found an example almost identical to Wayne's. From: Phil Kingston [EMAIL PROTECTED] Reply-To: IBM Mainframe Discussion List IBM-MAIN@BAMA.UA.EDU To: IBM-MAIN@BAMA.UA.EDU Subject: Re: How to extend addressability over 4095 with USING statements Date: Tue, 24 Jul 2007 15:12:50 +0100 Cheers Wayne, Extremely helpful, thanks a lot :-) Maybe IBM could update the Message to be a bit more obvious as to what to do when you get the ASMA034E message. Phil. -Original Message- From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf Of Wayne Driscoll Sent: 24 July 2007 15:02 To: IBM-MAIN@BAMA.UA.EDU Subject: Re: How to extend addressability over 4095 with USING statements Phil, There are a number of ways. 1 - Add a second base register, for example if R12 is your base register, LR R11,R12 AHIR11,4096 USING label,R12,R11 2 - Constantly reload your base register (this is the method used by many compilers) of course if you do this, then you have to ensure that you populate all literal references before you modify the base register and change the using. 3 - Rewrite the code to fully separate code and data, and convert using all relative branching, so you only need a base register for data, not for code. However, some system macros do require base registers for code. For more info on this, see Ed Jaffe's excellent SHARE presentation (session 8160 from Tampa) entitled Reducing Base Register Usage, or How to 'Jumpify' Your Code Wayne Driscoll Product Developer JME Software LLC NOTE: All opinions are strictly my own. _ http://imagine-windowslive.com/hotmail/?locale=en-usocid=TXT_TAGHM_migration_HM_mini_2G_0507 -- 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
Re: How to extend addressability over 4095 with USING statements
Hi, I don't know what manual your looking in? I'm looking in HLASM V1R5 programmers guide. The section on the USING statement doesn't seem to have a reference to 'Range of an Ordinary USING Instruction'??? Phil. -Original Message- From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf Of J R Sent: 24 July 2007 16:10 To: IBM-MAIN@BAMA.UA.EDU Subject: Re: How to extend addressability over 4095 with USING statements Maybe IBM could update the Message to be a bit more obvious as to what to do when you get the ASMA034E message. I think that you're being a little harsh on IBM. When you looked up message ASMA034E, it told you to Increase the range of the active USING. If you had then looked up the USING instruction, under Range of an Ordinary USING Instruction you would have found an example almost identical to Wayne's. No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.476 / Virus Database: 269.10.16/914 - Release Date: 23/07/2007 19:45 -- 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
Re: How to extend addressability over 4095 with USING statements
I don't know what manual your looking in? I'm looking in HLASM V1R5 programmers guide. The section on the USING statement doesn't seem to have a reference to 'Range of an Ordinary USING Instruction'??? For most HLASM information, you can think of the documentation as a 2-volume set: SC26-4940 HLASM Language Reference SC26-4941 HLASM Programmers Guide From: Phil Kingston [EMAIL PROTECTED] Reply-To: IBM Mainframe Discussion List IBM-MAIN@BAMA.UA.EDU To: IBM-MAIN@BAMA.UA.EDU Subject: Re: How to extend addressability over 4095 with USING statements Date: Tue, 24 Jul 2007 16:24:04 +0100 Hi, I don't know what manual your looking in? I'm looking in HLASM V1R5 programmers guide. The section on the USING statement doesn't seem to have a reference to 'Range of an Ordinary USING Instruction'??? Phil. -Original Message- From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf Of J R Sent: 24 July 2007 16:10 To: IBM-MAIN@BAMA.UA.EDU Subject: Re: How to extend addressability over 4095 with USING statements Maybe IBM could update the Message to be a bit more obvious as to what to do when you get the ASMA034E message. I think that you're being a little harsh on IBM. When you looked up message ASMA034E, it told you to Increase the range of the active USING. If you had then looked up the USING instruction, under Range of an Ordinary USING Instruction you would have found an example almost identical to Wayne's. _ http://im.live.com/messenger/im/home/?source=hmtextlinkjuly07 -- 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
Re: SPAM: How to extend addressability over 4095 with USING statements
Phil Kingston wrote: Hi again, I'm trying to write a TSO command processor which seems to be getting addressability issues over 4095 bytes, e.g ASMA034E message. I know there's a way of extending the addressability, but can't remember. Anyone know how to do it? Ps. The IBM message for ASMA034E is of no use at all... just says extend addressability unsnip-- LABASE2, 2048 LABASE2,2048(BASE2,BASE1) USING whereever,BASE1,BASE2 -- 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