编程中的关键要点:从汇编语言到全局变量
1. 何时使用汇编语言
在某些特定情况下,使用汇编语言是合理的选择,但这种情况比我们想象的要少。以下是适合使用汇编语言的四种情形:
- 极小的处理器 :部分处理器并非C编译器的理想编译目标。当处理器的RAM仅有几个字节,无法支持用于存储临时变量的大型C栈时,即便编译器不断改进,也可能没有能有效处理超小型芯片的编译器。若能获取有合适C编译器的更大处理器,那自然更好;若无法实现,汇编语言可能是唯一选择。不过,在做此决定前,要权衡软件开发成本与使用超小型芯片节省的费用。
- 小而频繁使用的例程 :有时会有非常小但频繁使用的例程,对实时性能要求极高,比如中断服务例程或循环内的少量指令。通常调整源代码可使这些小例程足够快,但在无法更换更快处理器的极少数情况下,可能需要使用汇编语言。不过,在使用前要确保该例程确实频繁调用且有严格的时间要求。
- 扩展精度数学计算 :在许多处理器上,扩展精度数学计算是使用汇编语言的必要场景。例如,在8位处理器上进行128位整数运算,编程语言可能未内置此功能,需自行编写数学例程。由于扩展精度数学计算中,若能访问进位位,加法、减法、乘法和除法会更高效,而高级编程语言无法提供对进位位的访问,所以在速度至关重要且处理器有高级语言无法访问的硬件资源(如进位位)时,用汇编语言编写部分数学库是合理的。
- 专用硬件资源 :有些处理器的专用硬件资源不受编译器支持,或与编程语言抽象不匹配。若可能,最好找到能为其专用硬件提供良好编译器支持的处理器;若别无选择,可能需要使用一些汇编语言来获得良
超级会员免费看
订阅专栏 解锁全文
15万+

被折叠的 条评论
为什么被折叠?



