SPM bug

2010-12-03 Thread Fred van der Windt
The syntax for AND and OR operators in the Strcutured Programming Macros is differs slightly between the UNTIL= and WHILE= options of the DO macro and every other SPM macro that supports conditions. This is not only very confusing but I was just bitten by the fact that the DO macro may silently

Re: SPM bug

2010-12-03 Thread Binyamin Dissen
On Fri, 3 Dec 2010 11:23:48 +0100 Fred van der Windt fred.van.der.wi...@mail.ing.nl wrote: :The syntax for AND and OR operators in the Strcutured Programming Macros is differs slightly between the UNTIL= and WHILE= options of the DO macro and every other SPM macro that supports conditions. This

Re: SPM bug

2010-12-03 Thread Fred van der Windt
:But why is this error not properly signalled? Because it wasn't coded to do it. Anyway, I asked the 'right person in our organization' to report it to IBM as a bug in the HLASM Toolkit. Fred! - ATTENTION: The information in

Long Displacements - What Good Are They?

2010-12-03 Thread Edward Jaffe
What good is the long displacement instruction set without MVC[Y] and CLC[Y]? What do the compilers use? -- Edward E Jaffe Phoenix Software International, Inc 831 Parkview Drive North El Segundo, CA 90245 310-338-0400 x318 edja...@phoenixsoftware.com http://www.phoenixsoftware.com/

Re: SPM bug

2010-12-03 Thread Fred van der Windt
Ouch! Otiose tokens should not be silently ignored. Would: DO UNTIL=((CR,R1,LT,R2),AND,(CR,R3,LT,R4)) .. have produced the intended result? Yes it does: DO UNTIL=((CR,R1,LT,R2),AND,(CR,R3,LT,R4)) +...@lb2 DC 0H : : ENDDO +...@lb3

Re: Long Displacements - What Good Are They?

2010-12-03 Thread Farley, Peter x23353
-Original Message- From: IBM Mainframe Assembler List [mailto:ASSEMBLER- l...@listserv.uga.edu] On Behalf Of Edward Jaffe Sent: Friday, December 03, 2010 3:42 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Long Displacements - What Good Are They? What good is the long displacement

Re: Long Displacements - What Good Are They?

2010-12-03 Thread Edward Jaffe
On 12/3/2010 12:59 PM, Farley, Peter x23353 wrote: C/C++ (and MetalC) will use the latest and greatest architecture instructions for ARCH(8),TUNE(8) (at V1R10, for z10) or ARCH(9),TUNE(9) (at V1R12 for z196) compiler options. Enterprise COBOL never does. I don't have access to Enterprise

Re: Long Displacements - What Good Are They?

2010-12-03 Thread Gary DiPillo
Inelegant, but how about (worst case): LAY Rx,Target LAY Ry,Source MVC 0(L'Source,Rx),0(Ry) It still eliminates the need to dedicate base registers, as long as you can manage to have or make two registers available. The compilers are pretty good at conserving and/or reusing

Re: SPM bug

2010-12-03 Thread Fred van der Windt
Trouble comes when the SPMs are used by people who do not/cannot write macro definitions. Ah. So if I code a macro invocation with parameters that do not meet the documented specification of that macro, but the macro ignores the incorrect parameters and uses the remaining parameters to

Re: SPM bug

2010-12-03 Thread Paul Gilmartin
On 2010-12-03 14:45, Fred van der Windt wrote: Trouble comes when the SPMs are used by people who do not/cannot write macro definitions. Ah. So if I code a macro invocation with parameters that do not meet the documented specification of that macro, but the macro ignores the incorrect

Re: Long Displacements - What Good Are They?

2010-12-03 Thread Edward Jaffe
On 12/3/2010 1:44 PM, Gary DiPillo wrote: Inelegant, but how about (worst case): LAY Rx,Target LAY Ry,Source MVC 0(L'Source,Rx),0(Ry) Worst case indeed. The AGI on a code fragment like this is terrible (though I suspect LAY has the same pipeline bypass that LA has). I suppose

Re: Long Displacements - What Good Are They?

2010-12-03 Thread Steve Comstock
On 12/3/2010 2:27 PM, Edward Jaffe wrote: On 12/3/2010 12:59 PM, Farley, Peter x23353 wrote: C/C++ (and MetalC) will use the latest and greatest architecture instructions for ARCH(8),TUNE(8) (at V1R10, for z10) or ARCH(9),TUNE(9) (at V1R12 for z196) compiler options. Enterprise COBOL never

Re: Long Displacements - What Good Are They?

2010-12-03 Thread Blaicher, Chris
To someone writing performance code, and why else would you be writing assembler, MVCL/CLCL/etc are terrible instructions performance-wise unless you are moving over 32K of data. In answer to the original question, there is no space in the instruction to add the bits. Changing the system to

Re: Long Displacements - What Good Are They?

2010-12-03 Thread Farley, Peter x23353
-Original Message- From: IBM Mainframe Assembler List [mailto:ASSEMBLER- l...@listserv.uga.edu] On Behalf Of Gary DiPillo Sent: Friday, December 03, 2010 4:44 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Long Displacements - What Good Are They? Snipped The compilers are

Re: Long Displacements - What Good Are They?

2010-12-03 Thread Edward Jaffe
On 12/3/2010 2:58 PM, Farley, Peter x23353 wrote: If any competent assembler programmer ever looks at COBOL-generated code they invariably choke on their coffee and donut, since it is the most awful code they have ever seen. I've not looked at COBOL-generated code. I've looked at the code

Re: Long Displacements - What Good Are They?

2010-12-03 Thread Farley, Peter x23353
-Original Message- From: IBM Mainframe Assembler List [mailto:ASSEMBLER- l...@listserv.uga.edu] On Behalf Of Edward Jaffe Sent: Friday, December 03, 2010 6:26 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Long Displacements - What Good Are They? On 12/3/2010 2:58 PM, Farley,