ページの先頭行へ戻る
NetCOBOL V12.0 LEサブルーチン ユーザーズガイド
FUJITSU Software

2.3 CEESISHF

ビットをシフトします。

入力した整数(PARM1)のコピーを返却します。このとき、指定されたビット数だけ右または左にシフトします。

指定方法

呼出しの記述
CALL "CEESISHF" USING
                BY REFERENCE PARM1,
                BY REFERENCE PARM2,
                BY REFERENCE FC,
                BY REFERENCE RESULT.
パラメタのデータ定義
01  PARM1  PIC S9(9) BINARY.
01  PARM2  PIC S9(9) BINARY.
01  FC.
  02 Condition-Token-Value.
  COPY CEEIGZCT.
    03 Case-1-Condition-ID.
      04 Severity PIC S9(4) BINARY.
      04 Msg-No PIC S9(4) BINARY.
    03 Case-2-Condition-ID
       REDEFINES Case-1-Condition-ID.
      04 Class-Code PIC S9(4) BINARY.
      04 Cause-Code PIC S9(4) BINARY.
    03 Case-Sev-Ctl PIC X.
    03 Facility-ID PIC XXX.
  02 I-S-Info PIC S9(9) BINARY.
01  RESULT  PIC S9(9) BINARY.
PARM1 (入力)

ビットをシフトする対象を指定します。

PARM2 (入力)

シフトするビット数を指定します。

PARM2値は、-32 から32 の範囲の32ビットの整数です。

FC (出力)

フィードバック・コード域を指定します。

返却されるフィードバック・コードとコードの意味は以下のとおりです。

コード

重大度
(Severity)

メッセージ番号
(Msg-No)

意味

CEE000

0

0

成功

CEE1VC

2

2028

2番目の引数の値が有効範囲ではありません。

RESULT (出力)

本サブルーチンの結果を格納する領域を指定します。

出力は、PARM2 の値によって異なる値をとる32 ビットの整数です。いずれの場合も空になったビットは0 に設定されます。

  • PARM2 が0 以上の場合、結果は、PARM2 ビット分左にシフトされたPARM1 のコピーです。

  • PARM2 が0 より小さい場合、結果は、|PARM2| ビット分右にシフトされたPARM1 のコピーです。