Basic ABI: SysV i386 Out-of-Process Method Invocation: Caller: eax: reserved, must be zero edx: pointer to parameter info block (PIB) ecx: maximum "out" bytes, excluding Inlines Call the 32-bit address stored at 0x7fff0000 to invoke the method. Upon return: ebx, esi, edi, ebp, esp: preserved eax: pointer to exception, or NULL if none. If there is an exception, the user part of the syscall function will search for an exception handling function that covers the calling address. If none is found, it will assume that it is a language without exception handling, and return the exception to the caller in eax. ecx: clobbered edx: pointer to args, with out params filled in; in params may be clobbered. This will be the same pointer as was passed in by the caller. Callee: eax: pointer to PIB edx: pointer to caller information struct, if such was requested ecx: return address Upon return: eax: pointer to exception, or NULL if none. ebx, esi, edi, ebp, esp: should be preserved ecx, edx: may be clobbered