找回密码
 立即注册
楼主: LAOXU

32位加减乘除,STC8位机上的MDU32C 实测!库函数,STC8H2K32U-45MHz

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5395

积分

荣誉版主

积分
5395
发表于 2024-5-15 16:53:57 | 显示全部楼层
xxkj*** 发表于 2024-5-15 09:40
是不是直接赋值给MDU32C寄存器,就可以直接从MDU32C寄存器中读取结果?

不用, 只要在项目中加入 STC8_MDU32C_LIB_V1.LIB 库, 其他什么都不用管, 该干哈就干啥, 全自动傻瓜式提速。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5395

积分

荣誉版主

积分
5395
发表于 2024-5-15 16:54:26 | 显示全部楼层
jm*** 发表于 2024-5-15 10:34
> "6. Add 32-bit exchange instructions (R0R1R2R3R4R5R6R7). "

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5395

积分

荣誉版主

积分
5395
发表于 2024-5-15 16:59:50 | 显示全部楼层
最新 STC8_MDU32C_V1.lib 来了~~~~~

STC8H_MDU32C_V1 LIB 库使用说明:
STC8H系列单片机 C51定点库 自动调用专用运算库函数,

插入使用了 STC8H系列的特色----MDU32C硬件乘除移位指令。
并且针对 STC8H系列集成了 32位x32位硬件乘法器32位/32位硬件除法器32位硬件移位单元作了特别优化。
增加了对所有关联到的无符号、有符号int型,无符号、有符号long型float型变量的算术运算,移位操作,
均作了运算速度大幅度提升,为方便使用,以外挂库形式加入,实行对C51内库自动替换,无缝嵌入,

其中最具有特色的是
单精度浮点数加/减/乘/除四则运算,用 STC8H系列的 MDU32C硬件 乘除移位指令,
代替原Keil C51的加减法模拟除法程序,
大幅度地提升了原 51单精度浮点数加/减/乘/除 四则运算特慢的通病。


单独 LIB 文件:
STC8_MDU32C.LIB (12.44 KB, 下载次数: 286)

LIB源代码:
STC8_MDU32C_LIB_V1.rar (74.33 KB, 下载次数: 307)

1 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5395

积分

荣誉版主

积分
5395
发表于 2024-5-15 17:02:16 | 显示全部楼层
库内部包含(优化)了 16个库函数:


捕获q头.JPG

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-03-14 15:41:37
已绑定手机

18

主题

25

回帖

162

积分

注册会员

积分
162
发表于 2024-5-15 17:04:43 | 显示全部楼层
支持楼主,学习了!谢谢
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:520
  • 最近打卡:2025-05-01 08:06:21

109

主题

1897

回帖

5204

积分

论坛元老

积分
5204
发表于 2024-5-16 13:21:52 | 显示全部楼层
LAO*** 发表于 2024-5-15 16:53
不用, 只要在项目中加入 STC8_MDU32C_LIB_V1.LIB 库, 其他什么都不用管, 该干哈就干啥, 全自动傻瓜式提 ...

有没有纯代码的,不要用lib库的?毕竟寄存器又不多。

点评

那自已在库源代码中, 找出相应的源码挂在项目中即可  详情 回复 发表于 2024-5-17 02:02
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15609
发表于 2024-5-16 18:20:11 | 显示全部楼层
MDU32CSTC8H2K32U-45MHz-LQFP32, TSSOP28, TSSOP20 上量产
MDU16  STC8H2K08U-45MHz-TSSOP20/SOP16上量产,大量现货供应中
MDU16  STC8H2K12U 2CDC+HID-TSSOP20/SOP16上量产,大量现货供应中
MDU16  STC8H2K17U-45MHz-TSSOP20/SOP16上量产,大量现货供应中
这个系列的 MDU16 会在 MDU32C 基础上升级到 MDU32D

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15609
发表于 2024-5-16 18:20:11 | 显示全部楼层

MDU32D

MDU32CSTC8H2K32U-45MHz-LQFP32, TSSOP28, TSSOP20 上量产
MDU16  STC8H2K08U-45MHz-TSSOP20/SOP16上量产,大量现货供应中
MDU16  STC8H2K12U 2CDC+HID-TSSOP20/SOP16上量产,大量现货供应中
MDU16  STC8H2K17U-45MHz-TSSOP20/SOP16上量产,大量现货供应中
这个系列的 MDU16 会在 MDU32C 基础上升级到 MDU32D

深圳国芯人工智能有限公司-产品_STC8H系列 (stcai.com)

截图202405161821012432.jpg

截图202405161821278759.jpg

截图202405161826303183.jpg

截图202405161823043513.jpg

截图202405161828287584.jpg
截图202405161828526251.jpg

截图202405161829408806.jpg

截图202405161830266807.jpg

截图202405161831205578.jpg

截图202405161832579591.jpg
截图202405161833316774.jpg

截图202405161834095675.jpg
截图202405161834552462.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5395

积分

荣誉版主

积分
5395
发表于 2024-5-17 02:02:55 | 显示全部楼层
xxkj*** 发表于 2024-5-16 13:21
有没有纯代码的,不要用lib库的?毕竟寄存器又不多。

那自已在库源代码中,  找出相应的源码挂在项目中即可
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5395

积分

荣誉版主

积分
5395
发表于 2024-5-17 03:39:03 | 显示全部楼层
非常不错, 把 DPU32 的一些基本指令移植上去了, 补充了传统 51的 16位运算功能不足之短处, 赞一个!


由于浮点数存储格式不同, Keil 是 R0-R3 和 R4-R7; SDCC 是 R0,R2-R4 和 R1,R5-R7; 而 IAR 又是 R2-R5; 每家都不相同, 这标准格式没法统一, 考虑到通用性, 数据变换少不了.
数据变换中, 这条指令作用很大.
1) 32位循环右移(或左移), 由于数据是循环的, 加一条即可.
    可省去好多代码.
在格式变换中, 这条指令作用很大.
1) 32位比较指令(即做减法结果不回传).
    在浮点数加/减法中, 对阶码的判断, 这条指令作用很大.


    由于 32位加/减法, 进位标志已同步到 PSW中, 可省去运算过程中的 5条左右指令,
非常适合在浮点数中使用.
因此, 下列 DPU32 指令强烈建议加上.
2) SWAP 交换指令, R0-R3 和 R4-R7 内容互换.
    和减法指令配合, 用于浮点数减法, R0-R3 减 R4-R7.
3) 32位 加1 指令,
    用于浮点数 4舍5入.
这样, 能再次提升 浮点运算库的 运算速度。
     


下列指令请均情考虑:
3) 32位 减1 (和 加1 对称)
4) 32位 求负数
5) 32位 清0 (清 R0-R3 优先)

回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-1 19:25 , Processed in 0.134554 second(s), 106 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表