わらばんし仄聞記

南の国で引きこもってるWeb屋さん

2013-01-01から1ヶ月間の記事一覧

簡易brainf*ckコンパイラを作る part3

ここまでで触れていたもので、準備は整った。本題に戻って、brainf*ckのコードをプログラムに読ませ、そのコードの実行ファイルを生成する。 具体的にどうするかを攫っておくと、 pythonでJIT(64bit版Linux環境) part3を元にして、読み込んだコードをネイ…

簡易brainf*ckコンパイラを作る part2

part1に引き続き、もう一点必要なものがある。 brainf*ckはそれぞれの命令以外に、少なくともサイズ30000のバイトの配列を持つ必要があり、これは今までgasの記法を主に使っている所で見られた .comm mem, 30000に相当する。 この領域をELFファイルに直接持…

簡易brainf*ckコンパイラを作る part1

pythonでJIT(64bit版Linux環境) part3でも軽く触れていたが、ここまでで作成していたELFファイルや、JITでやっていた事をまとめると、brainf*ckのコードを読み込ませてELFの実行ファイルを作成させる事ができる。要はbrainf*ckコンパイラを作成できる。 た…

ELFファイルを作る part3

ELF

part2では非常に単純化したELFファイルを作成しましたが、この状態から作成されるファイルに対してobjdump等を実行してもメインの実行コードについての情報が出てきません。 なので、今後進めていった際、不具合に遭遇した場合の問題解決を容易にするために…