We've recently shipped another little enhancement which has been
requested many times (including on this mailing list).  It was
coded years ago in response to problems with HLASM code generated
by compilers, but as the compilers found alternative solutions it
was considered low priority and was put aside.  We decided it was
sufficiently useful to be worth the effort of merging up the fix
and testing it, and we shipped it at the end of March 2019.

 APAR PH10081 - Support signed decimal self-defining terms

 If a decimal number is immediately preceded by a unary minus,
 HLASM will now treat that as a signed decimal self-defining
 term. This allows all signed 31-bit values from -2147483648 to
 2147483647 to be written as decimal self-defining terms,
 supporting the same range of values as for existing binary,
 character and hexadecimal self-defining terms.

 This does not change the results of any existing valid
 expression, but means that some expressions which were
 previously considered invalid will now be accepted as valid.

 This change affects processing of assembler expressions and
 conditional assembly arithmetic expressions, including cases
 where a SETC symbol or macro parameter is used in an arithmetic
 expression, which will now accept a negative decimal number.
 The Type attribute T'&NAME now returns 'N' for a negative
 decimal number as well as for an unsigned decimal number (or a
 valid self-defining term of any other type).

 The ISDEC built-in function is unchanged, and continues to test
 for an unsigned value consisting of up to 10 decimal digits.

Jonathan Scott, HLASM
IBM Hursley, UK

Reply via email to