Ah, well, then you've got yourself in a ball of mud.
One of the primary functions of the OS is to load and execute a program. How this happens is typically and entirely dependent on the OS.
For example, Win32 cannot execute a Mac program. As far as old DOS and Win16 programs, Win32 was specifically engineered to support legacy applications, but the next generation will scrub the old DOS subsystem anyway...
If you intend to execute PE32 (Win32) programs, then you'll have to do some serious reading over at MSDN and around the net.
Otherwise, you'll have to roll your own exe format, or borrow one from another OS, and write your own loader.
Maybe consider writing a small boot loader and use BIOS calls instead. Most of the functionality you need is provided by any of the PC BIOS's. That way you are completely independent of any operating system including DOS. As your project develops, then inevitably you can get rid of any BIOS dependence too like Linux