August 21, 2010
Hi,

I am wanting to write C++ code for a bare metal CPU. ie no DOS or
any other OS. CPU is an 8086.
I have the C++ development system. This contains the library source,
including a file CROM.ASM, which is the startup code for C. I have
got almost a build, but not quite! At this stage I'm just trying to
put together a 'hello world' app.

Are there any samples of a bare-metal build available that would help me?

CROM.ASM refers to some ROM versions of the libraries 'ROMx.LIB'. I cannot find these or any means to build them. Where/How do I get these? I'd like to be able to use the standard C/C++ libraries.

Thanks
  Clayton
August 21, 2010
Clayton G wrote:
> Hi,
> 
> I am wanting to write C++ code for a bare metal CPU. ie no DOS or
> any other OS. CPU is an 8086.
> I have the C++ development system. This contains the library source,
> including a file CROM.ASM, which is the startup code for C. I have
> got almost a build, but not quite! At this stage I'm just trying to
> put together a 'hello world' app.
> 
> Are there any samples of a bare-metal build available that would
> help me?
> 
> CROM.ASM refers to some ROM versions of the libraries 'ROMx.LIB'. I
> cannot find these or any means to build them. Where/How do I get
> these? I'd like to be able to use the standard C/C++ libraries.

I'd forgotten about crom.asm. It really goes back to the 80's! I'm afraid I no longer have any copies of ROMx.LIB.

The runtime library interfaces to DOS using the INT 21H interface. If you want to use the runtime library, your host system will either need to provide an INT 21H interface, or you'll need to find the INT 21H calls in the library source code and replace them with whatever works for your system.