《中颖MCU专用8-32位混合运算》定点运算程序库

[复制链接]
6854|24
 楼主| Cortex-M0 发表于 2012-10-28 15:42 | 显示全部楼层
使用时只需在C程序中,插入头本件 global.h 。
并且在编译中外挂《中颖专用乘除库》----MATH_SH88F51.LIB,其他什么事都不用干!
在编译过程中实现自动替换如下原C51库函数,无缝嵌入。
extern uint16   imul(uint16 value1,uint16 value2);          // 16位*16位-->16位(无符号二进制乘法)   
extern uint16  uidiv(uint32 value1,uint16 value2);       // 16位/16位-->16位(无符号二进制除法)   
extern uint32   lmul(uint32 value1,uint32 value2);          // 32位*32位-->32位(无符号二进制乘法)   
extern uint32  uldiv(uint32 value1,uint32 value2);       // 32位/32位-->32位(无符号二进制除法)   
extern float   fpmul(float value1, float value2);           // 二进制浮点数快速乘法  
extern float   fpdiv(float value1, float value2);           // 二进制浮点数快速除法  

友情提示
本《中颖专用乘除库》,仅适用于中颖SH79/88/89系列单片机,其他51单片机并不适用,由于Keil C51不支持中颖51单片机的软件仿真,所以必须要用中颖51单片机的硬件仿真或依靠中颖51单片机的实时运行,运算结果才能正确。
jiahuasz 发表于 2012-10-29 10:26 | 显示全部楼层
谢谢楼主分享,我已经下载出来了。
liuhongyu_2408 发表于 2012-10-29 10:43 | 显示全部楼层
21# Cortex-M0


如果不用库,直接用您给出的汇编代码,你给出了乘法、除法、快速返回,三段,实际用的时候我就是把你给的汇编直接填进去编译,调用的时候直接调。
那么我是该怎么做呢....
 楼主| Cortex-M0 发表于 2012-10-29 13:18 | 显示全部楼层
这个需要一定的混合编程经验,不是一句二句说的清滴。

还有一个简单的方法,将C程序中,插入头文件 global.h 。
并且在编译中加入《中颖专用乘除库》中你所用到的函数----乘法、除法、快速返回等汇编源程序,不外挂MATH_SH88F51.LIB,也行!

其结果和外挂库一样!
phones 发表于 2013-1-5 10:04 | 显示全部楼层
能否给出rom空间占用?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部