Why write an Assembler in C!?
A6: For maintainability, it’s better to use a high-level language in commonly used code, since more people know those high-level languages and will be better able to understand and modify it properly. Also, combined with a C compiler that requires it it’s symbiotically self-compiling. By writing Yasm in C, we can more easily support cross-assembling any supported output platform on any platform that supports the C we use. We see no reason to constrain ourselves to assembly when assembly is not the best choice for our goals, and here we felt that C was a better choice.