ASMA320W Immediate field operand may have incorrect sign or magnitude - xxxxxxxx
Explanation
The value of an immediate operand for a machine instruction is outside the allowed range, because the operand field is smaller than 32 bits and the value cannot be assigned to the field without loss of information. The allowed range is determined by the size in bits of the immediate field and whether the value is expected to be signed, for arithmetic operations, or unsigned, for logical operations or assignments. Immediate operands used in an arithmetic context are signed, with bit 0 of the immediate field being used to hold the sign bit. This reduces by one the number of bits available to hold the absolute value of the operand; for example:
System action
The required number of low-order bits of the operand's value are used.
Programmer response
Use a valid immediate operand, or specify the immediate information in a DC statement or a literal and change the statement to a non-immediate type. You can suppress this message by specifying the option TYPECHECK(NOMAGNITUDE). You can suppress the check for whether the value is signed or unsigned by specifying the option TYPECHECK(NOSIGNED), in which case the value is accepted if it lies within the allowed range for either form.
Severity
4