汇编语言是不可能完全消亡的,在软件编程领域仍然有一席之地,主要用在以下两种场景:
(1)用于实现高级语言不能实现的功能。
高级语言只定义了面向大多数问题的共性语法,但每一种指令都会有一些特性是高级语言无法实现的,例如读写CPU内部寄存器、访问外设的端口等。这种情况下必须使用汇编语言。因此,在基本输入输出系统(BIOS)、操作系统内核、驱动程序、嵌入式控制程序中经常出现汇编语言。
(2)对程序的性能要求高,需要优化代码的场景。
高级语言是通过编译器转换成机器指令的,有时候并不能生成最优的指令。如果是人工编写的汇编语言,则可以针对CPU的特点,发挥最大性能。所以在应用程序中,如果需要执行效率非常高的函数,则可以考虑使用汇编语言进行优化。