The assembler was really needed?
Yes, some kind of operations is better doing when we’re using the assembler. For example if you want to add two integers together and make a test whether there was a carry or not only what you have to do in the assembler is to test the carry-flag in a special register. In such languages as C++ you cannot do it as simply as in the assembler.