MCS-51 单片机实用子程序库(一) 内容 目前已有若干版本的子程序库公开发表,它们各有特色
本程序库中的开平方算法为快速逼近算法,它能达到牛顿迭代法同样的精度,而速度加快二十倍左右,超过双字节定点除法的速度
本子程序库对《单片机应用程序设计技术》一书附录中的子程序库作了重大修订: (1)按当前流行的以 IBM PC 为主机的开发系统对汇编语言的规定,读者不必再进行修改,便可直接使用
(2)对浮点运算子程序库进行了进一步的测试和优化,对十进制浮点数和二进制浮点数的相互转换子程序进行了彻底改写,提高了运算精度和可靠性
(3)新增添了若干个浮点子程序(传送、比较、清零、判零等),使编写数据处理程序的工作变得更简单直观
在使用说明中开列了最主要的几项:标号、入口条件、出口信息、影响资源、堆栈需求,各项目的意义请参阅《单片机应用程序设计技术》第六章 6
7 节的内容
程序清单中开列了四个栏目:标号、指令、操作数、注释
为方便读者理解,注释尽力详细
子程序库的使用方法如下: 1.将子程序库全部内容链接在应用程序之后,统一编译即可
优点是简单方便,缺点是程序太长,大量无关子程序也包含在其中
2.仅将子程序库中的有关部分内容链接在应用程序之后,统一编译即可
有些子程序需要调用一些低级子程序,这些低级子程序也应该包含在内
优点是程序紧凑,缺点是需要对子程序库进行仔细删节
(一) MCS-51定点运算子程序库及其使用说明 定点运算子程序库文件名为DQ51
ASM,为便于使用,先将有关约定说明如下: 1.多字节定点操作数:用[R0]或 [R1]来表示存放在由R0 或 R1 指示的连续单元中的数 据
地址小的单元存放数据的高字节
例如:[R0]=123456H,若(R0)=30H,则(30H)=12H, (31H)=34H, (32H)=56H
2.运算精度:单次定点运算精