x86エミュレータを自作
12-25 2024
Category: news
G-Emulator
x86 ISAをエミュレートするプログラムです.レジスタとメモリの値をエミュレートします.
インターンシップを機にX86のISAに興味を持ち,エミュレータを自作してみました.
現在も様々な命令を順次拡張中で,将来的に本エミュレータ(gemu)上でOSや,自作コンパイラが出力したバイナリなどを動かしたいという夢があります.
また,命令やハードウェアもカスタムしたいです.Out of Orderや分岐予測器TAGEの実装にも興味があります.
(コンピュータシステムの自作には夢があります...)
テストプロの例
例えば現時点で以下のようなテストが通ります.
演算はもちろん,スタック領域や分岐などもサポートしています.

上記に対応するアセンブリです.こちらの命令列を処理します.

計算結果(アキュムレータ)は0x37でした.10進数で55です.stop pcが0x0なのは仕様です.
今回は1から10までの和であるため,無事正答できていることが分かります.
