Comparison with C
- More precise than C and can reveal program details such as type-cast operations and usage of registers and memory
- The assembly reveals what the compiler did and did not do, e.g., to optimize basic operations.
- Bugs can arise at a low level. Bugs might also be caused by the compiler.
- You can modify the assembly by hand to make it run fast.
Reverse engineering
: You can decipher what a program does when you only have access to its binary.