2003.09.30
CASLU & COMETU
Lesson 1 COMETUの構成と命令の実行過程
|
|
|
1語命令の構成
形式の説明
1語長の命令の形式は以下のようになります.
命 令 部 (8ビット) | レジスタ(1)部(4ビット)
| レジスタ(2)部(4ビット) |
図で表すと以下のようになります.
命令の各部には以下のような意味があります.
- 第15ビットから第8ビットの8ビットは命令部で,機械命令の種類を指定する.
- 第7ビットから第4ビットの4ビットはレジスタ(1)部で演算に使用されるレジスタの1つを指定する.
- 残りの部分(第3ビットから第0ビットの4ビット)はレジスタ(2)部で,演算に使用される2つめのレジスタを指定する.
ビットは,下位(右の方)から第0ビット,第1ビット,...第15ビットと数えます.
命令によっては,レジスタ部には値を指定しないものもあります.そのようなときは0になります.
例
例えば,GR1とGR3の算術加算を行う,次の命令は1語長です.
ADDA GR1,GR3
これを機械語表現にしてみましょう.
実際には0と1の列を16個並べて表現しますが,4ビット分の2進数が1桁の16進数に対応しますので,16ビットは4桁の16進数で表現できます.
まず,命令部は第15から第8ビットの8ビットなので,16進数で2桁です.
アセンブラ言語の仕様の参考資料(30ページ)の表で,ADDA r1, r2 という機械命令のオプコードを調べます.(ADDA命令は2つありますが,命令語長が1の方です.)
主OPが2,副OPが4となっていますね.なので,この場合,命令部は24となります.
次に,レジスタ1はGR1,レジスタ2はGR3ですので,レジスタ(1)部は1,レジスタ(2)部は3です.
従って,16進数では以下のようになります.
2 4 1 3
2進数で表すと,以下のようになります.
0010 0100 0001 0011