2014年5月19日 (月曜日)

06:58:22 # Life brainfuck compiler in x86_64 C++ を書いた。 C++ で gas 用のコードを生成して、コンパイルして実行する形式。 ループ処理をCPU側でやってもらうことによりインタプリタより圧倒的にシンプルになった。 gas のマニュアルの symbol names を読んで相対シンボル指定の方法を確認した。 ELF の場合は .Lで始まるシンボルはローカルシンボルとなり、 数字だけのシンボル名はローカルシンボルを自動生成する、というところまで把握。 同じシンボルが複数あってもよくて、 'f' 'b' のポストフィックスをつけると 直前または直後のシンボルを指定する。数字でシンボル指定するのがべんりかどうかはよくわからんけどまぁ今必要な用途では便利。

1:
	  // hogehoge
	  cmp $0, %rax
	  jne 1b
	
Junichi Uekawa

$Id: dancer-diary.el,v 1.94 2009/10/21 14:02:48 dancer Exp $