HLASM Language Reference
HLASM Language Reference HLASM Language Reference
Branching with Extended Mnemonic Codes Used After Test Under Mask Instructions BO D(X,B) ┐ Branch if Ones RX BC 1,D(X,B) BOR R ┘ RR BCR 1,R BM D(X,B) ┐ Branch if Mixed RX BC 4,D(X,B) BMR R ┘ RR BCR 4,R BZ D(X,B) ┐ Branch if Zero RX BC 8,D(X,B) BZR R ┘ RR BCR 8,R BNO D(X,B) ┐ Branch if Not Ones RX BC 14,D(X,B) BNOR R ┘ RR BCR 14,R BNM D(X,B) ┐ Branch if Not Mixed RX BC 11,D(X,B) BNMR R ┘ RR BCR 11,R BNZ D(X,B) ┐ Branch if Not Zero RX BC 7,D(X,B) BNZR R ┘ RR BCR 7,R | Branch Relative on Condition Long | BRUL label Unconditional Br Rel Long RIL BRCL 15,label | BRHL label Br Rel Long on High RIL BRCL 2,label | BRLL label Br Rel Long on Low RIL BRCL 4,label | BREL label Br Rel Long on Equal RIL BRCL 8,label | BRNHL label Br Rel Long on Not High RIL BRCL 13,label | BRNLL label Br Rel Long on Not Low RIL BRCL 11,label | BRNEL label Br Rel Long on Not Equal RIL BRCL 7,label | BRPL label Br Rel Long on Plus RIL BRCL 2,label | BRML label Br Rel Long on Minus RIL BRCL 4,label | BRZL label Br Rel Long on Zero RIL BRCL 8,label | BROL label Br Rel Long on Overflow RIL BRCL 1,label | BRNPL label Br Rel Long on Not Plus RIL BRCL 13,label | BRNML label Br Rel Long on Not Minus RIL BRCL 11,label | BRNZL label Br Rel Long on Not Zero RIL BRCL 7,label | BRNOL label Br Rel Long on Not Overflow RIL BRCL 14,label | Branch Relative on Condition | BRO label Branch on Overflow RI BRC 1,label | BRP label Branch on Plus RI BRC 2,label | BRH label Branch on High RI BRC 2,label | BRL label Branch on Low RI BRC 4,label | BRM label Branch on Minus RI BRC 4,label | BRNE label Branch on Not Equal RI BRC 7,label | BRNZ label Branch on Not Minus RI BRC 7,label | BRE label Branch on Equal RI BRC 8,label | BRZ label Branch on Zero RI BRC 8,label | BRNL label Branch on Not Low RI BRC 11,label | BRNM label Branch on Not Minus RI BRC 11,label | BRNH label Branch on Not High RI BRC 13,label | BRNP label Branch on Not Plus RI BRC 13,label | BRNO label Branch on No Overflow RI BRC 14,label | BRU label Unconditional Branch RI BRC 15,label Figure 22 (Part 2 of 3). Extended Mnemonic Codes 82 HLASM V1R5 Language Reference
Alternative Mnemonics for some Branch Relative Instructions | Jump on Condition Long JLU label Unconditional Jump Long RIL BRCL 15,label JLNOP label No operation RIL BRCL ,label JLH label Jump Long on High RIL BRCL 2,label JLL label Jump Long on Low RIL BRCL 4,label JLE label Jump Long on Equal RIL BRCL 8,label JLNH label Jump Long on Not High RIL BRCL 13,label JLNL label Jump Long on Not Low RIL BRCL 11,label JLNE label Jump Long on Not Equal RIL BRCL 7,label JLP label Jump Long on Plus RIL BRCL 2,label JLM label Jump Long on Minus RIL BRCL 4,label JLZ label Jump Long on Zero RIL BRCL 8,label JLO label Jump Long on Overflow RIL BRCL 1,label JLNP label Jump Long on Not Plus RIL BRCL 13,label JLNM label Jump Long on Not Minus RIL BRCL 11,label JLNZ label Jump Long on Not Zero RIL BRCL 7,label JLNO label Jump Long on Not Overflow RIL BRCL 14,label Notes: 1. D=displacement, X=index register, B=base register, R=register containing branch address 2. The addresses represented are explicit address (see ▌4▐). However, implicit addresses can also be used in this type of instruction. 3. Avoid using BM, BNM, JM, and JNM after the TMH or TML instruction. Figure 22 (Part 3 of 3). Extended Mnemonic Codes | Alternative Mnemonics for some Branch Relative Instructions | For some branch relative statements, there are alternative mnemonics. These are: | Instruction Alternative Description | -------------------------------------------------------------- | BRAS JAS Branch Relative and Save | BRASL JASL Branch Relative and Save Long | BRCT JCT Branch Relative on Count | BRCTG JCTG Branch Relative on Count | BRXH JXH Branch Relative on Index High | BRXHG JXHG Branch Relative on Index High | BRXLE JXLE Branch Rel. on Index Low or Equal | BRXLG JXLEG Branch Rel. on Index Low or Equal Statement Formats Machine instructions are assembled into 2, 4, or 6 bytes of object code according to the format of each instruction. Machine instruction formats include the following (ordered by length attribute): Length Attribute Basic Formats 2 RR 4 RI, RS, RSI, RX, SI 6 SS See the applicable Principles of Operation manual for complete details about machine instruction formats. See also “Examples of Coded Machine Instructions” on page 91. When you code machine instructions, you use symbolic formats that correspond to the actual machine language formats. Within each basic format, you can also code Chapter 4. Machine Instruction Statements 83
- 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
- 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 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 118 and 119: 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
Branching with Extended Mnemonic Codes<br />
Used After Test Under Mask Instructions<br />
BO D(X,B) ┐ Branch if Ones RX BC 1,D(X,B)<br />
BOR R ┘ RR BCR 1,R<br />
BM D(X,B) ┐ Branch if Mixed RX BC 4,D(X,B)<br />
BMR R ┘ RR BCR 4,R<br />
BZ D(X,B) ┐ Branch if Zero RX BC 8,D(X,B)<br />
BZR R ┘ RR BCR 8,R<br />
BNO D(X,B) ┐ Branch if Not Ones RX BC 14,D(X,B)<br />
BNOR R ┘ RR BCR 14,R<br />
BNM D(X,B) ┐ Branch if Not Mixed RX BC 11,D(X,B)<br />
BNMR R ┘ RR BCR 11,R<br />
BNZ D(X,B) ┐ Branch if Not Zero RX BC 7,D(X,B)<br />
BNZR R ┘ RR BCR 7,R<br />
| Branch Relative on Condition Long<br />
| BRUL label Unconditional Br Rel Long RIL BRCL 15,label<br />
| BRHL label Br Rel Long on High RIL BRCL 2,label<br />
| BRLL label Br Rel Long on Low RIL BRCL 4,label<br />
| BREL label Br Rel Long on Equal RIL BRCL 8,label<br />
| BRNHL label Br Rel Long on Not High RIL BRCL 13,label<br />
| BRNLL label Br Rel Long on Not Low RIL BRCL 11,label<br />
| BRNEL label Br Rel Long on Not Equal RIL BRCL 7,label<br />
| BRPL label Br Rel Long on Plus RIL BRCL 2,label<br />
| BRML label Br Rel Long on Minus RIL BRCL 4,label<br />
| BRZL label Br Rel Long on Zero RIL BRCL 8,label<br />
| BROL label Br Rel Long on Overflow RIL BRCL 1,label<br />
| BRNPL label Br Rel Long on Not Plus RIL BRCL 13,label<br />
| BRNML label Br Rel Long on Not Minus RIL BRCL 11,label<br />
| BRNZL label Br Rel Long on Not Zero RIL BRCL 7,label<br />
| BRNOL label Br Rel Long on Not Overflow RIL BRCL 14,label<br />
| Branch Relative on Condition<br />
| BRO label Branch on Overflow RI BRC 1,label<br />
| BRP label Branch on Plus RI BRC 2,label<br />
| BRH label Branch on High RI BRC 2,label<br />
| BRL label Branch on Low RI BRC 4,label<br />
| BRM label Branch on Minus RI BRC 4,label<br />
| BRNE label Branch on Not Equal RI BRC 7,label<br />
| BRNZ label Branch on Not Minus RI BRC 7,label<br />
| BRE label Branch on Equal RI BRC 8,label<br />
| BRZ label Branch on Zero RI BRC 8,label<br />
| BRNL label Branch on Not Low RI BRC 11,label<br />
| BRNM label Branch on Not Minus RI BRC 11,label<br />
| BRNH label Branch on Not High RI BRC 13,label<br />
| BRNP label Branch on Not Plus RI BRC 13,label<br />
| BRNO label Branch on No Overflow RI BRC 14,label<br />
| BRU label Unconditional Branch RI BRC 15,label<br />
Figure 22 (Part 2 of 3). Extended Mnemonic Codes<br />
82 <strong>HLASM</strong> V1R5 <strong>Language</strong> <strong>Reference</strong>