HLASM Language Reference
HLASM Language Reference HLASM Language Reference
Assembler Language Structure Conditional Assembly Instructions ┌───────────────┐ ┌───────────────┐ ┌───────────────┐ │ │ │ │ │ │ │ NAME │ │ OPERATION │ │ OPERAND │ │ Field │ │ Field │ │ Field │ │ │ │ │ │ │ │ │ │ │ │ │ └───────┬───────┘ └───────┬───────┘ └───────┬───────┘ │ │ │ ▼ Which │ │ │ can be │ │ ┌────────────┴────────────┐ ▼ Which ▼ Which ▼ ▼ │ must be │ can be ┌───────┴───────┐ ┌───────┴───────┐ ┌───────┴───────┐ ┌───────┴───────┐ │ │ │ │ │ │ │ │ │ Sequence │ │ Variable │ │ A symbolic │ │ Zero or more │ │ Symbol │ │ Symbol │ │ Operation │ │ operands │ │ or space │ │ │ │ Code │ │ │ │ (e.g. .SEQ) │ │ (e.g. &VAR) │ │ │ │ │ └───────────────┘ └───────────────┘ └───────────────┘ └───────┬───────┘ │ ▼ Composed of ┌─────────────────────────┬─────────────────────────┬─────────────────────────┤ ▼ ▼ ▼ ▼ ┌───────┴───────┐ ┌───────┴───────┐ ┌───────┴───────┐ ┌───────┴───────┐ │ │ │ │ │ │ │ │ │ Sequence │ │ Variable │ │ Expression │ │ (Exp)seq─sym │ │ Symbol │ │ Symbol │ │ or │ │ (e.g. │ │ │ │ │ │ (Expression) │ │ (&A EQ 1).SEQ)│ │ │ │ │ │ │ │ │ └───────────────┘ └───────────────┘ └───────┬───────┘ └───────────────┘ │ ▼ Which can be any │ combination of │ variable symbols │ and other characters │ that constitute an ┌─────────────────────────┼─────────────────────────┐ ▼ ▼ ▼ ┌───────┴───────┐ ┌───────┴───────┐ ┌───────┴───────┐ │ │ │ │ │ │ │ Arithmetic │ │ Logical │ │ Character │ │ Expression │ │ Expression │ │ Expression │ │ │ │ (e.g. │ │ │ │ (e.g. &A+1) │ │ (&B1 OR &B2)) │ │ (e.g. 'JAN&C')│ └───────────────┘ └───────────────┘ └───────────────┘ Figure 10. Conditional Assembly Instructions Macro instruction statements are described in Figure 11 on page 27. 26 HLASM V1R5 Language Reference
Assembler Language Structure Macro Instructions Prototype ┌───────────────┐ ┌───────────────┐ ┌───────────────┐ Statement │ │ │ │ │ │ │ Symbolic │ │ Symbolic │ │ Zero or more │ │ Parameter │ │ Operation │ │ Symbolic │ │ │ │ Code │ │ Parameters │ │ │ │ │ │ │ └───────┬───────┘ └───────┬───────┘ └───────┬───────┘ │ │ │ ▼ Which can be ▼ Must be the ▼ Which can be │ │ same as │ │ │ │ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ │ │ Macro ┌───────┴───────┐ ┌───────┴───────┐ ┌───────┴───────┐ Instruction │ │ │ │ │ │ Statement │ NAME │ │ OPERATION │ │ OPERAND │ │ Field │ │ Field │ │ Field │ │ │ │ │ │ │ └───────┬───────┘ └───────────────┘ └───────┬───────┘ ▼ ▼ │ ┌───────┴───────┐ │ │ │ │ │ Zero or more │ │ │ Operands │ │ │ │ │ │ │ │ └───────┬───────┘ │ │ ▼ Which can be ▼ Which can be ┌─────────────────────┴─────────────────────┐ ┌──────────┴──────────┐ ▼ ▼ ▼ ▼ ┌───────┴───────┐ ┌───────┴───────┐ ┌───────┴───────┐ ┌───────┴───────┐ │ │ │ │ │ │ │ │ │ A Symbol │ │ Character │ │ Operands with │ │ Sublists with │ │ │ │ String │ │ one value │ │ one or more │ │ │ │ │ │ │ │ entries │ │ │ │ │ │ │ │ │ └───────┬───────┘ └───────┬───────┘ └───────┬───────┘ └───────┬───────┘ ▼ ▼ ▼ ▼ │ │ │ ┌───────┴───────┐ │ │ │ │ │ │ │ │ │ Each entry │ │ │ │ │ can have a │ │ │ │ │ value │ │ │ │ │ │ │ │ │ └───────┬───────┘ │ ▼ ▼ ▼ │ └────────────────────────────┴──────────┬──────────┘ │ │ ▼ Which can be ▼ Which can be ├─────────────────────┬─────────────────────┐ ┌──────────┴──────────┐ ▼ ▼ ▼ ▼ ▼ ┌───────┴───────┐ ┌───────┴───────┐ ┌───────┴───────┐ ┌───────┴───────┐ ┌───────┴───────┐ │ │ │ │ │ │ │ │ │ │ │ Ordinary │ │ Sequence │ │ Variable │ │ Character │ │ 'Character │ │ Symbol │ │ Symbol │ │ Symbol │ │ String │ │ String' │ │ (or space) │ │ │ │ │ │ (excluding │ │ (including │ │ │ │ │ │ │ │ spaces and │ │ spaces) │ │ │ │ │ │ │ │ commas) │ │ │ │ │ │ │ │ │ │ │ │ │ └───────────────┘ └───────────────┘ └───────────────┘ └───────────────┘ └───────────────┘ Figure 11. Macro Instructions Chapter 2. Coding and Structure 27
- Page 1: High Level Assembler for MVS & VM &
- Page 4 and 5: Note! Before using this information
- Page 6 and 7: Contents Source Module . . . . . .
- Page 8 and 9: Contents Ordinary USING Instruction
- Page 10 and 11: Contents Sublists in Operands . . .
- Page 12 and 13: About this Manual This manual descr
- Page 14 and 15: IBM High Level Assembler for MVS &
- Page 16 and 17: | The Internet. You can access IBM
- Page 18 and 19: ▌C▐ The item referred to by ▌
- Page 20 and 21: Miscellany The ASCII translation t
- Page 22 and 23: Part 1. Assembler Language—Struct
- Page 24 and 25: Language Compatibility Language Com
- Page 26 and 27: Assembler Program Assembler Program
- Page 28 and 29: Relationship of Assembler to Operat
- Page 30 and 31: Coding Made Easier Linkage between
- Page 32 and 33: Character Set Compatibility with Ea
- Page 34 and 35: Assembler Language Coding Conventio
- Page 36 and 37: Assembler Language Coding Conventio
- Page 38 and 39: Assembler Language Coding Conventio
- Page 40 and 41: Assembler Language Coding Conventio
- Page 42 and 43: Assembler Language Structure Condit
- Page 44 and 45: Assembler Language Structure Machin
- Page 48 and 49: Terms, Literals, and Expressions Te
- Page 50 and 51: Terms, Literals, and Expressions -
- Page 52 and 53: Terms, Literals, and Expressions As
- Page 54 and 55: Terms, Literals, and Expressions Se
- Page 56 and 57: Terms, Literals, and Expressions Fo
- Page 58 and 59: Terms, Literals, and Expressions I
- Page 60 and 61: Terms, Literals, and Expressions Th
- Page 62 and 63: Terms, Literals, and Expressions 1.
- Page 64 and 65: Terms, Literals, and Expressions
- Page 66 and 67: Terms, Literals, and Expressions
- Page 68 and 69: Terms, Literals, and Expressions Th
- Page 70 and 71: | Chapter 3. Program Structures and
- Page 72 and 73: Source Module A source module is co
- Page 74 and 75: The CSECT instruction can be used a
- Page 76 and 77: | in linker control statements for
- Page 78 and 79: This is not only convenient, but it
- Page 80 and 81: | SECT_A CSECT , Define section SEC
- Page 82 and 83: | For executable sections, the loca
- Page 84 and 85: Addressing | The System/390® and z
- Page 86 and 87: Addressing | Parts must always be r
- Page 88 and 89: Addressing Literal Pools ALPHA LR 3
- Page 90 and 91: Addressing If the symbol is the nam
- Page 92 and 93: Addressing External Symbol Dictiona
- Page 94 and 95: Addressing 74 HLASM V1R5 Language R
Assembler <strong>Language</strong> Structure<br />
Macro Instructions<br />
Prototype ┌───────────────┐ ┌───────────────┐ ┌───────────────┐<br />
Statement │ │ │ │ │ │<br />
│ Symbolic │ │ Symbolic │ │ Zero or more │<br />
│ Parameter │ │ Operation │ │ Symbolic │<br />
│ │ │ Code │ │ Parameters │<br />
│ │ │ │ │ │<br />
└───────┬───────┘ └───────┬───────┘ └───────┬───────┘<br />
│ │ │<br />
▼ Which can be ▼ Must be the ▼ Which can be<br />
│ │ same as │<br />
│ │ │<br />
─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─<br />
─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─<br />
│ │ │<br />
Macro ┌───────┴───────┐ ┌───────┴───────┐ ┌───────┴───────┐<br />
Instruction │ │ │ │ │ │<br />
Statement │ NAME │ │ OPERATION │ │ OPERAND │<br />
│ Field │ │ Field │ │ Field │<br />
│ │ │ │ │ │<br />
└───────┬───────┘ └───────────────┘ └───────┬───────┘<br />
▼<br />
▼<br />
│<br />
┌───────┴───────┐<br />
│ │ │<br />
│ │ Zero or more │<br />
│ │ Operands │<br />
│ │ │<br />
│ │ │<br />
│<br />
└───────┬───────┘<br />
│<br />
│<br />
▼ Which can be<br />
▼ Which can be<br />
┌─────────────────────┴─────────────────────┐<br />
┌──────────┴──────────┐<br />
▼ ▼ ▼ ▼<br />
┌───────┴───────┐ ┌───────┴───────┐ ┌───────┴───────┐ ┌───────┴───────┐<br />
│ │ │ │ │ │ │ │<br />
│ A Symbol │ │ Character │ │ Operands with │ │ Sublists with │<br />
│ │ │ String │ │ one value │ │ one or more │<br />
│ │ │ │ │ │ │ entries │<br />
│ │ │ │ │ │ │ │<br />
└───────┬───────┘ └───────┬───────┘ └───────┬───────┘ └───────┬───────┘<br />
▼ ▼ ▼ ▼<br />
│ │ │ ┌───────┴───────┐<br />
│ │ │ │ │<br />
│ │ │ │ Each entry │<br />
│ │ │ │ can have a │<br />
│ │ │ │ value │<br />
│ │ │ │ │<br />
│ │ │ └───────┬───────┘<br />
│ ▼ ▼ ▼<br />
│<br />
└────────────────────────────┴──────────┬──────────┘<br />
│<br />
│<br />
▼ Which can be<br />
▼ Which can be<br />
├─────────────────────┬─────────────────────┐<br />
┌──────────┴──────────┐<br />
▼ ▼ ▼ ▼ ▼<br />
┌───────┴───────┐ ┌───────┴───────┐ ┌───────┴───────┐ ┌───────┴───────┐ ┌───────┴───────┐<br />
│ │ │ │ │ │ │ │ │ │<br />
│ Ordinary │ │ Sequence │ │ Variable │ │ Character │ │ 'Character │<br />
│ Symbol │ │ Symbol │ │ Symbol │ │ String │ │ String' │<br />
│ (or space) │ │ │ │ │ │ (excluding │ │ (including │<br />
│ │ │ │ │ │ │ spaces and │ │ spaces) │<br />
│ │ │ │ │ │ │ commas) │ │ │<br />
│ │ │ │ │ │ │ │ │ │<br />
└───────────────┘ └───────────────┘ └───────────────┘ └───────────────┘ └───────────────┘<br />
Figure 11. Macro Instructions<br />
Chapter 2. Coding and Structure 27