MCS-51单片机实用子程序库详解:快速加减与浮点运算

需积分: 15 5 下载量 18 浏览量 更新于2024-09-21 1 收藏 55KB DOC 举报
本篇文章主要介绍了MCS-51单片机汇编子程序库,该库包含了丰富的单片机汇编语言子程序,如多字节BCD码加法、多字节BCD码减法以及双字节二进制无符号数平方等,这些都是在单片机开发中常见的计算和数据处理任务。子程序库的设计目标是为了提高编程效率,特别是通过优化的开平方算法,其运算速度远超传统的除法方法,达到高精度且快速。 子程序库对《单片机应用程序设计技术》一书附录中的子程序库进行了升级,遵循现代IBMPC为主的开发系统对汇编语言的要求,无需额外修改即可直接使用。在浮点运算方面,子程序库进行了改进,包括浮点数的转换子程序,旨在提升运算的准确性和稳定性。 此外,新增了一些浮点子程序,如传输、比较、清零和判零等,使得数据处理程序的编写更为简洁直观。在使用子程序时,需要关注标号、入口条件、出口信息、影响资源和堆栈需求,这些细节对于确保程序的正确运行至关重要。使用子程序库的方法有两种:一是将整个库链接到应用程序后统一编译,这简便但可能导致程序冗长;二是有选择地链接部分子程序,但需确保所需的低级子程序也包含在内,这样虽然程序更紧凑,但需要精心裁剪。 文章特别提到了定点运算子程序库DQ51.ASM,其中规定了多字节定点操作数的表示方式,比如[R0]或[R1]代表连续存储的数据,以及工作区的设定,强调了数据存储的组织和运算精度。在BCDA子程序示例中,展示了如何进行多字节BCD码加法,包括入口条件、出口信息、资源使用情况和堆栈需求。 这篇资源提供了实用的MCS-51单片机汇编子程序集合,对于熟练掌握汇编语言编程并有效利用这些子程序,对于简化单片机应用开发具有重要价值。