Most programmers hardly use assembly languages.
Then why bother learning them?
Other than the reason of the textbook using MIPS assembly language examples extensively, some reasons of learning an assembly language are
It is fundamental knowledge of computer science. Assembly language is related to computer architecture, operating system, data representation, hardware devices, etc.
Assembly languages can easily bypass restrictions imposed by high-level languages; nearly everything is left to the discretion of the programmer.
For example, the Pascal language does not allow a character value to be assigned to an integer variable.
Assembly language, in contrast, has very few restrictions or rules.
Certain types of programming are difficult or impossible to do in high-level languages. For example,
Directly communicate with the computer’s operating system.
A computer game application might have to directly access the video controller and sound card.
A special program may be needed to interface a printer or serial device to a computer.
Assembly languages are ideal for writing the two applications:
Embedded applications,
each of which is a short program with a small footprint in a single-purpose device like printer.
Real-time applications,
which require precise timing and responses.
The DLL (Dynamically Linked Libraries) procedures of Visual Basic written in assembly language can be used to speed up the program in critical areas of code.