Caller:
eax: pointer to parameter info block (PIB)
- Call the 32-bit address stored at 0x7fff0000 to invoke the method.
+ Call 0x7fff0000 to invoke the method.
Upon return:
ebx, esi, edi, ebp, esp: preserved
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.
+ handling, an5Ad return the exception to the caller in eax.
edx: length of exception segment, if any
ecx: may be clobbered
requested
esp: NULL.
- Jump to the 32-bit address stored at 0x7fff0004 to return.
+ Jump to 0x7fff0080 to return.
Upon return:
eax: pointer to exception, or NULL if none
edx: length of exception segment, if any
- ebx, esi, edi, ebp, esp: may be clobbered
+ ebx, ecx, esi, edi, ebp, esp: may be clobbered
-Object registration:
- eax: number of objects to register with initial refcount 1
- edx: pointer to list of NewObject structs
+Other system calls:
+ eax, edx, ecx: syscall arguments.
- Call the 32-bit address stored at 0x7fff0008.
-
- Upon return:
- eax: pointer to exception, or NULL if none
- edx: length of exception segment, if any
+ Call 0x7fff0000 + 0x80 * syscallnum
-GUID SHA-1 hash retrieval:
- eax: object id
- edx: 20-byte buffer
-
- Call the 32-bit address stored at 0x7fff000c.
-
- Upon return:
- eax: pointer to exception, or NULL if none
- edx: length of exception segment, if any
+ eax: return value
+ edx, ecx: may be clobbered