Index
MOVE

【用途】
項目への移入を行なう。使用頻度は激高。というかこの命令のないプログラムはないんじゃないだろうか。当然必須。

【使用例】
・Aに数字の1を送る   MOVE  1   TO  A
・Aに英字の1を送る   MOVE  "1"  TO  A

MOVE文


機能

MOVE(転記)文は,データを編集規則に従って一つ以上のデータ領域に移す.


一般形式

【書き方1】
Image

【書き方2】
Image


構文規則

(1)

定数-1又は一意名-1のデータ項目は,送出し側(sending area)とし,一意名-2のデータ項目は,受取り側(receiving area)とする.

(2)

CORRとCORRESPONDING(対応)は同義語であり,どちらを書いてもよい.

(3)

CORRESPONDING指定を用いたとき,一意名はすべて集団項目でなければならない.

(4)

指標データ項目をMOVE文の作用対象に指定してはならない.


一般規則

(1)

CORRESPONDING指定を用いたとき,一意名-1内の特定の項目だけが,CORRESPONDING指定に従って一意名-2内の特定の項目に移される. この結果は,利用者が対応する一意名ごとに,別々のMOVE文を書いたのと同じとする.

(2)

定数-1又は一意名-1のデータ項目の内容は,一意名-2の指定順序に従って,一意名-2のデー夕項目に移される.一意名-2に関する規則は,他の受取り側にも適用する.一意名-2の長さの評価や添字は,データをそれぞれのデータ項目に移す直前に評価される.
一意名-1にある添字は,データを先頭の受取り側作用対象に移す直前に1回だけ評価される.一意名-1のデータ項目の長さは,そのデータを受取り側作用対象に移す直前に1回だけ評価される.
一意名-1又は一意名-2の長さの評価は, OCCURS句のDEPENDING ON指定によって影響される.

例:

Image

上記のMOVE又は,下記のMOVE文と等価である.

Image

ここでtempは,コンパイラが用意した中間結果の項目である.

(3)

受取り側作用対象が基本項目で送出し側作用対象が定数又は基本項目の場合を基本項目転記(elementary move)という.すべての基本項目は,数字,英字,英数字,日本語,ブール,数字編集,英数字編集又は日本語編集のうち,いずれか一つの項類に属する.これらの項類はPICTURE句で記述される.
数字定数の項類は数字,文字定数の項類は英数字,日本語定数の項類は日本語,ブール定数の項類はブールとする.
表意定数ZEROの項類は,数字項目や数字編集項目に転記する場合は数字,ブール項目に転記する場合はブール,その他の場合は英数字とする.
表意定数SPACEの項類は,日本語項目や日本語編集項目に転記する場合は日本語,その他の場合は英数字とする.
表意定数HIGH-VALUE及びLOW-VALUEの項類は,日本語項目や日本語編集項目に転記する場合は日本語,その他の項目に転記する場合は英数字とする.
この他の表意定数の項類は英数字とする.
これらの項類間の基本項目転記は,次による.
(a)

表意定数SPACE,英数字編集項目及び英字項目は,数字項目又は数字編集項目に転記してはならない.

(b)

数字定数,表意定数ZERO,数字項目及び数字編集項目は,英字項目,日本語項目又は日本語編集項目に転記してはならない.

(c)

非整数の数字定数及び非整数の数字項目は,英数字項目又は英数字編集項目に転記してはならない.

(d)

日本語定数,日本語項目及び日本語編集項目は,英字項目,英数字項目,英数字編集項目,数字項目又は数字編集項目に転記してはならない.

(e)

ブール定数及びブール項目は,英字項目,英数字編集項目,数字項目,数字編集項目,日本語項目又は日本語編集項目に転記してはならない.

(f)

英字,文字定数,数字定数,日本語定数,数字,数字編集,英数字編集,日本語及び日本語編集項目は,ブール項目に転記してはならない.

(g)

表意定数HIGH-VALUE,LOW-VALUE,QUOTE及び記号文字は,英字項目,数字項目,数字編集項目又はブール項目に転記してはならない.

(h)

英字項目,英数字項目及び英数字編集項目は,日本語項目又は日本語編集項目に転記してはならない.

(i)

表意定数QUOTE及び記号文字は,日本語項目又は日本語編集項目に転記してはならない.

(j)

このほかの組合せの基本項目転記は,すべて可能で,次の一般規則(4)に従って行われる.

(4)

基本項目転記の際に,必要ならば内部表現形式の変換及び受取り側データ項目に指定された編集や暗黙の逆編集を行う.基本項目転記には,次の規則を適用する.
(a)

英数字編集項目又は英数字項目が受取り側の場合,けたよせ及び必要な空白づめが標準けたよせ規則に従って行われる.送出し側作用対象が符号付き数字項目のときは,演算符号は転記されない.演算符号だけで独立の文字位置を占めているとき,その演算符号は転記されず,送出し側作用対象のけた数が編集データ形式で1けた小さいものとして転記される.送出し側作用対象が数字編集の場合,逆編集は行われない.送出し側作用対象の用途が,受取り側作用対象の用途と異なる場合,送出し側作用対象を受取り側作用対象の内部表現に変換する.送出し側作用対象が数字でありかつPICTURE文字“P”を含むならば,この文字で指定されるすべてのけた位置は,値ゼロを持つとみなされ,かつ送出し側作用対象の大きさに数えられる.

(b)

数字項目又は数字編集項目が受取り側の場合,小数点の位置合せ及び必要なゼロづめが標準けたよせ規則に従って行われる.そのゼロは,編集指定により他の文字に変換されることもある.送出し側作用対象が数字編集の場合,逆編集により符号も含めてその作用対象の編集されない数値が求められ,その編集されない数値が受取り側に転記される.
(i)

受取り側項目が符号つき数字項目のとき,送出し側項目の符号を受取り側項目の符号とする.このとき,必要ならば符号の表現形式の変換が行われる.送出し側作用対象に符号がないときには,受取り側項目に正符号が付けられる.

(ii)

受取り側項目が符号なし数字項目のとき,送出し側作用対象の絶対値が転記され,受取り側項目には演算符号は付かない.

(iii)

送出し側作用対象が英数字であるとき,送出し側作用対象のデータは,符号なし整数とみなされて転記される.

(c)

英字項目が受取り側の場合,標準けたよせ規則に従って,けたよせ及び必要な空白づめが行われる.

(d)

日本語編集項目又は日本語項目が受取り側の場合, けたよせ及び必要な空白づめが標準けたよせ規則に従って行われる.

(e)

ブール項目が受取り側の場合,標準のけたよせ規則に従ってけたよせと必要なブール文字0づめが行われる.

(f)

送出し側が英数字項目で受取り側がブール項目の場合,英数字項目は外部ブール項目として扱われる.その後さらに(e)が適用される.

(g)

送出し側がブール項目で英数字項目が受取り側の場合,けたよせ及び必要な空白づめや切捨てが行われる.

(5)

基本項目転記以外の転記は,英数字項目間の基本項目転記と同様に行われる.ただし,内部表現形式の変換は行わない.この場合,受取り側や送出し側に含まれる個々の基本項目や集団項目を考慮せず,つめて転記される.ただし,OCCURS句を含む場合はこの限りでない.
ブールにおいては,基本項目以外の転記はできない.

(6)

MOVE文による基本項目転記の可否を表3.18に示す.

表3.18 基本項目転記の可否
基本項目転記の可否

○:転記できる

−:転記できない

(n):一般規則の番号

(7)

ブールにおける基本項目転記の可否を表3.19に示す.

表3.19 ブールにおける基本項目転記の可否

送出し側データ項目の項類


              受取り側データ項目の項類
  ブール

  英数字

英字,英数字編集,日本語
数字,数字編集,日本語編集
ブール(注1)
○/(4)(e)
○/(4)(g)
−/(3)(e)

英数字

英数字項目
○/(4)(f)


基本項目の転記の可否については
表3.18を参照されたい






文字定数(注2)
−/(3)(e)
英字(注3)
英数字編集
数字(注4)
数字編集
日本語
日本語編集
−/(3)(d)






○:転記できる

−:転記できない

(n):一般規則の番号

注1)ブール定数,ALLブール定数及びブールとしての表意定数ZEROを含む.

注2)ALLブール定数,SPACE,ZERO以外の表意定数を含む.

注3)表意定数SPACEを含む.

注4)数字定数を含む.


Index