I am working on porting uc/OS-II from DOS to x86 (real mode). I need:
A compiler to generate real mode 16-bit x86 assembly
An assembler to assemble the generated assembly into an object file
A linker to link the object files together and output an executable (raw binary, COFF, PE, or ELF formats are fine)
A standard library without invoking any DOS services (int 21h
), only depend on BIOS service.
I am wondering whether there is any tool-chain could do it.
Check out the FreeDOS project. They have developer tools that include compilers, assemblers, and linkers. You'll probably have to modify the standard library, though, so that it uses BIOS calls rather than int 21h.