>>-DC--+------------+--+-+-E-+--+---+-+--+--------------+-------> '-dup_factor-' | +-D-+ +-B-+ | '-program_type-' | '-L-' +-H-+ | | '-D-' | '-LQ-----------' .-,-----------------. V | >--+----------+----| nominal_value |-+------------------------->< '-modifier-' nominal_value (no type extension) .- + -. |--'--+-----+--value--+----------+--'---------------------------| '- - -' '-exponent-' nominal_value (type extension B) .- + -. .-R4-------. |--'--+-----+--value--+----------+--+----------+--'-------------| '- - -' '-exponent-' '-R--+-1-+-' +-5-+ +-6-+ '-7-' nominal_value (type extension H) .- + -. .-R1-------. |--'--+-----+--value--+----------+--+----------+--'-------------| '- - -' '-exponent-' '-R--+-4-+-' +-5-+ +-6-+ '-7-' nominal_value (type extension D) .- + -. .-R8--------. |--'--+-----+--value--+----------+--+-----------+--'------------| '- - -' '-exponent-' '-R--+-9--+-' +-10-+ +-11-+ +-12-+ +-13-+ +-14-+ '-15-'
The exponent modifier can be in the range from -231 to 231-1 if either B or H is specified as a type extension. The only valid length modifiers for decimal floating point constants are 4 bytes (short format), 8 bytes (long format), and 16 bytes (extended format).
The assembler imposes no limits on the exponent values that can be specified. The BFP architecture limits the actual values that can be represented; a warning message is issued whenever a specified value cannot be represented exactly.
The rounding mode identifies the rounding required when defining a floating-point constant. The valid values are those displayed in Figure 1.
For decimal to binary floating-point conversion, the assembler conforms to ANSI/IEEE Std 754-1985, IEEE Standard for Binary Floating-Point Arithmetic, dated August 12, 1985, with the following differences: exception status flags are not provided and traps are not supported.
Conversion of values within the represented range is correctly rounded.
Conversion of values outside the represented range is as follows. If the resultant value before rounding is larger in magnitude than MAX (the maximum allowed value) as represented in the specified length, then, depending on the rounding mode, either MAX or infinity is generated, along with a warning message. If the resultant nonzero value is less than Dmin (the minimum allowed value) as represented in the specified length, then, depending on the rounding mode, either Dmin or zero is generated, along with a warning message.