呼出規約
MS stdcall はWindows APIで利用されている。引数は右から左に渡される。呼び出された側の関数ではEAX, ECX, EDXのレジスタの元の値を保存することなく使用してよい。呼び出し側の関数では必要ならば呼び出す前にそれらのレジスタをスタック上などに保存する。返り値はEAXに格納する。cdeclと異なり、スタックの清掃はサブルーチン側で行う(Pascal 呼出規約と同様)。ただし引数リストが可変長の場合は呼び出し側がスタックの後始末を行う。
Linux、BSD、macOSなどマイクロソフトのオペレーティングシステム (OS) 以外で利用されている。
整数・ポインタ引数 - RDI, RSI, RDX, RCX, R8, R9
浮動小数点引数 - XMM0, XMM1, XMM2, XMM3, XMM4, XMM5, XMM6, XMM7
戻り値 - RAX
システムコールでは RCX の代わりに R10 を使用
レジスタだけでは引数の数が不足する場合はスタックを利用。