X-Git-Url: http://git.buserror.net/cgi-bin/gitweb.cgi?p=polintos%2Fscott%2Fpriv.git;a=blobdiff_plain;f=doc%2Fabi%2Fx86;h=b237c2e66e1ce0221807c43f530b782202090bbd;hp=41f4bb43269ae23594c0a335bb9cb0d5d25be089;hb=292f369387f0b1018b3cfc59ad555698d75d6d46;hpb=f95829cb521c076eebee345a1007e9fc912a0765 diff --git a/doc/abi/x86 b/doc/abi/x86 index 41f4bb4..b237c2e 100644 --- a/doc/abi/x86 +++ b/doc/abi/x86 @@ -2,9 +2,7 @@ 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 + eax: pointer to parameter info block (PIB) Call the 32-bit address stored at 0x7fff0000 to invoke the method. @@ -16,19 +14,18 @@ Out-of-Process Method Invocation: 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. + ecx: length of exception segment, if any + edx: may be clobbered Callee: eax: pointer to PIB edx: pointer to caller information struct, if such was requested - ecx: return address + + Jump to the 32-bit address stored at 0x7fff0004 to return. Upon return: - eax: pointer to exception, or NULL if none. + ecx: length of exception segment, if any ebx, esi, edi, ebp, esp: should be preserved - ecx, edx: may be clobbered + edx: may be clobbered