Yeah, code it in C and any low level assembly bits you need can be in asm{}.
But coding an OS is pretty damn difficult, which is why there aren't many unique ones. Main problem: Drivers. How do you know how to communicate with the computer's hardware unless the hardware manufacturer has written a driver specifically for your OS?
the core still needs to be in assembly, cos most Windows C compilers produce Win32 asm which isn't quite the same as x86 asm
you could always make it compatible with Windows drivers ... that'd be a bit of a sodder though
Edited by the Author.
"Say you're hanging from a huge cliff at the top of mt. everest and a guy comes along and says he'll save you, and proceeds to throw religious pamphlets at you while simultaniously giving a sermon." - Dustin G