Engineering Note

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

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

cpu

本記事はPythonで簡単なx86エミュレータを作成します。

前回ではModR/Mを実装し、オペランドを柔軟に指定する方法について学びました。

今回はサブルーチンを呼び出す命令であるcall/retについて学んできます。

続きを読む

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

cpu

本記事はPythonで簡単なx86エミュレータを作成します。

前回ではorg疑似命令によるプログラムの配置場所を指定するプログラムを作成しました。

今回はModR/Mを実装し、オペランドを柔軟に指定する方法について学んでいきます。

続きを読む

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

cpu

本記事はPythonで簡単なx86エミュレータを作成します。

前回では簡単なオペコード(mov命令とjmp命令のみ)を読み込み、実行するプログラムを作成しました。

今回はorg疑似命令を実装し、プログラムの配置場所を調整する方法について学びます。

続きを読む

Python x86エミュレータの作成

cpu

本記事はPythonで簡単なx86エミュレータを作成します。

主にCPUが動作する仕組みを学ぶことを目的とし、オペコードはmov命令とjmp命令のみで、難しいところはすっ飛ばしてとりあえず動くものにしました。

続きを読む

Python シグナルによるプロセスの再起動

reboot

サーバシステムなどでは、設定ファイルの変更に伴う再起動にあたり、ハングアップシグナル(SIGHUP)を送り、execコマンドで上書きするというやり方がよく使われています。

今回はこの方法について学んでいきます。

続きを読む