CPUのスペック案
2007年4月27日
レジスタは8ビット、メモリ空間の1ワードは4ビットの変則型にしようと思う。メモリ空間は、16ビットのアドレス指定で64Kワード(32Kビット)。CS・DSを用いたセグメント指定により、256ワードごとに空間を分割して使用する。
Aレジスタ(8ビット) - 演算用
上位4ビット:AHレジスタ
下位4ビット:ALレジスタ
Bレジスタ(8ビット) - メモリアドレス指定用
上位4ビット:BHレジスタ
下位4ビット:BLレジスタ
Cレジスタ(8ビット) - カウンタ
上位4ビット:CHレジスタ
下位4ビット:CLレジスタ
Dレジスタ(8ビット) - 演算補助
上位4ビット:DHレジスタ
下位4ビット:DLレジスタ
Jレジスタ(8ビット) - ジャンプ先指定
Zレジスタ(8ビット) - 代入および演算結果格納
上位4ビット:ZHレジスタ
下位4ビット:ZLレジスタ
Fレジスタ(4ビット) - フラグ格納用
CF1(キャリーフラグ)
CF2(シフト・ローテート用フラグ)???
ゼロフラグはない(Zレジスタがゼロフラグを兼ねる)
サインフラグはない(Zレジスタ上位1ビットがサインフラグを兼ねる)
IP(8ビット) - 命令実行位置
CS(8ビット) - コードセグメント
DS(8ビット) - データセグメント
最初の設計では、インテル型にしてみた。スタックの実装は、とりあえず先送りにする。
Aレジスタ(8ビット) - 演算用
上位4ビット:AHレジスタ
下位4ビット:ALレジスタ
Bレジスタ(8ビット) - メモリアドレス指定用
上位4ビット:BHレジスタ
下位4ビット:BLレジスタ
Cレジスタ(8ビット) - カウンタ
上位4ビット:CHレジスタ
下位4ビット:CLレジスタ
Dレジスタ(8ビット) - 演算補助
上位4ビット:DHレジスタ
下位4ビット:DLレジスタ
Jレジスタ(8ビット) - ジャンプ先指定
Zレジスタ(8ビット) - 代入および演算結果格納
上位4ビット:ZHレジスタ
下位4ビット:ZLレジスタ
Fレジスタ(4ビット) - フラグ格納用
CF1(キャリーフラグ)
CF2(シフト・ローテート用フラグ)???
ゼロフラグはない(Zレジスタがゼロフラグを兼ねる)
サインフラグはない(Zレジスタ上位1ビットがサインフラグを兼ねる)
IP(8ビット) - 命令実行位置
CS(8ビット) - コードセグメント
DS(8ビット) - データセグメント
最初の設計では、インテル型にしてみた。スタックの実装は、とりあえず先送りにする。