@nprofile1q... @Haelwenn /элвэн/ :triskell: There's no reason for a C compiler to not compile straight to machine code. Popular ones doing so is an implementation detail and a bit of unix heritage - now you have to define the instruction set in multiple places *and* a language to interface with the assembler.
I do agree it helps with debugging and make implementing asm() statements trivial, but I've seen commercial C compilers skip the assembler before (providing a disassembler for debugging instead).