Engineering Note

プログラミングなどの技術的なメモ

Python-x86 エミュレータ

Python x86エミュレータの作成(bios)

本記事はPythonで簡単なx86エミュレータを作成します。 前回ではIOポートの読み書きに使用されるin/out命令について学びました。 今回はBIOSの機能を使った文字出力について学んでいきます。

Python x86エミュレータの作成(in/out命令)

本記事はPythonで簡単なx86エミュレータを作成します。 前回 では条件分岐命令で使用されるeflagsの使い方について学びました。 今回はIOポートの読み書きに使用されるin/out命令について学んでいきます。

Python x86エミュレータの作成(eflags)

本記事はPythonで簡単なx86エミュレータを作成します。 前回 ではサブルーチンを呼び出す命令であるcall/retについて学びました。 今回は条件分岐命令で使用されるeflagsの使い方について学んでいきます。

Python x86エミュレータの作成(call/ret命令)

本記事はPythonで簡単なx86エミュレータを作成します。 前回ではModR/Mを実装し、オペランドを柔軟に指定する方法について学びました。 今回はサブルーチンを呼び出す命令であるcall/retについて学んできます。

Python x86エミュレータの作成(ModR/M)

本記事はPythonで簡単なx86エミュレータを作成します。 前回ではorg疑似命令によるプログラムの配置場所を指定するプログラムを作成しました。 今回はModR/Mを実装し、オペランドを柔軟に指定する方法について学んでいきます。

Python x86エミュレータの作成(org疑似命令)

本記事はPythonで簡単なx86エミュレータを作成します。 前回では簡単なオペコード(mov命令とjmp命令のみ)を読み込み、実行するプログラムを作成しました。 今回はorg疑似命令を実装し、プログラムの配置場所を調整する方法について学びます。

Python x86エミュレータの作成

本記事はPythonで簡単なx86エミュレータを作成します。 主にCPUが動作する仕組みを学ぶことを目的とし、オペコードはmov命令とjmp命令のみで、難しいところはすっ飛ばしてとりあえず動くものにしました。