HLASM Language Reference
HLASM Language Reference HLASM Language Reference
SETAF Instruction Alternative Statement Format: You can use the alternative statement format for extended SETx statements. The above coding could then be written as follows: &LIST(3) SETA 5, THIS IS X 1,, AN ARRAY X 2,25,3 SPECIFICATION SETAF Instruction Use the SETAF instruction to call an external function to assign any number of arithmetic values to a SETA symbol. You can assign a large number of parameters—the exact number depending on factors such as the size of the program and of virtual storage—to pass to the external function routine. The SETAF instruction can be used anywhere that a SETA instruction can be used. ►►──variable_symbol──SETAF──'function─name' ──┬─────────────────┬───►◄ │ ┌ ─────────────┐ │ └── ▼ ─,expression─┴─┘ variable symbol is a variable symbol. A global variable symbol in the name field must have been previously declared as a SETA symbol in a GBLA instruction. Local SETA symbols need not be declared in a LCLA instruction. The assembler considers any undeclared variable symbol found in the name field of a SETA instruction as a local SET symbol. The variable symbol is assigned a type attribute value of N. function_name the name of an external function load module. The name must be specified as a character expression, and must evaluate to a valid module name no longer than 8 bytes. Refer to Chapter 5, “Providing External Functions for Conditional Assembly” in the HLASM Programmer's Guide for information about external function load modules. expression is an arithmetic expression evaluated as a signed 32-bit arithmetic value. The minimum and maximum allowable values of the expression are −2 31 and +2 31 −1, respectively. See “SETA Instruction” on page 347 for further information about setting SETA symbols, and ways to specify arithmetic expressions. The function name must be enclosed in single quotes. For example: &MAX_VAL SETAF 'MAX',7,4 Calls the external function X MAX, passing values 7 and X 4 as operands. 388 HLASM V1R5 Language Reference
SETCF Instruction SETCF Instruction Use the SETCF instruction to call an external function to assign a character value to a SETC symbol. You can specify a large number of parameters—the exact number depending on factors such as the size of the program and of virtual storage—to pass to the external function routine. The SETCF instruction can be used anywhere that a SETC instruction can be used. ►►──variable_symbol──SETCF──'function─name' ─────────────────────────► ►──┬──────────────────────┬────────────────────────────────────────►◄ │ ┌ ──────────────────┐ │ └── ▼ ─,character_value─┴─┘ variable symbol is a variable symbol. A global variable symbol in the name field must have been previously declared as a SETC symbol in a GBLC instruction. Local SETC symbols need not be declared in a LCLC instruction. The assembler considers any undeclared variable symbol found in the name field of a SETC instruction as a local SET symbol. The variable symbol is assigned a type attribute value of U. The character value assigned to the variable symbol can have a string length in | the range 0 (for a null character string) through 1024. function_name the name of an external function load module. The name must be specified as a character expression, and must evaluate to a valid module name no longer than 8 bytes. Refer to Chapter 5, “Providing External Functions for Conditional Assembly” in the HLASM Programmer's Guide for information about external function load modules. character_value is a character value that may be specified by one of the following: A type attribute reference An operation code attribute reference A character expression A substring notation A concatenation of one or more of the above The character value can have a string length in the range 0 (for a null character | string) through 1024. When a SETA or SETB symbol is specified in a character expression, the unsigned decimal value of the symbol (with leading zeros removed) is the character value given to the symbol. See “SETC Instruction” on page 369 for further information about setting SETC symbols, and ways to specify character expressions. Chapter 9. How to Write Conditional Assembly Instructions 389
- Page 358 and 359: Data Attributes The operation code
- Page 360 and 361: Lookahead MACRO &NAME MOVE &TO,&FRO
- Page 362 and 363: Open Code Sequence Symbols The cond
- Page 364 and 365: GBLA, GBLB, and GBLC Instructions G
- Page 366 and 367: LCLA, LCLB, and LCLC Instructions s
- Page 368 and 369: SETA Instruction expression is an a
- Page 370 and 371: SETA Instruction | The logical-exp
- Page 372 and 373: SETA Instruction | Figure 99 (Page
- Page 374 and 375: SETA Instruction | The result of C2
- Page 376 and 377: SETA Instruction NOT Format: Logica
- Page 378 and 379: SETA Instruction | X2A Name Operati
- Page 380 and 381: SETA Instruction In evaluating the
- Page 382 and 383: SETB Instruction Any expression tha
- Page 384 and 385: SETB Instruction ┌─────
- Page 386 and 387: SETB Instruction | ISDEC | Format:
- Page 388 and 389: SETB Instruction The two comparands
- Page 390 and 391: SETC Instruction Notes: 1. The asse
- Page 392 and 393: Figure 103. Substring Notation in C
- Page 394 and 395: Loc Object Code Addr1 Addr2 Stmt So
- Page 396 and 397: | B2C('111111') has value '3' | B2C
- Page 398 and 399: | Output: D2B('decstring') converts
- Page 400 and 401: SIGNED Format: Logical-expression,
- Page 402 and 403: | X2D('') has value '+' | X2D('91')
- Page 404 and 405: Concatenation of strings containing
- Page 406 and 407: MACRO &NAME MOVE &TO,&FROM LCLC &PR
- Page 410 and 411: Branching Branching You can control
- Page 412 and 413: AGO Instruction The extended AIF in
- Page 414 and 415: ACTR Instruction AGOB—Synonym of
- Page 416 and 417: ANOP Instruction statement processe
- Page 418 and 419: MHELP Instruction MHELP B'10000000'
- Page 420 and 421: 400 HLASM V1R5 Language Reference
- Page 422 and 423: Assembler Instructions and Statemen
- Page 424 and 425: Assembler Instructions and Statemen
- Page 426 and 427: Assembler Instructions and Statemen
- Page 428 and 429: Summary of Constants Figure 113. Su
- Page 430 and 431: Macro and Conditional Assembly Lang
- Page 432 and 433: Macro and Conditional Assembly Lang
- Page 434 and 435: Macro and Conditional Assembly Lang
- Page 436 and 437: Macro and Conditional Assembly Lang
- Page 438 and 439: Macro and Conditional Assembly Lang
- Page 440 and 441: Macro and Conditional Assembly Lang
- Page 442 and 443: Standard Character Set Code Table H
- Page 444 and 445: Standard Character Set Code Table H
- Page 446 and 447: Trademarks AIX BookMaster CICS DFSM
- Page 448 and 449: Bibliography SMP/E Reference, SC28-
- Page 450 and 451: Index A2C (SETC built-in function)
- Page 452 and 453: Index B B-type binary constant 141
- Page 454 and 455: Index conditional assembly instruct
- Page 456 and 457: Index elements of conditional assem
SETCF Instruction<br />
SETCF Instruction<br />
Use the SETCF instruction to call an external function to assign a character value<br />
to a SETC symbol. You can specify a large number of parameters—the exact<br />
number depending on factors such as the size of the program and of virtual<br />
storage—to pass to the external function routine.<br />
The SETCF instruction can be used anywhere that a SETC instruction can be<br />
used.<br />
►►──variable_symbol──SETCF──'function─name' ─────────────────────────►<br />
►──┬──────────────────────┬────────────────────────────────────────►◄<br />
│ ┌<br />
──────────────────┐<br />
│<br />
└── ▼ ─,character_value─┴─┘<br />
variable symbol<br />
is a variable symbol.<br />
A global variable symbol in the name field must have been previously declared<br />
as a SETC symbol in a GBLC instruction. Local SETC symbols need not be<br />
declared in a LCLC instruction. The assembler considers any undeclared<br />
variable symbol found in the name field of a SETC instruction as a local SET<br />
symbol. The variable symbol is assigned a type attribute value of U.<br />
The character value assigned to the variable symbol can have a string length in<br />
| the range 0 (for a null character string) through 1024.<br />
function_name<br />
the name of an external function load module. The name must be specified as<br />
a character expression, and must evaluate to a valid module name no longer<br />
than 8 bytes.<br />
Refer to Chapter 5, “Providing External Functions for Conditional Assembly” in<br />
the <strong>HLASM</strong> Programmer's Guide for information about external function load<br />
modules.<br />
character_value<br />
is a character value that may be specified by one of the following:<br />
A type attribute reference<br />
An operation code attribute reference<br />
A character expression<br />
A substring notation<br />
A concatenation of one or more of the above<br />
The character value can have a string length in the range 0 (for a null character<br />
| string) through 1024.<br />
When a SETA or SETB symbol is specified in a character expression, the unsigned<br />
decimal value of the symbol (with leading zeros removed) is the character value<br />
given to the symbol.<br />
See “SETC Instruction” on page 369 for further information about setting SETC<br />
symbols, and ways to specify character expressions.<br />
Chapter 9. How to Write Conditional Assembly Instructions 389