发新帖我要提问
12
返回列表
打印

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

[复制链接]
楼主: Cortex-M0
手机看帖
扫描二维码
随时随地手机跟帖
21
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单片机的实时运行,运算结果才能正确。

使用特权

评论回复
22
jiahuasz| | 2012-10-29 10:26 | 只看该作者
谢谢楼主分享,我已经下载出来了。

使用特权

评论回复
23
liuhongyu_2408| | 2012-10-29 10:43 | 只看该作者
21# Cortex-M0


如果不用库,直接用您给出的汇编代码,你给出了乘法、除法、快速返回,三段,实际用的时候我就是把你给的汇编直接填进去编译,调用的时候直接调。
那么我是该怎么做呢....

使用特权

评论回复
24
Cortex-M0|  楼主 | 2012-10-29 13:18 | 只看该作者
这个需要一定的混合编程经验,不是一句二句说的清滴。

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

其结果和外挂库一样!

使用特权

评论回复
25
phones| | 2013-1-5 10:04 | 只看该作者
能否给出rom空间占用?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则