JADU124G January 2018 – June 2024 CC1312PSIP , CC1312R , CC1352P , CC1352R , CC2642R , CC2642R-Q1 , CC2652P , CC2652PSIP , CC2652R , CC2652RB , CC2652RSIP , CC2662R-Q1
このプロセッサは、ARMv7-M Thumb 命令セットを実装しています。表 3-25に、Arm® Cortex®-M4F 命令とそのサイクル数を示します。サイクル数は、ゼロウェイト状態のシステムに基づいています。
アセンブラ シンタックス内では、演算に応じて、<op2> フィールドを次のいずれかのオプションに置き換えることができます。
RmRm, LSL #4Rm, LSL Rs#0xE000E000簡潔にするため、すべてのロードおよびストアアドレッシングモードは示されていません。詳細については、「ARMv7-M アーキテクチャリファレンスマニュアル」を参照してください。
表 3-25は、「Cycle」列で次の略語を使用しています。
| 動作 | 説明 | アセンブラ | サイクル |
|---|---|---|---|
| 移動 | 登録 | | 1 |
| 16 ビット即値 | | 1 | |
| すぐにトップへ | | 1 | |
| PC へ | | 1 + P | |
| 追加 | 追加 | | 1 |
| PC に追加 | | 1 + P | |
| キャリーで追加 | | 1 | |
| フォームアドレス | | 1 | |
| 減算 | 減算 | | 1 |
| ボロー付き減算 | | 1 | |
| 逆方向 | | 1 | |
| 乗算 | 乗算 | | 1 |
| 乗算累算 | | 1 | |
| 乗算減算 | | 1 | |
| 符号付き Long 型 | | 1 | |
| 符号なし Long 型 | | 1 | |
| 符号付き Long 累算 | | 1 | |
| 符号なし Long 型の累算 | | 1 | |
| 分周 | 符号付き | | 2 ~ 12(1) |
| 符号なし | | 2 ~ 12(1) | |
| 飽和 | 符号付き | | 1 |
| 符号なし | | 1 | |
| 比較 | 比較 | | 1 |
| 負 | | 1 | |
| 論理 | AND | | 1 |
| 排他 OR | | 1 | |
| または | | 1 | |
| 否定論理和 | | 1 | |
| ビット クリア | | 1 | |
| 反転移動 | | 1 | |
| AND テスト | | 1 | |
| 排他 OR テスト | | 1 | |
| シフト | 論理左シフト | | 1 |
| 論理左シフト | | 1 | |
| 論理シフト右 | | 1 | |
| 論理シフト右 | | 1 | |
| 算術シフト右 | | 1 | |
| 算術シフト右 | | 1 | |
| 回転 | 右に回転 | | 1 |
| 右に回転 | | 1 | |
| 拡張あり | | 1 | |
| カウント | 先頭のゼロ | | 1 |
| ロード | ワード | | 2(2) |
| PC へ | | 2(2) + P | |
| ハーフワード | | 2(2) | |
| バイト | | 2(2) | |
| 符号付きハーフワード | | 2(2) | |
| 符号付きバイト | | 2(2) | |
| ユーザー ワード | | 2(2) | |
| ユーザー ハーフワード | | 2(2) | |
| ユーザー バイト | | 2(2) | |
| ユーザー符号付きハーフワード | | 2(2) | |
| ユーザー符号付きバイト | | 2(2) | |
| PC の相対値 | | 2(2) | |
| ダブルワード | | 1 + N | |
| 複数 | | 1 + N | |
| PC を含む複数 | | 1 + N + P | |
| ストア | ワード | | 2(2) |
| ハーフワード | | 2(2) | |
| バイト | | 2(2) | |
| 符号付きハーフワード | | 2(2) | |
| 符号付きバイト | | 2(2) | |
| ユーザー ワード | | 2(2) | |
| ユーザー ハーフワード | | 2(2) | |
| ユーザー バイト | | 2(2) | |
| ユーザー符号付きハーフワード | | 2(2) | |
| ユーザー符号付きバイト | | 2(2) | |
| ダブルワード | | 1 + N | |
| 複数 | | 1 + N | |
| プッシュ | プッシュ | | 1 + N |
| リンク レジスタを使用してプッシュ | | 1 + N | |
| Pop | Pop | | 1 + N |
| ポップしてリターン | | 1 + N + P | |
| セマフォ | 排他的ロード | | 2 |
| 排他的ハーフワード ロード | | 2 | |
| 排他的バイト ロード | | 2 | |
| 排他的ストア | | 2 | |
| 排他的ハーフワード ストア | | 2 | |
| 排他的バイト ストア | | 2 | |
| 排他モニタのクリア | | 1 | |
| 分岐 | 条件付き | | 1 または 1 + P(3) |
| 無条件 | | 1 + P | |
| リンクあり | | 1 + P | |
| 交換付き | | 1 + P | |
| リンクおよび交換付き | | 1 + P | |
| ゼロの場合は分岐し | | 1 または 1 + P(3) | |
| ゼロ以外の場合は分岐 | | 1 または 1 + P(3) | |
| バイト テーブル分岐 | | 2 + P | |
| ハーフワード テーブル分岐 | | 2 + P | |
| 状態変更 | スーパーバイザ コール | | – |
| 条件分岐 | | 1(4) | |
| 割り込みを無効 | | 1 または 2 | |
| 割り込みの有効化 | | 1 または 2 | |
| 特殊レジスタを読み取り | | 1 または 2 | |
| 専用レジスタの書き込み | | 1 または 2 | |
| ブレークポイント | | – | |
| 拡張 | 符号付きハーフワードからワードへの変換 | | 1 |
| 符号付きバイトからワードへの変換 | | 1 | |
| 符号なしハーフワード | | 1 | |
| 符号なしバイト | | 1 | |
| ビット フィールド | 符号なし抽出 | | 1 |
| 符号あり抽出 | | 1 | |
| わかりやすい | | 1 | |
| 挿入 | | 1 | |
| 逆方向 | ワード内のバイト | | 1 |
| 両方のハーフワードのバイト | | 1 | |
| 符号付き下位ハーフワード | | 1 | |
| ワード内のビット | | 1 | |
| ヒント | イベントを送信 | | 1 |
| アライベントを待機 | | 1 + W | |
| 割り込み待機 | | 1 + W | |
| 無操作 | | 1 | |
| バリア | 命令の同期 | | 1 + B |
| データ メモリ | | 1 + B | |
| データ同期 | | 1 + B |
表 3-26に、Arm® Cortex®-M4F プロセッサが実装する DSP 命令を示します。
| 動作 | 説明 | アセンブラ | サイクル |
|---|---|---|---|
| 乗算 | 32 ビット乗算および最上位 32 ビット累算 | | 1 |
| 32 ビット乗算結果の最上位 32 ビットを減算 | | 1 | |
| 32 ビット乗算結果の最上位 32 ビットを返す | | 1 | |
| 丸め処理を行った上位 32 ビットを累算する 32 ビット乗算 | | 1 | |
| 丸め処理を伴う 32 ビット乗算結果の最上位 32 ビットを累算 | | 1 | |
| 丸め処理を伴う 32 ビット乗算結果の最上位 32 ビットを返す | | 1 | |
| 符号付き乗算 | Q 設定付き 16 ビット符号付き乗算、32 ビット累算 (下位ハーフワード × 下位ハーフワード) | | 1 |
| Q 設定付き 16 ビット符号付き乗算、32 ビット累算 (下位ハーフワード × 上位ハーフワード) | | 1 | |
| 16 ビット符号付き乗算、64 ビット累算 (下位ハーフワード × 下位ハーフワード) | | 1 | |
| 16 ビット符号付き乗算、64 ビット累算 (下位ハーフワード × 上位ハーフワード) | | 1 | |
| デュアル 16 ビット符号付き乗算、単一 64 ビット アキュームレータ | | 1 | |
| 16 ビット符号付き乗算、64 ビット累算 (上位ハーフワード × 下位ハーフワード) | | 1 | |
| 16 ビット符号付き乗算、64 ビット累算 (上位ハーフワード × 上位ハーフワード) | | 1 | |
| 16 ビット符号付き乗算 (32 ビット結果、下位ハーフワード × 下位ハーフワード) | | 1 | |
| 16 ビット符号付き乗算、32 ビット結果 (下位ハーフワード × 上位ハーフワード) | | 1 | |
| 16 ビット符号付き乗算、32 ビット結果 (上位ハーフワード × 下位ハーフワード) | | 1 | |
| 16 ビット符号付き乗算、32 ビット結果 (上位ハーフワード × 上位ハーフワード) | | 1 | |
| 16 ビット × 32 ビット符号付き乗算 (上位 32 ビットを返す、下位ハーフワード使用) | | 1 | |
| 16 ビット × 32 ビット符号付き乗算、上位 32 ビット結果 (上位ハーフワード) | | 1 | |
| デュアル 16 ビット符号付き乗算で差分結果を返す | | 1 | |
| Q 設定付き 16 ビット符号付き乗算、32 ビット累算 (上位ハーフワード × 下位ハーフワード) | | 1 | |
| Q 設定付き 16 ビット符号付き乗算、32 ビット累算 (上位ハーフワード × 上位ハーフワード) | | 1 | |
| Q 設定付き デュアル 16 ビット符号付き乗算、単一 32 ビット アキュームレータ | | 1 | |
| Q 設定付き 16 ビット × 32 ビット符号付き乗算、32 ビット累算 (下位ハーフワード) | | 1 | |
| Q 設定付き 16 ビット × 32 ビット符号付き乗算、32 ビット累算 (上位ハーフワード) | | 1 | |
| Q 設定付きデュアル 16 ビット符号付き乗算減算、32 ビット累算 | | 1 | |
| Q 設定付きデュアル 16 ビット符号付き乗算減算、64 ビット累算 | | 1 | |
| Q 設定付きデュアル 16 ビット符号付き乗算和 | | 1 | |
| 符号なし乗算 | 32 ビット符号なし乗算、倍精度 32 ビット累算、64 ビット結果 | | 1 |
| 飽和 | Q 設定付きデュアル 16 ビット飽和演算 | | 1 |
| Q 設定付きデュアル 16 ビット符号なし飽和演算 | | 1 | |
| パッキングおよびアンパッキング | シフトした下位ハーフワードと上位ハーフワードをパック | | |
| 下位ハーフワードとシフト済み上位ハーフワードのパック | | 1 | |
| 8 ビット抽出および 32 ビット符号拡張 | | 1 | |
| デュアル 8 ビット抽出、各 16 ビット符号拡張 | | 1 | |
| 16 ビット抽出および 32 ビット符号拡張 | | 1 | |
| 8 ビット抽出および 32 ビット ゼロ拡張 | | 1 | |
| デュアル 8 ビット抽出、各 16 ビット ゼロ拡張 | | 1 | |
| 16 ビット抽出および 32 ビット ゼロ拡張 | | 1 | |
| 8 ビット抽出、32 ビット符号なし加算 | | 1 | |
| デュアル 8 ビット抽出、16 ビット符号なし加算 | | 1 | |
| 16 ビット抽出、32 ビット符号なし加算 | | 1 | |
| 8 ビット抽出、32 ビット符号付き加算 | | 1 | |
| デュアル 8 ビット抽出、16 ビット符号付き加算 | | 1 | |
| 16 ビット抽出、32 ビット符号付き加算 | | 1 | |
| その他データ処理 | GE ビットに基づいてバイトを選択 | | 1 |
| 4 組の 8 ビット符号なし絶対差の符号なし総和 | | 1 | |
| クワッドの 8 ビット符号なし絶対差の総和、32 ビット累算 | | 1 | |
| 加算 | デュアル 16 ビット符号なし飽和加算 | | 1 |
| クワッド 8 ビット符号なし飽和加算 | | 1 | |
| Q 設定付き飽和加算 | | 1 | |
| Q 設定付きデュアル 16 ビット飽和加算 | | 1 | |
| Q 設定付きクワッド 8 ビット飽和加算 | | 1 | |
| Q 設定付き飽和倍加加算 | | 1 | |
| GE 設定付きクワッド 8 ビット符号付き加算 | | 1 | |
| GE 設定付きデュアル 16 ビット符号付き加算 | | 1 | |
| デュアル 16 ビット符号付きハーフ加算 | | 1 | |
| クワッド 8 ビット符号付きハーフ加算 | | 1 | |
| GE 設定付きデュアル 16 ビット符号なし加算 | | 1 | |
| GE 設定付きクワッド 8 ビット符号なし加算 | | 1 | |
| デュアル 16 ビット符号なしハーフ加算 | | 1 | |
| クワッド 8 ビット符号なしハーフ加算 | | 1 | |
| 減算 | Q 設定付き飽和倍加減算 | | 1 |
| デュアル 16 ビット符号なし飽和減算 | | 1 | |
| クワッド 8 ビット符号なし飽和減算 | | 1 | |
| Q 設定付き飽和減算 | | 1 | |
| Q 設定付きデュアル 16 ビット飽和減算 | | 1 | |
| Q 設定付きクワッド 8 ビット飽和減算 | | 1 | |
| デュアル 16 ビット符号付きハーフ減算 | | 1 | |
| クワッド 8 ビット符号付きハーフ減算 | | 1 | |
| GE 設定付きデュアル 16 ビット符号付き減算 | | 1 | |
| GE 設定付きクワッド 8 ビット符号付き減算 | | 1 | |
| デュアル 16 ビット符号なしハーフ減算 | | 1 | |
| クワッド 8 ビット符号なしハーフ減算 | | 1 | |
| GE 設定付きデュアル 16 ビット符号なし減算 | | 1 | |
| GE 設定付きクワッド 8 ビット符号なし減算 | | 1 | |
| 並列加算と減算 | デュアル 16 ビット符号なし飽和加減算 (交換あり) | | 1 |
| デュアル 16 ビット符号なし飽和減加算 (ハーフワード交換あり) | | 1 | |
| GE 設定付きデュアル 16 ビット加減算 (ハーフワード交換あり) | | 1 | |
| Q フ設定付きデュアル 16 ビット加減算 (ハーフワード交換あり) | | 1 | |
| Q 設定付きデュアル 16 ビット減加算 (ハーフワード交換あり) | | 1 | |
| デュアル 16 ビット符号付きハーフ加減算 | | 1 | |
| デュアル 16 ビット符号付きハーフ減加算 | | 1 | |
| GE フ設定付きデュアル 16 ビット符号付き減加算 (ハーフワード交換あり) | | 1 | |
| GE 設定付きデュアル 16 ビット符号なし加減算 (ハーフワード交換あり) | | 1 | |
| デュアル 16 ビット符号なしハーフ加減算 (ハーフワード交換あり) | | 1 | |
| デュアル 16 ビット符号なしハーフ減加算 (ハーフワード交換あり) | | 1 | |
| GE 設定付きデュアル 16 ビット符号なし減加算 (ハーフワード交換あり) | | 1 |