assembler

Xbyak

assemberのことをググってたら面白いものを発見。 http://homepage1.nifty.com/herumi/soft/xbyak.html実行時にマシン語を生成するクラスライブラリらしい。 ひとつめのサンプルをやってみた(gcc-4.3 gentoo)。 http://labs.cybozu.co.jp/blog/mitsunari/xby…

コンパイルを途中で止める

コンパイルを途中で止めてアセンブラのコードを得る。 main.c int sum(int a, int b) { return a+b; } int main() { return sum(1, 2); } これを途中までコンパイルしてみる。 gcc-4.3(cygwin) gasのコードを得る $ gcc -s main.c $ cat main.s .file "main.…

アセンブラ関数をCからリンクする

http://homepage1.nifty.com/herumi/prog/prog10.html を見てやってみる。 gas(linux) リンカに拘ると前に進めない。 gas仕様のsum.Sを写経してリンクする。 $ gcc -c main.c $ as sum.S -o sum.o $ ld -o sum main.o sum.o -e main undefined reference to …

Hello World

nasm(linux) とりあえず伝統に則ってHello Worldをやってみる。 参考ソースはこちら。http://www.csee.umbc.edu/help/nasm/sample.shtml コメント満載でわかりやすい。対象アセンブラはnasm。インデントの流儀はラベルを0列からはじめて、 それ以外をインデ…

修行開始

SIMDをやるには順を追っていかねばならないので ぼちぼち修行開始。http://homepage1.nifty.com/herumi/prog/prog.html http://www.ibm.com/developerworks/jp/linux/library/l-gas-nasm.htmlこの辺を参考にnasmとmasmとgasを平行して進めていくことに。 ひ…