11.07.2015 Views

HLASM: V1R6 Language Ref

HLASM: V1R6 Language Ref

HLASM: V1R6 Language Ref

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

Create successful ePaper yourself

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

LTORG instructionLiteralv A sequence symbolIf symbol is an ordinary symbol or a variable symbol that has been assigned anordinary symbol, the ordinary symbol is assigned the value of the address of thefirst byte of the literal pool. This symbol is aligned on a boundary specified by theSECTALGN option, and has a length attribute of 1. If bytes are skipped after theend of a literal pool to achieve alignment for the next instruction, constant, or area,the bytes are not filled with zeros. If the literal pool includes any items that requirequadword alignment and the SECTALGN value defaults to 8, then the assemble ofthe literal causes the issue of an ASMA500W message.The assembler ignores the borders between control sections when it collects literalsinto pools. Therefore, you must be careful to include the literal pools in the controlsections to which they belong (for details, see “Addressing considerations” on page194).The creation of a literal pool gives the following advantages:v Automatic organization of the literal data into sections that are correctly alignedand arranged so that minimal space is wasted in the literal pool.v Assembling of duplicate data into the same area.v Because all literals are cross-referenced, you can find the literal constant in thepool into which it has been assembled.poolA literal pool is created under the following conditions:v Immediately after a LTORG instruction.v If no LTORG instruction is specified, and no LOCTRs are used in the firstcontrol section, a literal pool generated after the END statement is created at theend of the first control section, and appears in the listing after the ENDstatement.v If no LTORG instruction is specified, and LOCTRs are used in the first controlsection, a literal pool generated after the END statement is created at the end ofthe most recent LOCTR segment of the first section, and appears in the listingafter the END statement.v To force the literal pool to the end of the control section when using LOCTRs,you must resume the last LOCTR of the CSECT before the LTORG statement (orbefore the END statement if no LTORG statement is specified).Each literal pool has five segments into which the literals are stored (a) in theorder that the literals are specified, and (b) according to their assembled lengths,which, for each literal, is the total explicit or implied length, as described below.v The first segment contains all literal constants whose assembled lengths are amultiple of 16.v The second segment contains those whose assembled lengths are a multiple of 8,but not of 16.v The third segment contains those whose assembled lengths are a multiple of 4,but not a multiple of 8.v The fourth segment contains those whose assembled lengths are even, but not amultiple of 4.v The fifth segment contains all the remaining literal constants whose assembledlengths are odd.Chapter 5. Assembler instruction statements 193

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

Saved successfully!

Ooh no, something went wrong!