演算での配列の指定

演算仕様書では、配列全体または配列の個々の要素を指定することができます。 個々の要素は、フィールドの場合と同様に処理することができます。

OVERLAY キーワードによって定義された不連続の配列は、MOVEA 命令によって、 あるいは PARM 命令の結果フィールドの中で使用することはできません。

配列全体を指定するためには、配列名だけを使用してください。配列名は、演算 項目 1、演算項目 2、または結果のフィールドとして使用することができます。 配列 名を使用できる命令は次のとおりです。すなわち、ADD、Z-ADD、SUB、Z-SUB、 MULT、DIV、SQRT、ADDDUR、SUBDUR、EVAL、EXTRCT、MOVE、MOVEL、 MOVEA、MLLZO、MLHZO、MHLZO、MHHZO、DEBUG、XFOOT、LOOKUP、 SORTA、PARM、DEFINE、CLEAR、RESET、CHECK、CHECKR、および SCAN です。

配列名だけでは使用できず、配列要素だけで使用できる命令もいくつかあります。 これらの命令には、BITON、BITOFF、COMP、CABxx、TESTZ、TESTN、TESTB、 MVR、DO、DOUxx、DOWxx、DOU、DOW、IFxx、WHENxx、WHEN、IF、 SUBST、および CAT が含まれますが、これらに限定されているわけではありません。

指標のない配列名またはアスタリスクを指標として持つ配列名 (たとえば、 ARRAY または ARRAY(*)) を指定した場合には、配列の各要素について特定の命令 が反復されます。これらの命令は、ADD、Z-ADD、EVAL、SUB、Z-SUB、 ADDDUR、SUBDUR、EXTRCT、MULT、DIV、SQRT、MOVE、MOVEL、 MLLZO、MLHZO、MHLZO、および MHHZO です。 指標のない配列名を指定した場合には、これらの命令に対して次の規則が適用さ れます。

注:
EVAL 命令の中で使用した場合に、%ADDR(配列) および %ADDR(配列 (*)) は同じ意 味を持ちません。 詳細については、%ADDR (変数のアドレスの検索)を参照してください。

EVAL または SORTA 命令をコーディングするときには、組み込み関数 %SUBARR(arr) を使用して、 その命令で使用される配列の一部を選択することができます。 詳細については、%SUBARR (配列の部分の設定/入手)を参照してください。