Paul Gilmartin <[email protected]> wrote:
>
> On 2017-03-05, at 14:40, Martin Truebner wrote:
> >
> >>> ... to have heard from either of the two commerical vendors of
> >>> HLASM compatible cross-assemblers.
> >
> > Now I have seen one. What is the other (is there one?) ?
> >
> Dignus, Tachyon, (does MicroFocus have one?), and the non-commercial
> z390.
>
> A while back, I discovered that:
> X EQU X'7FFFFFFF'
> USING R2,X
> LA R3,-X
>
> Resolves to the equivalent of:
> LA R3,2(,R2)
>
> ... where I believe it should say:
> ASMA307E No active USING for operand 2
>
> I surmise it improperly ignored an overflow as it tried to resolve.
> This matters little for AMODE 24 or AMODE 31; much for AMODE 64.
> Does this behavior persist? Cross-assemblers?
>
I fleshed this into an example to assemble:
R2 EQU 2
R3 EQU 3
FOO CSECT
X EQU X'7FFFFFFF'
USING R2,X
LA R3,-X
END
then I ran it thru HLASM v1.6 and got these messages:
7FFFFFFF 4 X EQU X'7FFFFFFF'
5 USING R2,X
** ASMA029E Incorrect register specification - X
** ASMA435I Record 5 in RIVERS.ASM.SOURCE(T) on volume: DAVE
00000000 0000 0000 00000000 6 LA R3,-X
** ASMA028E Invalid displacement
** ASMA435I Record 6 in RIVERS.ASM.SOURCE(T) on volume: DAVE
7 END
and I ran it thru the Dignus assembler and got these messages:
5 USING R2,X
** DASM029E Incorrect register specification
** DASM435I Record 5 in t2.asm
00000000 0000 0000 00000000 6 LA R3,-X
** DASM028E Invalid displacement
** DASM435I Record 6 in t2.asm
7 END
It seems HLASM and Dignus match.
But - I'm not sure that matches your description?
We have a substantial test suite for matching HLASM's USING vagaries;
so we should line-up very well. Just a few months ago we went thru
an audit of that.
- Dave Rivers -
--
[email protected] Work: (919) 676-0847
Get your mainframe programming tools at http://www.dignus.com