Int 31/AX=FF24h

lup.gif ldown.gif Interrups Categories Contents

rbline.gif

CauseWay - ExecOverlay - LOAD AND OPTIONALLY EXECUTE APP CODE

AX = FF24h
EBX = flags

bit 0:
Don't execute (overlay only)

bit 1:
Don't preserve relocation information. ES:EDX -> filename (see also #03163). FS:ESI -> commandline (ESI = 00000000h if no commandline). GS:EDI -> name (CW's /o option)

Return:
CF clear if successful ---EBX bit 0 set--- CX:EDX = program entry point (CS:EIP) SI = segment of PSP ---EBX bit 1 set--- BX:EAX = initial SS:ESP EDI high word = base segment EDI low word = number of segments EBP = start of segment definitions CF set on error AX = error code 0001h DOS file access error 0002h not a CuaseWay 3P file 0003h not enough memory

See Also: AX=FF2Ah - INT 21/AH=4Bh

Format of CauseWay executable: Offset Size Description (Table 03163) 00h 2 BYTEs signature "3P" 02h DWORD size of header data in bytes 06h DWORD size of EXE image data in bytes 0Ah DWORD number of bytes of program memory required 0Eh WORD number of segment definitions (see #03165) 10h DWORD number of relocation table entries 14h DWORD offset of program entry point 18h WORD segment list entry number for entry point's CS 1Ah DWORD initial ESP 1Eh WORD segment list entry number for initial SS 20h DWORD control flags (see #03164) 24h DWORD automatic stack size in bytes if ESP entry = 00000000h 28h BYTE length of name (name follows program image) 29h 23 BYTEs reserved

See Also: #01594 - #01609 at INT 21/AH=4Bh

Bitfields for CauseWay executable control flags: Bit(s) Description (Table 03164) 0 16-bit interrupt stack frame 7 descriptor table type (0 = GDT, 1 = LDT) 14 16-bit default data size 31 compressed EXE image

Note: Bits 0 and 14 should always be equal

See Also: #03163

Format of CauseWay segment definition [array]: Offset Size Description (Table 03165) 00h DWORD start offset within program image 04h DWORD length and type

bits 0-19:
Length

bit 20:
Granularity (if set, length is in 4K pages)

bits 21-24:
Type 0000 code 0001 read/write data 0010 stack 0011 read-only data

bit 25:
Force segment descriptor's D bit to 0

bit 26:
Force segmetn descriptor's D bit to 1

See Also: #03163

Category: DOS Extenders - Int 31h - C

rbline.gif

lup.gif ldown.gif Interrups Categories Contents