11.07.2015 Views

HLASM: V1R6 Language Ref

HLASM: V1R6 Language Ref

HLASM: V1R6 Language Ref

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

DC instruction—Address constantsA location counter reference (*) appears in the fourth constant (*+4096). The valueof the location counter is the address of the first byte of the fourth constant. Whenthe location counter reference occurs in a literal, as in the LM instruction, the valueof the location counter is the address of the first byte of the instruction.Note: It is important to remember that expression evaluation for address constantsis restricted to using 32-bit internal arithmetic. The result is thensign-extended to the length of the constant. This means that certainexpressions in AD-type constants may not yield expected results, especiallyif the resulting value is negative.PSECT reference—R: The R-type constant reserves storage for the address of thePSECT of symbol1 as specified in the associated XATTR statement (“XATTRinstruction (z/OS and CMS)” on page 228). It is the caller’s responsibility toestablish the definition of the R-type address constant referencing the calledroutine’s PSECT, and to pass that address to the called routine. This constant isonly available if the GOFF option is specified.Note: If a program is to be reentrant, R-type address constants may not appear inshared (read-only) text. They should be in the caller’s PSECT, and beprovided to the called routine using an appropriate convention. That is,R-type address constants referring to PSECTs should themselves reside inPSECTs. If not, there can be only a single instantiation of the PSECT workarea, and the program cannot be reentrant.Table 29. R address constantsSubfield Value Example Result1. Duplication factor Allowed2. Type R3. Type Extension D4. Program type Allowed5. ModifiersImplicit length:(length modifiernot present)Alignment:(Length modifiernot present)R-type: 4 bytesRD-type: 8 bytesR-type: FullwordRD-type: DoublewordRange for length: R-type: 3 or 4 onlyRD-type: 3, 4 or 8(no bit length)Range for scale: Not allowedRange for exponent: Not allowed6. Nominal valueRepresented by: An ordinary symbol DC R(PSECT1)Enclosed by: ParenthesesExponent allowed: NoNumber of valuesper operand:MultiplePadding: With zeros at left154 <strong>HLASM</strong>: <strong>V1R6</strong> <strong>Language</strong> <strong>Ref</strong>

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

Saved successfully!

Ooh no, something went wrong!