ユーザ用ツール

サイト用ツール


ja-jp_products:mpino_studio2:box_functions:bit_operations

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

次のリビジョン
前のリビジョン
ja-jp_products:mpino_studio2:box_functions:bit_operations [2026/09/09 17:54] – 만듦 - 바깥 편집 127.0.0.1ja-jp_products:mpino_studio2:box_functions:bit_operations [2026/09/10 01:06] (現在) – 바깥 편집 127.0.0.1
行 5: 行 5:
 {{ :ja-jp_products:mpino_studio2:bit-operation-map.svg?1000 |WORDの各ビットを論理演算、シフト、ローテートする命令を説明します。 }} {{ :ja-jp_products:mpino_studio2:bit-operation-map.svg?1000 |WORDの各ビットを論理演算、シフト、ローテートする命令を説明します。 }}
  
-WAND・SHL・ROLの入力形式を比較した実際のラダー画面です。 +===== 共通規則 =====
- +
-{{ :ja-jp_products:mpino_studio2:ladder-wand-shl-rol-2x.png?1000 |WAND・SHL・ROLの入力形式を比較した実際のラダー画面です。 }} +
- +
-===== 1. 共通ルール =====+
  
 ビット演算命令はWORDの16ビットをまとめて計算します。シフトは外へ出たビットを捨てて空きを0で埋め、ローテートは外へ出たビットを反対側へ戻します。 ビット演算命令は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で埋める論理シフトす。 | +[[ja-jp_products:mpino_studio2:box_functions:bit_operations:wand|WAND]] | 2つのWORDの各ビッをAND演算し、結果を対象に格納します。 | 
-| シフトにビットが消えます。 | 移動したビットを保持する場合、SHLSHRではなくROLROR使用します。 |+| [[ja-jp_products:mpino_studio2:box_functions:bit_operations:wor|WOR]] | 2つのWORDの各ビットをOR演算し、結果を対象格納し。 | 
 +| [[ja-jp_products:mpino_studio2:box_functions:bit_operations:wxor|WXOR]] | 2つWORDの各ビットをXOR演算し、結果を対象に格納します。 | 
 +| [[ja-jp_products:mpino_studio2:box_functions:bit_operations:wnot|WNOT]] | ソースWORDの各ビットを反転し、結果を対象に格納します。 | 
 +| [[ja-jp_products:mpino_studio2:box_functions:bit_operations:shl|SHL]] | WORDを左へシフトし、結果を対象に格納します。左へ出たビットを捨て、右の空きを0で埋めます。シフト数には0~15を使用します。 | 
 +[[ja-jp_products:mpino_studio2:box_functions:bit_operations:shr|SHR]] | D WORDを右へ論理シフトし、結果を対象格納します。右へ出たビットを捨て、左の空きを0で埋めます。 | 
 +| [[ja-jp_products:mpino_studio2:box_functions:bit_operations:rol|ROL]] | D・C・T WORDを左へローテート、結果を対象に格納します。左へ出たビットは右端へ戻します。 | 
 +| [[ja-jp_products:mpino_studio2:box_functions:bit_operations:ror|ROR]] | DCT WORD右へローテートし、結果を対象に格納します。右へ出たビットは左端へ戻します。 |
  
 ===== 関連文書 ===== ===== 関連文書 =====
  
   * [[ja-jp_products:mpino_studio2:box_functions|Phase 4・ボックス関数]]   * [[ja-jp_products:mpino_studio2:box_functions|Phase 4・ボックス関数]]
-  * [[ja-jp_products:mpino_studio2:box_functions:transfer|転送ボックス関数]] 
-  * [[ja-jp_products:mpino_studio2:box_functions:conversion|変換ボックス関数]] 
   * [[ja-jp_products:mpino_studio2|MPINO STUDIO 2ユーザーマニュアル]]   * [[ja-jp_products:mpino_studio2|MPINO STUDIO 2ユーザーマニュアル]]
  
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