移動命令
移動命令を次の表に示します。
| 命令 | 従来型の構文 | 自由形式構文 |
|---|---|---|
| 転送 | MOVE (転送) | EVALR (式の評価、右寄せ)または変換組み込み関数 |
| 配列の転送 | MOVEA (配列の転送) | (許可されていない) |
| 左につめて転送 | MOVEL (左につめて転送) | EVAL (式の評価)または変換組み込み関数 |
移動命令では、演算項目 2 の全部または一部が結果のフィールドに転送され ます。 演算項目 2 は変更されません。
移動命令の転送元と転送先は同じタイプにすることも異なったタイプにする
こともできますが、次のようないくつかの制約が適用されます。
- ポインターの転送の場合には、転送元と転送先は同じタイプでなければな らず、両方とも基底ポインターか、両方ともプロシージャー・ポインターのい ずれかでなければなりません。
- MOVEA を使用する場合には、転送元と転送先の両方が同じタイプでなけれ ばなりません。
- 日付、時刻、またはタイム・スタンプ・フィールドに MOVEA を使用することは できません。
- MOVE および MOVEL は、浮動フィールドまたはリテラルには使用できません。
結果の標識は、文字、図形、UCS-2、および数値の結果フィールドにだけ指定できます。MOVE および MOVEL 命令の場合には、結果フィールドが指標なし配列 であると、結果の標識は指定できません。 MOVEA の場合には、 結果フィールドが 配列であれば、指標の有無に関係なく、結果の標識は指定できません。
命令拡張 P を指定できるのは、結果のフィールドが文字、図形、UCS-2、または 数値の場合だけです。