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.

Terms, literals, and expressions|||||||||||||Note: The assembler does not support character self-defining terms of the formCU’x’ because self-defining terms are required by definition of theAssembler <strong>Language</strong> to have fixed values.There are many EBCDIC code pages; some characters have different encodings indifferent code pages. To be sure that your character constants and self-definingterms have the representations and value, use just these 82 invariant characters:v spacev decimal digitsv upper-case and lower-case letters A through Zv these special characters:+ < = > % & * " ’ ( ) , _ - . / : ; ?These characters have the same binary representation across all single-byteEBCDIC code pages. If you use any other character, the Assembler will use its bitpattern as its value, so it may not display as the same character in environmentswhere a different code page is used by default.Graphic self-defining term: If the DBCS assembler option is specified, a graphicself-defining term can be specified. A graphic self-defining term consists of 1 or 2double-byte characters delimited by SO and SI, enclosed in single quotation marksand preceded by the letter G. Any valid double-byte characters may be used.Examples of graphic self-defining terms are:G’’G’’G’’G’’The SO and SI are not represented in the assembled value of the self-defining term,hence the assembled value is pure double-byte data. A redundant SI/SO pair canbe present between two double-byte characters, as shown in the last of the aboveexamples. However, if SO and SI are used without an intervening double-bytecharacter, this error is issued:ASMA148E Self-defining term lacks ending quote or has bad characterLocation counterThe assembler maintains a location counter to assign storage addresses to yourprogram statements. It is the assembler’s equivalent of the execution-timeinstruction counter in the computer. You can refer to the current value of thelocation counter at any place in a source module by specifying an asterisk (*) as aterm in an operand.As the instructions and constants of a source module are being assembled, thelocation counter has a value that indicates a location in the program. Theassembler increments the location counter according to the following:1. After an instruction or constant has been assembled, the location counterindicates the next available location.2. Before assembling the current instruction or constant, the assembler checks theboundary alignment required for it and adjusts the location counter, if necessary,to the correct boundary.3. While the instruction or constant is being assembled, the location counter valuedoes not change. It indicates the location of the current data after boundaryalignment and is the value assigned to the symbol, if present, in the name field ofthe statement.Chapter 2. Coding and structure 35

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

Saved successfully!

Ooh no, something went wrong!