SEA & FSIJ 合同フォーラムでビット演算による最適化の妙味とJITアセンブラの中でデモに使ったVMを紹介します. JITの紹介のために前日に2時間ででっちあげたVMなので本当に小さい(200行程度)ですが,エッセンスは楽しめるかなと思います. ソースはXbyak.zipです.この中のxbyak/sample/toyvm.cppが今回作ったVMです(Win, Linuxと多分Intel Macでも動きます). このサンプルはフィボナッチ数列を計算して表示するだけのものです. ここではどのように作ったかの説明をします.一つ前のエントリの資料も参考にしてください. 話の流れ toyVMのスペック,命令セットと命令フォーマットを決める toyVMのアセンブラを作る toyVMの実行部分を作る toyVM用のフィボナッチ数列プログラムを作って実行する toyVMのマシン語をx86に変換するリ