8051子程序(四) MCS-51单片机实用子程序库(四) MCS-51单片机实用子程序库 (二) MCS-51 浮点运算子程序库及其使用说明 本浮点子程序库有三个不同层次的版本,以便适应不同的应用场合: 1.小型库(FQ51A.ASM):只包含浮点加、减、乘、除子程序。 2.中型库(FQ51B.ASM):在小型库的基础上再增加绝对值、倒数、比较、平方、开平 方、数制转换等子程序。 3.大型库(FQ51.ASM):包含本说明书中的全部子程序。 为便于读者使用本程序库,先将有关约定说明如下: 1.双字节定点操作数:用[R0]或[R1]来表示存放在由R0或R1指示的连续单元中的数据 ,地址小的单元存放高字节。如果[R0]=1234H,若(R0)=30H,则(30H)=12H,(31H)=34H 。 2.二进制浮点操作数:用三个字节表示,第一个字节的最高位为数符,其余七位为阶 码(补码形式),第二字节为尾数的高字节,第三字节为尾数的低字节,尾数用双字节 纯小数(原码)来表示。当尾数的最高位为1时,便称为规格化浮点数,简称操作数。 在程序说明中,也用[R0]或[R1]来表示R0或R1指示的浮点操作数,例如:当[R0]=- 6.000时,则二进制浮点数表示为83C000H。若(R0)=30H,则(30H)=83H,(31H)=0C0H,(32 H)=00H。 3.十进制浮点操作数:用三个字节表示,第一个字节的最高位为数符,其余七位为阶 码(二进制补码形式),第二字节为尾数的高字节,第三字节为尾数的低字节,尾数用 双字节BCD码纯小数(原码)来表示。当十进制数的绝对值大于1时,阶码就等于整 数部分的位数,如 876.5 的阶码是03H,-876.5 的阶码是 83H;当十进制数的绝对值小于1时,阶码就等于 80H 减去小数点后面零的个数,例如 ……