H8 C言語によるプログラミング | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
1. H8マイコン1.1. H8マイコンの特徴l ワンチップ l 内臓フラッシュROM l 豊富なラインナップ l CPUスケーラビリティ l 高い演算能力 l 低消費電力
CPUコアのラインナップは次のようになっています. 表 1 CPUコアの種類
これらのコアの命令はオブジェクトレベルで上位互換になっています.
1.2. 内部レジスター構成CPUの汎用レジスター構成は次のようになっています.
図 1 レジスター構成 これら以外のレジスターはPC(24bit,プログラムカウンタ),EXR(8bit,割込み),CCR(8bit,フラグ)があります. 1.3. 命令セットH8/300H CPU の命令は2 byteを単位としています. 命令セットの特徴には次のものがあります. l 基本は汎用レジスター演算 l H8/300CPU上位互換 l 汎用レジスター:16ビット×16本 Ø 8ビット×16本+16ビット×8本、32ビット×8本としても使用可能 l 基本命令:62種類 Ø 8/16/32ビット転送、演算命令 Ø 乗除算命令 Ø 強力なビット操作命令 l アドレッシングモード:8種類 l アドレス空間:64Kバイト l 高速動作 Ø 頻出命令をすべて2〜4ステートで実行 Ø 8×8ビットレジスタ間乗算:14ステート Ø 16÷8ビットレジスタ間除算:14ステート Ø 16×16ビットレジスタ間乗算:22ステート Ø 32÷16ビットレジスタ間除算:22ステート l 低消費電力動作 Ø SLEEP命令により低消費電力状態に遷移
1.4. アドレス空間アドレス空間はノーマルモードで64Kbyte,アドバンスモードで最大16Mbyteです. また,ワンチップ化された周辺装置はメモリマップドIO方式で接続されています. 割込みベクタ領域(テーブル)にプログラムの番地がかかれているのでリセット後はこのテーブルの内容にしたがってプログラムが実行されます.
図 2 アドレス空間 1.5. 例外処理例外処理にはリセット,トラップ命令,割込みがあります. 例外処理の受付の流れは次のとおりになります. 1. PC,CCRレジスターをスタックに退避 2. CCRの割込みマスクビットに”1”をセット 3. 例外処理要因ごとにベクタアドレスを生成し,PCレジスターにセットする. 1.5.1. ベクタテーブル例外処理のプログラムの開始番地を記録しておくテーブルです.
表 2 ベクタテーブル
表の上は優先度が高く,下に行くほど低くなります.
|
参考図書 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||