binfmt_flat
おお面白そうな。
http://memo.wnishida.com/?date=20070411#p01
なんかぱっと見た感じ、 push/pop はいらない、 EBX は inc EBX 、ってとこでしょうか。
binfmt_flat はわざわざ kernel module 書かなくても binfmt_misc でサクっと書けると思ったので書いてみました。
http://shinh.skr.jp/binary/binfmt_flat.tgz
i@u ~/binfmt_flat> ls Makefile flatrun.c hello* hello.asm setup_binfmt_flat.sh* i@u ~/binfmt_flat> make cc -o flatrun flatrun.c i@u ~/binfmt_flat> sudo ./setup_binfmt_flat.sh i@u ~/binfmt_flat> ls -l hello -rwxr-xr-x 1 i i 31 2007-04-12 22:18 hello* i@u ~/binfmt_flat> ./hello Hello, world!
というわけで 31B の Hello, world! という。
関連
あ、飽きたら
$ sudo sh -c 'echo -1 > /proc/sys/fs/binfmt_misc/flat'
とかで消せます。