配列 *IN、配列要素 *IN(xx)、またはフィールド *INxx を処理する場合には 、次の規則に留意してください。
データとして参照される標識の例については、図 25 を参照し てください。
*...1....+....2....+....3....+....4....+....5....+....6....+....7... CL0N01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq.. * * When this program is called, a single parameter is passed to * control some logic in the program. The parameter sets the value * of indicator 50. The parameter must be passed with a character * value of 1 or 0. * C *ENTRY PLIST C *IN50 PARM SWITCH 1 * * * Subroutine SUB1 uses indicators 61 through 68. Before the * subroutine is processed, the status of these indicators used in * the mainline program is saved. (Assume that the indicators are * set off in the beginning of the subroutine.) After the subroutine * is processed, the indicators are returned to their original state. * * C MOVEA *IN(61) SAV8 8 C EXSR SUB1 C MOVEA SAV8 *IN(61) * * A code field (CODE) contains a numeric value of 1 to 5 and is * used to set indicators 71 through 75. The five indicators are set * off. Field X is calculated as 70 plus the CODE field. Field X is * then used as the index into the array *IN. Different subroutines * are then used based on the status of indicators 71 through 75. * C MOVEA '00000' *IN(71) C 70 ADD CODE X 3 0 C MOVE *ON *IN(X) C 71 EXSR CODE1 C 72 EXSR CODE2 C 73 EXSR CODE3 C 74 EXSR CODE4 C 75 EXSR CODE5
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.