> > Take for example, AHI R1,2X'FF'. What does that even *mean*? If it
It is perhaps a silly example. But suppose R1 was to contain a pair of flag byte values. Suppose the flags were equated. Now it might make sense to code LHI R1,2AL1(MYFLAG1) Or something like that. Yes you can code the following but it is no great exemplar of coding clarity: LHI R1,MYFLAG1*256+MYFLAG1 Charles -----Original Message----- From: IBM Mainframe Assembler List [mailto:[email protected]] On Behalf Of Robert Netzlof Sent: Wednesday, March 1, 2017 6:23 AM To: [email protected] Subject: Re: HLASM anomaly On 3/1/17, Brent Longborough <[email protected]> wrote: > I really can't understand why we're making such an indigestible meal > of all this. > > Take for example, AHI R1,2X'FF'. What does that even *mean*? If it > *means* AHI R1,-1, then write it like that, so that the unfortunate > programmer who has to maintain your code doesn't have to cast runes to > know what you mean! > > In the context of DC/DS, 2X'FF' and X'FFFF' are completely different > things, except at the level of object code (which isn't what anyone is > looking for): > > DC 2X'FF' defines an array of two 1-byte constants DC X'FFFF' > defines a single two-byte constant > > The moral is this: say what you *mean*, not any old gibberish that > gets what you think you need into the object code. > Amen, brother. Hallelujah! -- Bob Netzlof a/k/a Sweet Old Bob
