Here’s another way to get an OS written in assembly: Use a real language and then compile it.
Not the same. The output code is still much larger (and slower) than anything using assembler. It is just easier to code with human-understandable (for the most part) languages and then compile it to machine code than writing the machine code directly. It’s simply not intuitive to write instructions using machine code.