On 2017-03-17, at 04:44, Martin Ward wrote:
> 
> Given that 2X'FF' generates the same two bytes as X'FFFF',
> there is no reason why we should not be allowed to replace
> the latter by the former.
> 
I tend more to be value-oriented.  The operand of MVHHI is an
expression, and it is prudently restricted to the range, [-32768,32767],
even as a Y-constant is.  Expressions can be EQUated.  What should
be the meaning of:
X        EQU  2X'FF'
If the value is 65535, that's outside the halfword range and
         MVHHI A,X  should fail, as should
         DC    Y(X)

Don't make too many exceptions to too many rules.

One exception I'd like to see removed is, given addressability,
         LA    R1,=D'3.14'  works OK, while
         DC    S(=D'3.14')  fails.
Why should a base-displacement be resolvable in an instruction, but
not in an S-constant?  The same code should be used and work for both.

-- gil

Reply via email to