《MCS-51单片机有用子程序库(96年版)》 周 航 慈 目前已有若干版本的子程序库公开发表,它们各有特色
笔者在 1988 年也编制了两个子程序库(定点子程序库和浮点子程序库),并在相容性、透明性、容错性和算法优化方面作了一些工作
本程序库中的开平方算法为笔者讨论的快速逼近算法,它能达到牛顿迭代法同样的精度,而速度加快二十倍左右,超过双字节定点除法的速度
经过八年来全国广阔用户的实际使用,反馈了不少信息,陆续扩充了一些新的子程序,纠正了一些隐含错误,成为现在这个最新版本
本子程序库对《单片机应用程序设计技术》一书附录中的子程序库作了重大修订: (1)按当前流行的以 IBM PC 为主机的开发系统对汇编语言的规定,将原子程序库的标号和位地址进行了调整,读者不必再进行修改,便可直接使用
(2)对浮点运算子程序库进行了进一步的测试和优化,对十进制浮点数和二进制浮点数的相互转换子程序进行了彻底改写,提高了运算精度和可靠性
(3)新增添了若干个浮点子程序(传送、比较、清零、判零等),使编写数据处理程序的工作变得更简单直观
在使用说明中开列了最主要的几项:标号、入口条件、出口信息、影响资源、堆栈需求,各项目的意义请参阅《单片机应用程序设计技术》第六章 6
7 节的内容
程序清单中开列了四个栏目:标号、指令、操作数、注释
为方便读者理解,注释尽力详细
子程序库的使用方法如下: 1.将子程序库全部内容链接在应用程序之后,统一编译即可
优点是简单方便,缺点是程序太长,大量无关子程序也包含在其中
2.仅将子程序库中的有关部分内容链接在应用程序之后,统一编译即可
有些子程序需要调用一些低级子程序,这些低级子程序也应该包含在内
优点是程序紧凑,缺点是需要对子程序库进行认真删节
(一) MCS-51定点运算子程序库及其使用说明 定点运算子程序库文件名为 DQ51
ASM,为便于