Re: CDS and alignment question

2010-08-20 Thread McKown, John
-Original Message- From: IBM Mainframe Assembler List [mailto:assembler-l...@listserv.uga.edu] On Behalf Of Steve Comstock Sent: Friday, August 20, 2010 8:17 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: CDS and alignment question snip THEPROG CSECT

Re: CDS and alignment question

2010-08-20 Thread David Bond
On Fri, 20 Aug 2010 08:26:28 -0500, McKown, John wrote: THEPROG CSECT STM14,12,12(13) LR 12,15 USING THEPROG,12,11,10 LAY11,4096(,12) LAY10,4096(,11) I realize that the STM implies that the program is not in 64-bit mode, but a better

Re: CDS and alignment question

2010-08-20 Thread Paul Gilmartin
On Aug 20, 2010, at 07:51, McKown, John wrote: Good point on the pipeline. I am constantly forgetting about pipeline delays. Is there a tool to analyze and report these? I recall that decades ago there was such for CDC 6600. -- gil

Re: CDS and alignment question

2010-08-20 Thread Steve Comstock
McKown, John wrote: -Original Message- From: IBM Mainframe Assembler List [mailto:assembler-l...@listserv.uga.edu] On Behalf Of Steve Comstock Sent: Friday, August 20, 2010 8:17 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: CDS and alignment question snip

Re: CDS and alignment question

2010-08-20 Thread Gerhard Postpischil
On 8/20/2010 9:16 AM, Steve Comstock wrote: THEPROG CSECT STM 14,12,12(13) LR 12,15 USING THEPROG,12,11,10 BAS 2,*+8 DC F'4096' L 2,0(2) LA 11,0(2,12) LA 10,0(2,11) My program start macros use: LR R12,R15 LA R10,2048 LA R11,2048(R10,R12) LA

Re: CDS and alignment question

2010-08-19 Thread Tom Marchant
:27:30 AM Subject: Re: CDS and alignment question On Aug 18, 2010, at 17:30, John R. Ehrman (408-463-3543 T/543-) wrote: (-- Referenced Note Follows ) Sent: Wednesday, August 18, 2010 3:51 PM QMGREX01 CSECT , STM R14,R12,12(R13) LR

Re: CDS and alignment question

2010-08-19 Thread David Bond
Ensuring the base registers are 4096 apart is important when using based USINGs for items within the referenced area. A 4095 increment requires separate USINGs for each register, resulting in separate USING ranges. A 4096 increment allows a single USING statement and a contiguous USING range. If

Re: CDS and alignment question

2010-08-19 Thread Lloyd Fuller
and code properly. Lloyd - Original Message From: Tom Marchant m42tom-ibmm...@yahoo.com To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Sent: Thu, August 19, 2010 9:12:46 AM Subject: Re: CDS and alignment question On Thu, 19 Aug 2010 05:32:15 -0700, Lloyd Fuller wrote: And BOTH of the LA commands

Re: CDS and alignment question

2010-08-19 Thread Tom Marchant
On Wed, 18 Aug 2010 23:27:30 -0600, Paul Gilmartin wrote: On Aug 18, 2010, at 17:30, John R. Ehrman (408-463-3543 T/543-) wrote: I think the original posting was pointing out that you lose only a single byte of addressability by adding 4095, and that you save one instruction. The added byte

Re: CDS and alignment question

2010-08-19 Thread Paul Gilmartin
On Aug 19, 2010, at 07:25, David Bond wrote: Ensuring the base registers are 4096 apart is important when using based USINGs for items within the referenced area. A 4095 increment requires separate USINGs for each register, resulting in separate USING ranges. A 4096 increment allows a single

Re: CDS and alignment question

2010-08-19 Thread David Bond
On Thu, 19 Aug 2010 08:48:34 -0600, Paul Gilmartin wrote: If for instance, a DCB crosses base registers and the DCB fields are to be referenced via a based USING on the IHADCB DSECT, the difference between the two matters. It works only if the single USING statement is employed. I have run

Re: CDS and alignment question

2010-08-19 Thread Paul Gilmartin
On Aug 19, 2010, at 09:12, David Bond wrote: Given: USING DSA,R13,R12 or: USING DSA,R13 USING DSA+4096,R12 with: USING (IHADCB,IHADCB+DCBLNGQS),SYSPRINT MVC DCBDDNAM,=CL8'SYSOUT' ... DSA DSECT ... SYSPRINT DCB ... (generated DCB starts

Re: CDS and alignment question

2010-08-19 Thread Martin Trübner
Gil, (or should I use Paul?) Is there any form of USING for multiple base registers and long displacements, Multiple is (per documentation) 4096 and then the next. or is it merely unthinkable that any DSECT would require multiple base registers with long displacements? that would be a

Re: CDS and alignment question

2010-08-18 Thread Ward, Mike S
WORKAREA,R13 Is this not the way to do it? -Original Message- From: IBM Mainframe Assembler List [mailto:assembler-l...@listserv.uga.edu] On Behalf Of glen herrmannsfeldt Sent: Tuesday, August 17, 2010 1:56 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: CDS and alignment question

Re: CDS and alignment question

2010-08-18 Thread Bill Fairchild
, August 18, 2010 3:51 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: CDS and alignment question I have always used something like this: QMGREX01 CSECT , STM R14,R12,12(R13) LRR11,R15 USING QMGREX01,R11,R12 LAR12,4095(R11) LAR12,1(R12

Re: CDS and alignment question

2010-08-18 Thread Tom Marchant
On Wed, 18 Aug 2010 16:16:58 -0500, McKown, John wrote: -Original Message- I have always used something like this: QMGREX01 CSECT , STM R14,R12,12(R13) LRR11,R15 USING QMGREX01,R11,R12 LAR12,4095(R11) LAR12,1(R12)

Re: CDS and alignment question

2010-08-18 Thread John R. Ehrman (408-463-3543 T/543-)
I think the original posting was pointing out that you lose only a single byte of addressability by adding 4095, and that you save one instruction. The added byte is rarely an issue; whether or not the extra instruction is important depends on the application. John Ehrman (--

Re: CDS and alignment question

2010-08-18 Thread Steve Smith
It is the typical way to do it. However, long ago, someone pointed out that this sequence burns 4 bytes to add 1 byte of addressability. Which, to Mr Spock, makes no sense. Furthermore, it is incorrect to put a USING statement before it is valid (although it is fairly common). It should be

Re: CDS and alignment question

2010-08-18 Thread Alex Kodat
On Wed, 18 Aug 2010 22:33:27 -0400, Steve Smith sasd...@gmail.com wrote: It is the typical way to do it. However, long ago, someone pointed out that this sequence burns 4 bytes to add 1 byte of addressability. And to preserve the sanity of any poor soul who has to look at the resultant

Re: CDS and alignment question

2010-08-18 Thread Paul Gilmartin
On Aug 18, 2010, at 17:30, John R. Ehrman (408-463-3543 T/543-) wrote: I think the original posting was pointing out that you lose only a single byte of addressability by adding 4095, and that you save one instruction. The added byte is rarely an issue; whether or not the extra instruction is

Re: CDS and alignment question

2010-08-18 Thread Paul Gilmartin
On Aug 18, 2010, at 20:33, Steve Smith wrote: Furthermore, it is incorrect to put a USING statement before it is valid (although it is fairly common). It should be moved after your commented line. The USING for R13 is also obviously premature. What do you do when you're marching through

Re: CDS and alignment question

2010-08-17 Thread Schwarz, Barry A
-LIST@LISTSERV.UGA.EDU Subject: Re: CDS and alignment question Yes, STGHEAD is in a DSECT: STGPOOL DSECT STGSIZE DS F STGHEAD DS A STGCNTDS F STGERRDSF As I said in the original e-mail, the easy thing to do would be to rearrange the dsect so that STGHEAD

Re: CDS and alignment question

2010-08-17 Thread glen herrmannsfeldt
It is the address in memory that matters. This reminds me of programs with two base registers, using LA to set the registers such that the offset of the second is 4095 from the first. All instruction addresses (an branch instructions) will then have an odd offset, legal but it looks funny. On

Re: CDS and alignment question

2010-08-17 Thread Mark Hammack
...@listserv.uga.edu] On Behalf Of Mark Hammack Sent: Tuesday, August 17, 2010 7:33 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: CDS and alignment question Yes, STGHEAD is in a DSECT: STGPOOL DSECT STGSIZE DS F STGHEAD DS A STGCNTDS F STGERRDS

Re: CDS and alignment question

2010-08-17 Thread Gord Tomlin
Message- From: IBM Mainframe Assembler List [mailto:assembler-l...@listserv.uga.edu] On Behalf Of Mark Hammack Sent: Tuesday, August 17, 2010 7:33 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: CDS and alignment question Yes, STGHEAD is in a DSECT: STGPOOL DSECT STGSIZE DS F STGHEAD

Re: CDS and alignment question

2010-08-17 Thread Chris Craddock
Why does the data for a CDS need to be on a doubleword anyway? It just does Or if you want the more gory explanation... it has to do with storage operand consistency rules. CDS is built on top of the hardware memory architecture and so it has to play within the same rules as other storage

Re: CDS and alignment question

2010-08-16 Thread Hall, Keven
Subject: Re: CDS and alignment question Thanks! However, I think you meant ACONTROL FLAG(NOALIGN)/ACONTROL FLAG(ALIGN). At least that is what worked for me. Thanks again, Mark Hammack Senior Technical Specialist Systemware, Inc. On Mon, Aug 16, 2010 at 1:00 PM, Binyamin Dissen bdis