GeekOS is a tiny operating system kernel for x86 PCs. Its goal is to be simple enough for beginners to understand and modify, but realistic enough to be interesting and fun. The primary development environment for GeekOS is Linux or Windows using gcc, nasm, and the Bochs PC emulator.
h2incn tries to directly convert C/C++ headers to Nasm-style include files, and can be used in a makefile. It is useful if you want to use the same structures or external variable declarations in C and assembler code, and you don't want to use two separate files and update both each time you change something. It is written in a mix of C and C++ code. It currently works for simple files.