STM8 C语言编程常见问题与IEEE-754异常处理策略

需积分: 50 20 下载量 53 浏览量 更新于2024-08-06 收藏 5.48MB PDF 举报
本资源是一份关于STM8系列微处理器BM3803FMGRH的软件编程指南,特别关注于第13篇中提到的"常见问题软件规避——浮点IEEE-754异常处理方法"。该部分着重讲解了该处理器对浮点数运算遵循的IEEE-754标准可能出现的异常情况及其处理策略。 首先,浮点IEEE-754异常包括溢出、未定义行为、规格化偏差、无穷大和零除等五种情况。BM3803FMGRH提供了两种处理方式:一是通过在浮点状态寄存器(FSR)中屏蔽异常,使得当这些异常发生时,指令不会响应trap(即中断),而是直接设置相应的标志位,程序继续执行;二是启用异常处理,异常发生时会触发trap,指令执行被暂停,但结果不保留,且异常标志位不会改变。 为确保系统的可靠性,开发者可以选择适合的方法来应对这些异常。具体措施可能涉及代码设计时的错误检查和异常处理代码,比如在可能发生异常的计算之前进行预检查,或者在异常发生后采取适当的恢复机制。此外,文档还提供了详细的浮点异常处理流程,包括8.1节的浮点IEEE-754异常处理过程说明,8.2节针对特定指令序列双精度浮点运算的问题解决方案,以及8.3节针对浮点异常陷阱返回地址的问题处理策略。 值得注意的是,这份指南在后续版本中不断更新和完善,增加了如LDA/STA指令的新特性说明、EDAC功能的详细描述、PCI中断的使用指导,以及电源和使用注意事项的改进。这些内容反映了制造商对产品质量和用户支持的持续投入,有助于开发人员更好地理解和利用BM3803FMGRH的性能,提高软件的稳定性和兼容性。 本资源对于STM8编程者来说是一个宝贵的参考资料,特别是对于处理浮点运算异常和优化程序设计有着重要的指导价值。