« GCCのインラインアセンブラ | トップページ | 失敗知識データベース »

インラインアセンブラでシステムコールを発行

Linuxにおけるx86インライン・アセンブラーによると

asm ( アセンブラーのプログラム
: 出力
: 入力
: 使うレジストリーの一覧
);

ということとらしいので

asm(
"int $0x80"
: "=a" (ret)
: "a" (4),
"b" (1),
"c" (buf),
"d" (len)
);

はa,b,c,dを入力(レジスターに設定)して、システムコールを発行して、その結果を(a)に格納する、ってことらしい。
関数みたいにアセンブラが書けちゃうんだねぇ。すばらしぃ。

|

« GCCのインラインアセンブラ | トップページ | 失敗知識データベース »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/44043/11180485

この記事へのトラックバック一覧です: インラインアセンブラでシステムコールを発行 :

« GCCのインラインアセンブラ | トップページ | 失敗知識データベース »