The assembler is behaving correctly for the macro instruction

|          MCGUFFIN A=QWERT

The D2A bif accepts only

<D2A input> ::= <signed dstring> | <dstring>
<dstring> ::= <dstring><digit> | <digit>
<digit> ::= 0|1|2|3|4|5|6|7|8|9
<signed dstring> ::= <sign> <dstring>
<sign> ::= + | -

If you want bullet proofing you will have to write it.  I have a macro
SINTCHK that sets
a created global binary/boolean set symbol equal to boolean 0|1 if its
argument is not|is a well-formed integer.  It is 'fancy', accepts
byte-, halfword-, fullword-, and doubleword-target inputs and baroque
signs like that in ' - -+ 505', and that may be overkill for your
purposes.

Shall I send you a parse?

John Gilmore, Ashland, MA 01721 - USA

On 11/24/11, Binyamin Dissen <[email protected]> wrote:
> On Thu, 24 Nov 2011 15:33:27 -0500 John Gilmore <[email protected]>
> wrote:
>
> :>I am not sure that I fully understand your post.  On the assumption
> :>that you have a macro definition something like the skeletal
>
> :>|         macro
> :>|         MCGUFFIN &a=
> :>| . . .
> :>|         mexit
> :>|         mend
>
> :>and such a macro instruction as
>
> :>|         MCGUFFIN  A=-20
>
> :>try using the HLASM bif D2A (p. 350 of the LR for version 1.6 of the
> :>HLASM), as in
>
> :>|&ac       setc   '&A'                     --editable character value
> :>with any sign
> :>|&aa       seta   D2A(&ac)           --signed arithmetic value
>
> :>within the macro definition.
>
> :>This is tedious, but it should resolve your problem.
>
>   MCGUFFIN A=QWERT
>
> ASMA214E Invalid operand value
>
> T' does not give an error message.
>
> --
> Binyamin Dissen <[email protected]>
> http://www.dissensoftware.com
>
> Director, Dissen Software, Bar & Grill - Israel
>
>
> Should you use the mailblocks package and expect a response from me,
> you should preauthorize the dissensoftware.com domain.
>
> I very rarely bother responding to challenge/response systems,
> especially those from irresponsible companies.
>


--
John Gilmore, Ashland, MA 01721 - USA

Reply via email to