プログラムの表記

アセンブラフォーマット

 MOV命令を例に,H8/300H-CPUのアセンブラフォーマットについて述べる。表2.1はMOV命令を使って,レジスタR0の
内容をレジスタER1の示すメモリの番地へ転送することを表す命令である。
 命令は,操作記号のニーモニック(mnemonic),データのサイズ(size),データの転送元を示すソース(source),転送先
を示すデスティネーション(destination)で表される。ソースやデスティネーションは,レジスタ,メモリの番地,データの値
などを指定する。命令は表2.1のビットパターンのように,2進数に符号化されてCPUが直接理解できるようになる。
表2.1 MOV命令を例にとったアセンブラフォーマット

表2.1 アセンブラフォーマット


オペレーション
 
オペレーションで使用されている命令記号と動作記号を以下に示す。

Rd  → デスティネーション側の汎用レジスタ
Rs  →ソース側の汎用レジスタ
Rn  →汎用レジスタ
ERd →デスティネーション側の汎用レジスタ(アドレスレジスタまたは32 ビットレジスタ)
ERs →ソース側の汎用レジスタ(アドレスレジスタまたは32 ビットレジスタ)
ERn →汎用レジスタ(32 ビットレジスタ)
(EAd)→ デスティネーションオペランド
(EAs)→ ソースオペランド
PC →プログラムカウンタ
SP  →スタックポインタ
CCR  →コンディションコードレジスタ
N  →CCR のN(ネガティブ)フラグ
Z   →CCR のZ(ゼロ)フラグ
V  →CCR のV(オーバフロー)フラグ
C  →CCR のC(キャリ)フラグ
disp →ディスプレースメント
→  →左辺のオペランドから右辺のオペランドへの転送、または左辺の状態から右辺の状態への遷移
∧  →両辺のオペランドの論理積
∨  →両辺のオペランドの論理和
?   →両辺のオペランドの排他的論理和
〜  →反転論理(論理的補数)
( ) < >  →オペランドの内容


コンディションコード

 以下にコンディションコード記号の説明を表2.3に示す。

表2.3 コンディションコード記号の説明
 

2.3.4インストラクションフォーマット
 
 以下にインストラクションフォーマット記号の説明を以下に示す。


IMM  →イミディエイトデータ(2、3、8、16、32 ビット)
abs   →絶対アドレス(8、16、24 ビット)
disp  →ディスプレースメント(8、16、24 ビット)
Rs、rd、rn  →レジスタフィールド(4 ビット)rs、rd、rn はそれぞれオペランドの形式のRs、Rd、Rn に対応
Ers、erd、ern  →レジスタフィールド(3 ビット)ers、erd、ern はオペランドの形式のERs、ERd、ERn に対応


トップへ
トップへ
戻る
戻る