INF: Possible Causes of MPC Error MP1010

ID Number: Q84786

7.00

MS-DOS

Summary:

The MAKE P-CODE utility (MPC) version 7.0 is required to make a p-code

executable or dynamic-link library (DLL) usable. Different messages

are displayed if MPC is run on an executable that does not contain

p-code, depending on whether the .EXE is targeted for MS-DOS or

Microsoft Windows.

When MPC is run on a Windows executable or DLL that does not contain

p-code, the following warning is produced:

warning MP4002: file contains no p-code : 'filename'

However, when MPC is run on an MS-DOS executable that does not contain

p-code, the following error is produced:

fatal error MP1010: 'filename' is not a segmented executable file

More Information:

Windows executables are always segmented. A typical MS-DOS executable

is non-segmented. However, compiling an MS-DOS application with /Oq

and linking with /PCODE produces a segmented executable. Therefore,

MPC expects a segmented executable as input. An MS-DOS executable

without p-code is not a segmented executable, hence the MP1010 error.

The final MS-DOS p-code executable produced by MPC is not segmented,

even though the non-runnable version produced by the linker is

segmented. Therefore, the MP1010 error may also be generated by MPC if

it is passed a runnable MS-DOS p-code executable as input.

Additional reference words: pcode 7.00