STの汎用32ビットマイコンSTM32ファミリー*3)は、Arm Cortex-Mプロセッサを搭載しています。Cortex-MプロセッサのCCRは、STM8ファミリーとは異なる構成になっています。
図3に、Arm Cortex-M4を搭載したSTM32マイコンのCCR相当のレジスタを示します。
*3)STM32ファミリー
STM32ファミリーは、「専用プログラムステータスレジスタ」と呼ばれるプログラムの実行状態を示すレジスタを持っています。一般的なCCRの機能に加えて、特殊命令の実行結果や割り込みの状態を知ることができます。
専用プログラムステータスレジスタは、以下3つのカテゴリーに分けられます。
これらは、個別のレジスタとして、または3つ全ての組み合わせとして、アクセスできます。STM8ファミリーのCCRと異なり、ユーザーが直接アクセス可能です。
CCRに相当するのは、アプリケーションPSRです。各ビットは以下の機能を持っています。
(1)N(ネガティブ):演算結果が負または、より小さい場合にセットされます。
(2)Z(ゼロ):演算結果が0の場合にセットされます。
(3)C(キャリー):演算結果にキャリーまたはボローが発生した場合にセットされます。
(4)V(オーバーフロー):オーバーフローが発生した場合にセットされます。
(5)Q(スティッキ飽和):飽和演算で演算中に飽和が発生した場合にセットされます。飽和とは、演算結果がオーバーフローしたら、上限値または下限値に補正することです。
STM8ファミリーとの違いはQ(スティッキ飽和)だけで、他のビットは同じ機能です。
Copyright © ITmedia, Inc. All Rights Reserved.