HLASM Language Reference
HLASM Language Reference HLASM Language Reference
OPSYN Instruction ,ERROR, SEV 1 An asterisk in the severity code subfield causes the message and the asterisk to be generated as a comment statement. Example: MNOTE ,'NO ERROR' The generated result is: ,NO ERROR If the severity code subfield is omitted, including the comma separating it from the message, the assembler generates the message as a comment statement. Notes: Example: MNOTE 'NO ERROR' The generated result is: NO ERROR 1. An MNOTE instruction causes a message to be printed, if the current PRINT option is ON, even if the PRINT NOGEN option is specified. 2. The statement number of the message generated from an MNOTE instruction with a severity code is listed among any other error messages for the current source module. However, the message is printed only if the severity code specified is greater than or equal to the severity code nnn specified in the FLAG(nnn) assembler option. 3. The statement number of the comments generated from an MNOTE instruction without a severity code is not listed among other error messages. OPSYN Instruction The OPSYN instruction defines or deletes symbolic operation codes. The OPSYN instruction has two formats. The first format defines a new operation code to represent an existing operation code, or to redefine an existing operation code for: Machine and extended mnemonic branch instructions Assembler instructions, including conditional assembly instructions Macro instructions Define Operation Code ►►──┬─symbol───────────┬──OPSYN──operation_code_2──────────────────►◄ └─operation_code_1─┘ The second format deletes an existing operation code for: Machine and extended mnemonic branch instructions Assembler instructions, including conditional assembly instructions Macro instructions 198 HLASM V1R5 Language Reference
OPSYN Instruction Delete Operation Code ►►──operation_code_1──OPSYN────────────────────────────────────────►◄ symbol is one of the following: An ordinary symbol that is not the same as an existing operation code A variable symbol that has been assigned a character string with a value that is valid for an ordinary symbol and is not the same as an existing operation code operation_code_1 is one of the following: An operation code described in this chapter, or in Chapter 4, “Machine Instruction Statements” on page 78, or Chapter 9, “How to Write Conditional Assembly Instructions” on page 318 The operation code defined by a previous OPSYN instruction The name of a previously defined macro. operation_code_2 is one of the following: An operation code described in this chapter, or in Chapter 4, “Machine Instruction Statements” on page 78, or Chapter 9, “How to Write Conditional Assembly Instructions” on page 318 The operation code defined by a previous OPSYN instruction In the first format, the OPSYN instruction assigns the properties of the operation code denoted by operation_code_2 to the ordinary symbol denoted by symbol or the operation code denoted by operation_code_1. In the second format, the OPSYN instruction causes the operation code specified in operation_code_1 to lose its properties as an operation code. The OPSYN instruction can be coded anywhere in the program to redefine an operation code. The symbol in the name field can represent a valid operation code. It loses its current properties as if it had been defined in an OPSYN instruction with a space-filled operand field. In the following example, L and LR both possess the properties of the LR machine instruction operation code: L OPSYN LR When the same symbol appears in the name field of two OPSYN instructions, the latest definition takes precedence. In the example below, STORE now represents the STH machine operation: STORE OPSYN ST STORE OPSYN STH Note: OPSYN is not processed during lookahead mode (see “Lookahead” on page 340). Therefore it cannot be used during lookahead to replace an opcode that must be processed during lookahead, such as COPY. For example, assuming Chapter 5. Assembler Instruction Statements 199
- Page 168 and 169: DC Instruction—Fixed-Point Consta
- Page 170 and 171: DC Instruction—Fixed-Point Consta
- Page 172 and 173: DC Instruction—Decimal Constants
- Page 174 and 175: DC Instruction—Address Constants
- Page 176 and 177: DC Instruction—Address Constants
- Page 178 and 179: DC Instruction—Offset Constant re
- Page 180 and 181: DC Instruction—Length Constant Le
- Page 182 and 183: DC Instruction—Hexadecimal Floati
- Page 184 and 185: DC Instruction—Hexadecimal Floati
- Page 186 and 187: DC Instruction—Hexadecimal Floati
- Page 188 and 189: DC Instruction—Binary Floating-Po
- Page 190 and 191: DC Instruction—Binary Floating-Po
- Page 192 and 193: DROP Instruction DROP Instruction T
- Page 194 and 195: DS Instruction USING DSECTA,14 ALBL
- Page 196 and 197: DS Instruction The size of a storag
- Page 198 and 199: DSECT Instruction DSECT Instruction
- Page 200 and 201: DXD Instruction ASEMBLY2 CSECT USIN
- Page 202 and 203: END Instruction change but no addit
- Page 204 and 205: EQU Instruction EQU Instruction The
- Page 206 and 207: EQU Instruction 5. The length attri
- Page 208 and 209: EXITCTL Instruction sequence_symbol
- Page 210 and 211: ISEQ Instruction must be greater th
- Page 212 and 213: LOCTR Instruction A CSECT , See not
- Page 214 and 215: LTORG Instruction If symbol is an o
- Page 216 and 217: MNOTE Instruction When two literals
- Page 220 and 221: ORG Instruction AFTER is defined in
- Page 222 and 223: ORG Instruction If you specify mult
- Page 224 and 225: POP Instruction POP Instruction The
- Page 226 and 227: PRINT Instruction Note: If the next
- Page 228 and 229: Process Statement Process Statement
- Page 230 and 231: REPRO Instruction NOPRINT instructs
- Page 232 and 233: RSECT Instruction 4. AMODE or RMODE
- Page 234 and 235: START Instruction START Instruction
- Page 236 and 237: TITLE Instruction The name value is
- Page 238 and 239: USING Instruction Only the characte
- Page 240 and 241: USING Instruction Base Registers fo
- Page 242 and 243: USING Instruction If register 0 is
- Page 244 and 245: USING Instruction A variable symbo
- Page 246 and 247: USING Instruction In this MVC instr
- Page 248 and 249: USING Instruction Range of a Depend
- Page 250 and 251: XATTR Instruction external_symbol i
- Page 252 and 253: XATTR Instruction SCOPE ►►─
- Page 254 and 255: XATTR Instruction 234 HLASM V1R5 La
- Page 256 and 257: Part 3. Macro Language &SYSDATC Sys
- Page 258 and 259: Introduction to Macro Language Chap
- Page 260 and 261: Introduction to Macro Language The
- Page 262 and 263: Introduction to Macro Language Macr
- Page 264 and 265: MACRO and MEND Statements The assem
- Page 266 and 267: Prototype Statement Macros that are
OPSYN Instruction<br />
Delete Operation Code<br />
►►──operation_code_1──OPSYN────────────────────────────────────────►◄<br />
symbol<br />
is one of the following:<br />
An ordinary symbol that is not the same as an existing operation code<br />
A variable symbol that has been assigned a character string with a value<br />
that is valid for an ordinary symbol and is not the same as an existing<br />
operation code<br />
operation_code_1<br />
is one of the following:<br />
An operation code described in this chapter, or in Chapter 4, “Machine<br />
Instruction Statements” on page 78, or Chapter 9, “How to Write<br />
Conditional Assembly Instructions” on page 318<br />
The operation code defined by a previous OPSYN instruction<br />
The name of a previously defined macro.<br />
operation_code_2<br />
is one of the following:<br />
An operation code described in this chapter, or in Chapter 4, “Machine<br />
Instruction Statements” on page 78, or Chapter 9, “How to Write<br />
Conditional Assembly Instructions” on page 318<br />
The operation code defined by a previous OPSYN instruction<br />
In the first format, the OPSYN instruction assigns the properties of the operation<br />
code denoted by operation_code_2 to the ordinary symbol denoted by symbol or<br />
the operation code denoted by operation_code_1.<br />
In the second format, the OPSYN instruction causes the operation code specified in<br />
operation_code_1 to lose its properties as an operation code.<br />
The OPSYN instruction can be coded anywhere in the program to redefine an<br />
operation code.<br />
The symbol in the name field can represent a valid operation code. It loses its<br />
current properties as if it had been defined in an OPSYN instruction with a<br />
space-filled operand field. In the following example, L and LR both possess the<br />
properties of the LR machine instruction operation code:<br />
L OPSYN LR<br />
When the same symbol appears in the name field of two OPSYN instructions, the<br />
latest definition takes precedence. In the example below, STORE now represents the<br />
STH machine operation:<br />
STORE OPSYN ST<br />
STORE OPSYN STH<br />
Note: OPSYN is not processed during lookahead mode (see “Lookahead” on<br />
page 340). Therefore it cannot be used during lookahead to replace an opcode that<br />
must be processed during lookahead, such as COPY. For example, assuming<br />
Chapter 5. Assembler Instruction Statements 199