www.digitalmars.com         C & C++   DMDScript  

c++ - Bare metal C++ code

reply Clayton G <clayton isnotcrazy.com> writes:
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
Aug 21 2010
parent Walter Bright <newshound2 digitalmars.com> writes:
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.
Aug 21 2010