MVHI and MVHHI operate on signed operands, and do sign extension. The
point was that 255 (x'ff') isn't a negative number, and so won't produce
the 2 or 4 bytes of all ones that he wants. Jonathan Scott has explained
the workings of HLASM absolute values more than once... it is what it is.
But fundamentally, you really can't use signed numbers in a logical context
and not expect there's going to be some issues.
There is some limited support for 8-bit signed numbers. LB I know about,
and I have vague memories of vector support. Oh yeah, there's CIB/J, which
also has a signed 1-byte operand.
As for the assembler "understanding". It does what you want, you just
don't like the warning, which you prefer not to suppress. Anyway, I think
HLASM does the best it can to accommodate all desires.
sas