アプリケーション・プログラムに MOVEA 命令を使用する必要があって、 数値の MOVEA 命令に対する制約事項のために使用できない場合には、 文字の MOVEA 命令を使用できる場合があります。 数値配列がゾーン 10 進数形式の場合には次のようにしてください。
MOVEA で形象定数を指定した場合には、生成される定数の長さは、指定 した配列の部分に等しくなります。 数値配列の形象定数の場合には、それぞれの配列要素に入れられる符号を除い て、要素の境界は無視されます。 例は次のようになります。
要素 X から始まり、ARR の残りの部分にはブランクが入ります。
ARR には 4 バイトの文字要素があります。 文字の MOVEA の場合には常に要素の境界は無視されます。 要素 X から始まって、配列の残りには 'XYZXYZXYZXYZ.. .'.
文字、図形、UCS-2、および数値の MOVEA 命令の場合には、命令拡張 P を指定して、結果に右から埋め込みを行うことができます。
MOVEA 命令の詳細については、移動命令を参照してください。
*...1....+....2....+....3....+....4....+....5....+....6....+....7....+.... CL0N01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq.... C MOVEA ARRX ARRY * Array-to-array move. No indexing; different length array, * same element length.
*...1....+....2....+....3....+....4....+....5....+....6....+....7....+.... CL0N01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq.... C MOVEA ARRX ARRY(3) * Array-to-array move with index result field.
*...1....+....2....+....3....+....4....+....5....+....6....+....7....+.... CL0N01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq.... C MOVEA ARRX ARRY * Array-to-array move, no indexing and different length array * elements.
*...1....+....2....+....3....+....4....+....5....+....6....+....7....+.... CL0N01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq.... C MOVEA ARRX(4) ARRY * Array-to-array move, index factor 2 with different length array * elements.
*...1....+....2....+....3....+....4....+....5....+....6....+....7....+.... CL0N01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq.... C MOVEA FIELDA ARRY * Field-to-array move, no indexing on array.
*...1....+....2....+....3....+....4....+....5....+....6....+....7....+.... CL0N01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq.... * * In the following example, N=3. Array-to-field move with variable * indexing. C MOVEA ARRX(N) FIELD *
*...1....+....2....+....3....+....4....+....5....+....6....+....7....+.... CL0N01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq.... C MOVEA ARRB ARRZ * * An array-to-array move showing numeric elements.
*...1....+....2....+....3....+....4....+....5....+....6....+....7....+.... CL0N01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq.... C MOVEA(P) ARRX ARRY * Array-to-array move with padding. No indexing; different length * array with same element length.
*...1....+....2....+....3....+....4....+....5....+....6....+....7....+.... CL0N01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq.... C MOVEA(P) ARRB ARRZ * * An array-to-array move showing numeric elements with padding.
*...1....+....2....+....3....+....4....+....5....+....6....+....7....+.... CL0N01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq.... C MOVEA(P) ARRX(3) ARRY * Array-to-array move with padding. No indexing; different length * array with different element length.
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.