HLASM Language Reference
HLASM Language Reference HLASM Language Reference
Examples of Coded Machine Instructions ┌────────┬─────────┬────┬───/────┬────┬────/────┐ │Op Code │ L │ B │ D │ B │ D │ └────────┴─────────┴────┴───/────┴────┴────/────┘ 8 16 2 32 36 47 ┌────────┬────┬────┬────┬───/────┬────┬────/────┐ │Op Code │ L │ L │ B │ D │ B │ D │ └────────┴────┴────┴────┴───/────┴────┴────/────┘ 8 12 16 2 32 36 47 ┌────────┬────┬────┬────┬───/────┬────┬────/────┐ │Op Code │ L │ I │ B │ D │ B │ D │ └────────┴────┴────┴────┴───/────┴────┴────/────┘ 8 12 16 2 32 36 47 ┌────────┬────┬────┬────┬───/────┬────┬────/────┐ │Op Code │ R │ R │ B │ D │ B │ D │ └────────┴────┴────┴────┴───/────┴────┴────/────┘ 8 12 16 2 32 36 47 ┌────────┬────┬────┬────┬───/────┬────┬────/────┐ │Op Code │ R │ R │ B │ D │ B │ D │ └────────┴────┴────┴────┴───/────┴────┴────/────┘ 8 12 16 2 32 36 47 Symbols used to represent base registers (see BASE8 and BASE7 in the instruction labeled ALPHA2 below) in explicit addresses are assumed to be equated to absolute values between 0 and 15. Symbols used to represent explicit lengths (see NINE and SIX in the instruction labeled ALPHA2 below) are assumed to be equated to absolute values between 0 and 256 for SS-format instructions with one length specification, and between 0 and 16 for SS-format instructions with two length specifications. Symbols used to represent implicit addresses (see FIELD1 and FIELD2 in the instruction labeled ALPHA3, and FIELD1,X'8' in the SRP instructions below) can be either relocatable or absolute. Symbols used to represent displacements (see DISP4 and DISP3 in the instruction labeled ALPHA5 below) in explicit addresses are assumed to be equated to absolute values between 0 and 4095. See page 90 for more information about the lengths of SS-format instructions. Examples: ALPHA1 AP 4(9,8),3(6,7) ALPHA2 AP 4(NINE,BASE8),3(SIX,BASE7) ALPHA3 AP FIELD1,FIELD2 ALPHA4 AP AREA(9),AREA2(6) ALPHA5 AP DISP4(,8),DISP3(,7) BETA1 MVC (8,8),(7) BETA2 MVC DISP(,8),DISP(7) BETA3 MVC TO,FROM SRP FIELD1,X'8',3 When assembled, the object code for the instruction labeled ALPHA1, in hexadecimal, is: FA8582871E 98 HLASM V1R5 Language Reference
Examples of Coded Machine Instructions where: FA is the operation code. 8 is length L 5 is length L 8 is base register B 28 is displacement D from base register B 7 is base register B 1E is displacement D from base register B When assembled, the object code for the instruction labeled BETA1, in hexadecimal, is: D24F87 where: D2 is the operation code 4F is length L 8 is base register B is displacement D from base register B 7 is base register B is displacement D from base register B Chapter 4. Machine Instruction Statements 99
- 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
- Page 96 and 97: Part 2. Machine and Assembler Instr
- Page 98 and 99: General Instructions Chapter 4. Mac
- Page 100 and 101: Input/Output Operations For further
- Page 102 and 103: Branching with Extended Mnemonic Co
- Page 104 and 105: Symbolic Operation Codes variations
- Page 106 and 107: Operand Entries Registers You can s
- Page 108 and 109: Operand Entries “Program Structur
- Page 110 and 111: Operand Entries Format │ Coded or
- Page 112 and 113: Examples of Coded Machine Instructi
- Page 114 and 115: Examples of Coded Machine Instructi
- Page 116 and 117: Examples of Coded Machine Instructi
- Page 120 and 121: Chapter 5. Assembler Instruction St
- Page 122 and 123: *PROCESS Statement *PROCESS Stateme
- Page 124 and 125: ACONTROL Instruction ►►──
- Page 126 and 127: ACONTROL Instruction FLAG(PAGE0) in
- Page 128 and 129: AINSERT Instruction character_strin
- Page 130 and 131: AMODE Instruction alias_string is t
- Page 132 and 133: CATTR Instruction Figure 25. AMODE/
- Page 134 and 135: CATTR Instruction | statements for
- Page 136 and 137: CCW1 Instruction data_count is an a
- Page 138 and 139: CEJECT Instruction If symbol is an
- Page 140 and 141: CNOP Instruction Figure 29 (Page 2
- Page 142 and 143: COPY Instruction In the following e
- Page 144 and 145: CSECT Instruction symbol in the nam
- Page 146 and 147: DC Instruction ROUTINE B GAMMA DXD
- Page 148 and 149: DC Instruction duplication_factor c
- Page 150 and 151: DC Instruction Figure 33 (Page 2 of
- Page 152 and 153: DC Instruction With EBCDIC spaces
- Page 154 and 155: DC Instruction Further information
- Page 156 and 157: DC Instruction | Symbols used in su
- Page 158 and 159: DC Instruction The length attribute
- Page 160 and 161: DC Instruction Notes: 1. Don't conf
- Page 162 and 163: DC Instruction—Character Constant
- Page 164 and 165: DC Instruction—Character Constant
- Page 166 and 167: DC Instruction—Graphic Constant r
Examples of Coded Machine Instructions<br />
┌────────┬─────────┬────┬───/────┬────┬────/────┐<br />
│Op Code │ L │ B │ D │ B │ D │<br />
└────────┴─────────┴────┴───/────┴────┴────/────┘<br />
8 16 2 32 36 47<br />
┌────────┬────┬────┬────┬───/────┬────┬────/────┐<br />
│Op Code │ L │ L │ B │ D │ B │ D │<br />
└────────┴────┴────┴────┴───/────┴────┴────/────┘<br />
8 12 16 2 32 36 47<br />
┌────────┬────┬────┬────┬───/────┬────┬────/────┐<br />
│Op Code │ L │ I │ B │ D │ B │ D │<br />
└────────┴────┴────┴────┴───/────┴────┴────/────┘<br />
8 12 16 2 32 36 47<br />
┌────────┬────┬────┬────┬───/────┬────┬────/────┐<br />
│Op Code │ R │ R │ B │ D │ B │ D │<br />
└────────┴────┴────┴────┴───/────┴────┴────/────┘<br />
8 12 16 2 32 36 47<br />
┌────────┬────┬────┬────┬───/────┬────┬────/────┐<br />
│Op Code │ R │ R │ B │ D │ B │ D │<br />
└────────┴────┴────┴────┴───/────┴────┴────/────┘<br />
8 12 16 2 32 36 47<br />
Symbols used to represent base registers (see BASE8 and BASE7 in the instruction<br />
labeled ALPHA2 below) in explicit addresses are assumed to be equated to absolute<br />
values between 0 and 15.<br />
Symbols used to represent explicit lengths (see NINE and SIX in the instruction<br />
labeled ALPHA2 below) are assumed to be equated to absolute values between 0<br />
and 256 for SS-format instructions with one length specification, and between 0 and<br />
16 for SS-format instructions with two length specifications.<br />
Symbols used to represent implicit addresses (see FIELD1 and FIELD2 in the<br />
instruction labeled ALPHA3, and FIELD1,X'8' in the SRP instructions below) can be<br />
either relocatable or absolute.<br />
Symbols used to represent displacements (see DISP4 and DISP3 in the instruction<br />
labeled ALPHA5 below) in explicit addresses are assumed to be equated to absolute<br />
values between 0 and 4095.<br />
See page 90 for more information about the lengths of SS-format instructions.<br />
Examples:<br />
ALPHA1 AP 4(9,8),3(6,7)<br />
ALPHA2 AP 4(NINE,BASE8),3(SIX,BASE7)<br />
ALPHA3 AP FIELD1,FIELD2<br />
ALPHA4 AP AREA(9),AREA2(6)<br />
ALPHA5 AP DISP4(,8),DISP3(,7)<br />
BETA1 MVC (8,8),(7)<br />
BETA2 MVC DISP(,8),DISP(7)<br />
BETA3 MVC TO,FROM<br />
SRP<br />
FIELD1,X'8',3<br />
When assembled, the object code for the instruction labeled ALPHA1, in<br />
hexadecimal, is:<br />
FA8582871E<br />
98 <strong>HLASM</strong> V1R5 <strong>Language</strong> <strong>Reference</strong>