The so-called "computed offsets" code generates an XREF entry for \both\
the field and the main group name.
Perhaps that is useful to some folks... It usually makes for very long
statements and if those have to be continued it can get very ugly quickly.

On Thu, Mar 30, 2023 at 11:45 AM Charles Mills <charl...@mcn.org> wrote:

> And you need to be careful to code
>
> AH    12,AFLENG-DFHAFCB(,12)  Note comma
>
> And not
>
> AH    12,AFLENG-DFHAFCB(12)  Note missing comma
>
> The first uses R12 as a base register; the second uses R12 as an index
> register off of a base of 0. They will execute and produce the same results
> in *most* cases with two caveats:
>
> 1. In the old days using an index register slowed things down by a cycle or
> so. I don't know in the brave new world of pipelines.
> 2. If you are in Access Register mode -- and you probably are not -- they
> will likely produce different results, because the former uses AR12 and the
> latter does not.
>
> The comma is critical in storage-storage instructions:
>
> CLC 0(12),=C'FOO' Does not do what it appears to do at all. It compares 12
> bytes starting at absolute address 0 to 'FOO' plus 9 unspecified bytes.
> (Note the thread here about inadvertent references to low "core.")
>
> CLC MYDSECTFIELD,=C'FOO' does not have that pitfall.
>
> Charles
>
>
> -----Original Message-----
> From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU
> ]
> On Behalf Of Swarbrick, Frank
> Sent: Thursday, March 30, 2023 12:37 AM
> To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
> Subject: Re: [EXTERNAL] Re: alternative to USAGE statement?
>
> Well, the version without USING (not USAGE, of course), was not obvious at
> all to me until a few days ago, after 20 years of seeing it and not
> understanding it...  Now that I understand it, though, I do find it quite
> readable.  And I think I agree with your personal rule.
>

Reply via email to