ユーザ用ツール

サイト用ツール


ja-jp_products:mpino_studio2:box_functions:bit_operations

文書の過去の版を表示しています。


MPINO STUDIO 2 Phase 4-6・ビット演算ボックス関数

WORDの各ビットを論理演算、シフト、ローテートする命令を説明します。

WORDの各ビットを論理演算、シフト、ローテートする命令を説明します。

WAND・SHL・ROLの入力形式を比較した実際のラダー画面です。

WAND・SHL・ROLの入力形式を比較した実際のラダー画面です。

1. 共通ルール

ビット演算命令はWORDの16ビットをまとめて計算します。シフトは外へ出たビットを捨てて空きを0で埋め、ローテートは外へ出たビットを反対側へ戻します。

2. WAND・WOR・WXOR

WAND

ビット AND (Word AND)

2つのWORDの各ビットをAND演算し、結果を対象に格納します。

入力形式: WAND D0 D1 D2

実行条件 実行前 入力した命令 予想結果
左側条件 ON D0=0x00CC, D1=0x00AA WAND D0 D1 D2 D2=0x0088

WOR

ビット OR (Word OR)

2つのWORDの各ビットをOR演算し、結果を対象に格納します。

入力形式: WOR D0 D1 D2

実行条件 実行前 入力した命令 予想結果
左側条件 ON D0=0x00CC, D1=0x00AA WOR D0 D1 D2 D2=0x00EE

WXOR

ビット XOR (Word XOR)

2つのWORDの各ビットをXOR演算し、結果を対象に格納します。

入力形式: WXOR D0 D1 D2

実行条件 実行前 入力した命令 予想結果
左側条件 ON D0=0x00CC, D1=0x00AA WXOR D0 D1 D2 D2=0x0066

3. WNOT

ビット NOT (Word NOT)

ソースWORDの各ビットを反転し、結果を対象に格納します。

入力形式: WNOT D0 D1

引数

  • 1番目 = S: 反転するソースアドレスまたは定数
  • 2番目 = D: 結果格納アドレス
実行条件 実行前 入力した命令 予想結果
左側条件 ON D0=0x00CC WNOT D0 D1 D1=0xFF33

4. SHL・SHR

SHL

論理左シフト (Shift Left)

WORDを左へシフトし、結果を対象に格納します。左へ出たビットを捨て、右の空きを0で埋めます。シフト数には0~15を使用します。

入力形式: SHL D0 2 D1

引数

  • 第1引数 = ソース:整数WORDアドレス
  • 第2引数 = シフト数:0~15
  • 第3引数 = 対象:結果格納アドレス
実行条件 実行前 入力した命令 予想結果
左側条件 ON D0=0x0003 SHL D0 2 D1 D1=0x000C

SHR

論理右シフト (Shift Right)

D WORDを右へ論理シフトし、結果を対象に格納します。右へ出たビットを捨て、左の空きを0で埋めます。

入力形式: SHR D0 1 D1

引数

  • 第1引数 = ソース:D WORDアドレス
  • 第2引数 = シフト数:0~15
  • 第3引数 = 対象:結果格納アドレス
実行条件 実行前 入力した命令 予想結果
左側条件 ON D0=0x000C SHR D0 1 D1 D1=0x0006

5. ROL・ROR

ROL

左回転 (Rotate Left)

D・C・T WORDを左へローテートし、結果を対象に格納します。左へ出たビットは右端へ戻します。

入力形式: ROL D0 2 D1

引数

  • 第1引数 = ソース:D・C・T WORDアドレス
  • 第2引数 = ローテート数
  • 第3引数 = 対象:D・C・T WORDアドレス
実行条件 実行前 入力した命令 予想結果
左側条件 ON D0=0x8001 ROL D0 2 D1 D1=0x0006

ROR

右回転 (Rotate Right)

D・C・T WORDを右へローテートし、結果を対象に格納します。右へ出たビットは左端へ戻します。

入力形式: ROR D0 1 D1

引数

  • 第1引数 = ソース:D・C・T WORDアドレス
  • 第2引数 = ローテート数
  • 第3引数 = 対象:D・C・T WORDアドレス
実行条件 実行前 入力した命令 予想結果
左側条件 ON D0=0x0003 ROR D0 1 D1 D1=0x8001

6. トラブルシューティング

症状 確認項目
右シフトで符号ビットが左側に入りません。 SHRは上位の空きビットを0で埋める論理シフトです。
シフト後にビットが消えます。 移動したビットを保持する場合は、SHL・SHRではなくROL・RORを使用します。

関連文書

ja-jp_products/mpino_studio2/box_functions/bit_operations.1788944071.txt.gz · 最終更新: by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki