SYNCHRONIZED 句

SYNCHRONIZED 句は、コンピューターのメモリのワード境界での基本項目の整列を指定します。

一般的なフォーマット

{SYNCHRONIZED}  [LEFT ]
{SYNC        }  [RIGHT]

構文規則


  1. SYNC は SYNCHRONIZED の省略形です。
  2. SYNCHRONIZED 句は、基本項目にのみ使用できます。
  3. SYNCHRONIZED 句は、外部の浮動小数点データ項目とともに使用できません。

一般規則


  1. SYNCHRONIZED 句は、データ項目でワード境界の整列を行うように指定するために使用されます。通常、レコードに含まれるデータは、バイト境界で整列されます。基本となる表現がバイナリであるデータ項目のみが SYNCHRONIZED 句の影響を受けます。
  2. SYNCHRONIZED 句は、データ項目をその実際のサイズの偶数倍である境界に配置します。次の表に、各サイズのデータ項目で使用される境界をリストします。
    データ サイズ 境界の倍数
    1-2 2
    3-4 4
    5-8 8
  3. 同期化されたデータ項目を含むグループ項目も同じ境界で同期化されます。同期化の影響にかかわらず、グループ項目は、常にその最初の基本データ項目と同じ場所で始まります。
  4. 同期化によって埋め草文字バイトが作成される場合があります。これらのバイトは、含まれるグループ項目のサイズに合計されます。このため、同期化されたデータを含むグループ項目は、その基本項目の合計サイズよりも大きくなる場合があります。
  5. 他の方法では同期化されないレベル 01 およびレベル 77 データ項目は、コンパイル時に選択できる境界に配置されます。デフォルトでは、これらの項目は 2 つに分割できるワード境界に配置されます。
  6. POINTER または COMP-5 項目であるレベル 01 およびレベル 77 データ項目は、コンパイル時の設定にかかわらず、適切なマシン境界に自動的に同期化されます。すべての C 型データ タイプは、そのレベルにかかわらず、自動的に同期化されます。これによって、整列を考慮しなくても、これらの項目を C サブルーチンに安全に渡すことができるようになります。
  7. コンパイル時間 (-Dl) オプションは、最大境界倍数を縮小するために使用できます。たとえば、-Dl4 は、サイズ 1 または 2 の項目を 2 バイトの境界で同期化し、他のすべての項目を 4 バイトの境界で同期化します。このオプションが指定されていない場合、最大境界倍数は使用される互換モードに依存します。
    モード 境界制限
    VAX COBOL 8
    RM/COBOL 2
    ICOBOL 1

    1 の制限値は、同期化を効果的に抑制します。

  8. LEFT および RIGHT オプションは、注釈として処理されます。これらのオプションは、いずれのオプションもない SYNCHRONIZED 句と同じ効果をもっています。