Why use Assembly Language?
Assembly language is very difficult. There are two reasons to study it: performance and access to the machine. Assemblers are faster and more efficient than compilers. An expert assembly language programmer can produce smaller and faster code than a high level language. Where speed and size are critical, such as code on a smart card, the code in a cellular telephone, device drivers, BIOS routines, and the inner loops of performance-critical appliances, here is a big difference. Also some procedures need complete access to hardware (low-level interrupt and trap handlers), which is impossible with high level languages. In many programs, a small percentage of the total code is responsible for a large percentage of the execution time. It is common to have 1% of the program take 50% of the execution time and 10% take 90%. So a hybrid with that small percentage written in assembly language while the rest of the program uses a high level language is done. Computers are efficient with assembly