22.02.2015 Views

HLASM Language Reference

HLASM Language Reference

HLASM Language Reference

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

DC Instruction<br />

With EBCDIC spaces on the right (X'40') for the character (C) constants<br />

With EBCDIC spaces on the right (X'40') for the Unicode character (CU)<br />

constant prior to translation<br />

With double-byte spaces on the right (X'4040') for the graphic (G) constants<br />

Notes:<br />

1. In floating-point constants (E,D,L), the fraction is extended to occupy the extra<br />

space available.<br />

2. Padding is on the left for all constants except the character constant and the<br />

graphic constant.<br />

Truncation<br />

If less space is available than is needed to accommodate the nominal value, the<br />

nominal value is truncated and part of the constant is lost. Truncation of the<br />

nominal value is:<br />

On the left for the binary (B), hexadecimal (X), fixed-point (H and F), and<br />

decimal (P and Z)<br />

On the right for the character (C) constant, the Unicode character (CU)<br />

constant, and the graphic (G) constant<br />

On the left for absolute or relocatable address (A and Y), the external address<br />

(V), offset (Q), length (J) and PSECT address (R) constants. The actual value<br />

stored and any possible truncation is dependent on the values inserted by the<br />

linker/binder and the length of the constant.<br />

Notes:<br />

1. If significant bits are lost in the truncation of fixed-point constants, error<br />

diagnostic message ASMA72E Data item too large is issued.<br />

2. Floating-point constants (E, D, L) are not truncated. They are rounded to fit the<br />

space available—see Figure 50 on page 162 for rounding modes.<br />

3. The above rules for padding and truncation also apply when using the<br />

bit-length modifier (see “Subfield 5: Modifier” on page 136).<br />

4. Double-byte data in C-type constants cannot be truncated because truncation<br />

creates incorrect double-byte data. Error ASMA28E Truncation into<br />

double-byte data is not permitted is issued if such truncation is attempted.<br />

5. Truncation of double-byte data in CU-type and G-type constants is permitted<br />

because the length modifier restrictions (see “Subfield 5: Modifier” on<br />

page 136) ensure that incorrect double-byte data cannot be created by<br />

| truncation. However, truncating bit-length constants may create incorrect<br />

| double-byte data.<br />

Subfield 1: Duplication Factor<br />

The syntax for coding the duplication factor is shown in the subfield format on page<br />

127.<br />

You may omit the duplication factor. If specified, it causes the nominal value or<br />

multiple nominal values specified in a constant to be generated the number of times<br />

indicated by the factor. It is applied after the nominal value or values are<br />

132 <strong>HLASM</strong> V1R5 <strong>Language</strong> <strong>Reference</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!