To test an attibute, the fields or equates must occur before they are tested.
In other words the macro must occur after the definition of the variable data.
If you can require that in your programs, then ISDEC('&L') will return a
numeric value of 1 for 32767 and T'&L will return a value of F for a fullword
definition. You could also use L'&L to determine it has a length of 4 (in case
someone coded (A or XL4).
If the length is greater than 4095, then you can't use LA. You will need to use
another instruction to load the length (e.g. LHI, LAY, L with =A()).
Jon Perryman.
>________________________________
> From: "[email protected]" <[email protected]>
>
>
>
>In a Macro I wish to generate 3 different instructions depending on the value
>supplied for &L.
>
>If I specify AMOVE L=LENGTH
>I want the macro to generate a LOAD Of a Full Word
> L Rz,LENGTH
>
>LENGTH DS F
>
>If I Specify AMOVE L=32767
>I want the macro to generate a Load Addres
> LA Rz,32767
>
>If I specify AMOVE L=EQUATE
>I want the macro to generate a Load Address of
> LA Rz,EQUATE
>
>EQUATE EQI (*-BEGIN)
>
>
>Could someone please provide an example as to how to test for
>the conditions above in a Macro.
>
>Paul D'Angelo
>*******************************
>
>
>