COMP 項目を COMP-X として扱うことで、または COMP の使用が意味する表現をデータ記述項に設定することで、COMP データ項目を含む文に対し、コンパイラで、簡潔で効率の良いコードが生成されるようにします。
構文:
>>-.---.--.--------COMP"opt"--.--------><
+-/-+ +-.----.-COMP-------+
+-NO-+
パラメーター:
opt には、次のいずれかを指定できます。
- BINARY
- データ記述項で COMP を使用することで、数値の 2 進数 2 の補数表現を指定します。
- DISPLAY
- データ記述項で COMP を使用することで、数値の表示表現を指定します。
- PACKED
- データ記述項で COMP を使用することで、数値のパック 10 進表現、つまりデータ項目が署名された場合に末尾の記号片でバイト当たり 2 つの 10 進数字を指定します。
- UNPACKED
- データ記述項で COMP を使用することで、数値の表示表現、つまりデータ項目が署名された場合に末尾の記号バイトでバイト当たり 1 つの 10 進数字を指定します。
プロパティ:
デフォルト: |
NOCOMP および COMP"BINARY" |
段階: |
構文チェック |
$SET: |
初期 |
依存性:
DIALECT"RM" により、COMP"UNPACKED" が設定されます。
説明:
パラメーターなしの COMP 指令が有効な場合、コンパイラによって生成された 2 進 2 の補数で表される COMP 使用データ項目のコードは、COMP 使用データ項目の数値オーバーフローの場合に ANSI 規格ではない方法で動作します。この指令は、コンパイルするプログラムで、数字のオーバーフローが起こらないことが解っている場合、または、オーバーフローの処理に (非標準であるが) 定義された動作が使用される場合にのみ設定してください。
パラメーターを指定した COMP 指令は、データ記述項での COMP の使用を、上記のパラメーターで説明したとおりに解釈します。COMP および COMP"BINARY" は併用できます。COMP"DISPLAY"、COMP"PACKED"、または COMP"UNPACKED" が有効な場合、COMP は無効になります。