The first reason to work with assembler is that it offers the opportunity of knowing more the operation of your PC, which permits the development of software in a more constant manner.
The second cause is the total control of the PC which you can have with the assembler.
Another cause is that the assembly programs are faster, smaller, and have larger capacities than ones created with many other languages.
Finally, the assembler permits an ideal optimization in programs, be it on their size or on their execution.