For special values, the syntax of the DC statement is:
>>-DC--+------------+--+-+-E-+--+-B-+-+--+--------------+------->
'-dup_factor-' | +-D-+ +-H-+ | '-program_type-'
| '-L-' '-D-' |
'-LQ-----------'
.-,-----------------.
V |
>--+-----------------+---| nominal_value |-+-------------------><
'-length_modifier-'
nominal_value (type extension B and D)
.- + -.
|--'--+-----+--+-(SNAN)-+--'------------------------------------|
'- - -' +-(QNAN)-+
+-(NAN)--+
+-(INF)--+
+-(MAX)--+
+-(MIN)--+
'-(DMIN)-'
nominal_value (type extension H)
.- + -.
|--'--+-----+--+-(MAX)--+--'------------------------------------|
'- - -' +-(MIN)--+
'-(DMIN)-'
- dup_factor
- Causes the constant to be generated the number of times indicated
by the factor.
- type
- Indicates that the constant is short, long, or extended floating
point.
- type extension
- The type of conversion required to assemble the constant.
- program_type
- Assign a programmer determined 32 bit value to the symbol naming
the DC instruction, if a symbol was present.
- length_modifier
- Describes the length in bytes or bits into which the constant
is to be assembled. For binary floating-point constants (type
extension B), the minimum length in bits for INF and NAN is:
- 11
- Short floating-point constant
- 14
- Long floating-point constant
- 18
- Extended floating-point constant
This minimum length allows
for the sign, exponent and two fraction bits. No length modifiers
other than 4, 8, and 16 are allowed for decimal (type extension D)
floating-point constants.
- nominal_value
- Defines the special value to be generated.
Notes: - The nominal value can be in mixed case.
- SNAN assembles with an exponent of ones and 01 in the high-order
fraction bits with the remainder of the fraction containing zeros.
- QNAN assembles with an exponent of ones and 11 in the high-order
fraction bits with the remainder of the fraction containing zeros.
- NAN assembles with an exponent of one and 10 in the high-order
fraction bits with the remainder of the fraction containing zeros.
- MIN assembles as a normalized minimum value, that is an exponent
of one and a fraction of zeros for binary constants, and a fraction
with a leading hexadecimal digit 1 followed by zeros for hexadecimal
constants.
- DMIN assembles as a denormalized minimum value with an exponent
of zeros and a fraction of all zeros except for a low-order bit of
one.
- INF assembles with an exponent of ones and a fraction of zeros.
- MAX assembles with a fraction of all ones and an exponent of all
ones for hexadecimal constants, and an exponent of all ones except
for the low bit for binary constants.