システムコールはどのように呼び出されるか
Windows
引数 push して普通に call で呼ぶのが正式。
一応直接呼び出しも調べればできるけど、 Windows のバージョン依存。
Windows System Call Table (NT/2000/XP/2003/Vista)
FreeBSD & x86
EAX にシステムコール番号置いて、 push でスタックに積んで int 0x80 。 なんか一個余分に push しておくこと。 たぶん二度 call して呼ぶことが想定されてるから。
FreeBSD Assembly Language Programming
MacOSX & PowerPC
r0 にシステムコール番号、 r1,2,3,... に引数。 そんで sc で呼ぶ。
Keyword(s):
References:[PortableBinaryHacks]