On 2017-02-23, at 10:31, Steve Thompson wrote:
>>> 
>> Informative?  Or Warning?  Do you then disagree with warnings on
>> multiple base-displacement resolutions?
> 
> I sometimes run into this, and can't figure out why the assembler even issued 
> the message. But when it happens I do verify that it is using the correct 
> base. This is actually a problem going back to the "F" Assembler.
>  
It was a source of errors, difficult to analyze.  Nowadays, the
best way to suppress this is with the "end" operand of the USING
instruction.  In other cases, it may be necessary to:
         PUSH USING
         DROP
         USING ...
         ...
         POP USING

And the warning assumes 12-bit displacement.  I believe it is not
issued for longer displacements.  And with the advent of negative
displacements there is a need for a "begin" qualifier as well as
"end" on USING.

> My gripe is, I removed a "," from the end of a line on purpose, and because 
> it is marked as continuing, I get a warning. That didn't use to happen. This 
> was done to test certain expansions of Macros, or not pick up a debugging 
> keyword (on the last line of the continuation).
>  
Grrr.  This shows that Assembler syntax was descriptive, not prescriptive.
Programmers used unspecified constructs that generated no error messages
or only warnings, and came to depend on them, and they had to become part
of the documented syntax.  There was no a priori decision on whether a
continuation needed be indicated by a comma, or a mark in column 72,
or both.

>> On Wed, 22 Feb 2017 16:18:38 -0500, Melvyn Maltz wrote:
>> 
>>> Immediate operands won't accept a duplication factor...why not ?
>>> Can't find a reason in the HLASM manual
>>> 
>>> Try these...
>>> AHI R1,2X'FF'
>>> AHI R1,X'FFFF'
>>> AHI R1,-1
>>> 
>> How do you (and HLASM) feel about?:
>>         AHI R1,X'00FFFF'
>>  
Earlier, I said self-defining term.  I think that should have been
non-relocatable expression (and I don't think a constant with a
duplication factor is an expression).

What are the limits on the operand of AHI?  What of:

A        EQU -32768
         DC  Y(A)
         AHI R1,A    OK, I believe.

B        EQU  32767
         DC  Y(B)
         AHI R1,B    OK, I believe.

c        EQU  65535
         DC  Y(C)
         AHI R1,C    OK ???

Is the operand of AHI treated modulo 2^16, or ?

-- gil

Reply via email to