找回密码
 立即注册
楼主: 乘风飞扬

STC32库函数20230318版更新

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

54

主题

1327

回帖

5395

积分

荣誉版主

积分
5395
发表于 2023-2-1 06:34:26 | 显示全部楼层
网上普遍反应, IAR C51 编译的代码质量 要优于 Keil C51.

让我想起了很久前看到的一篇贴子, 作者用一个也算比效规范的写法, 用宏定义了一个 常数指针作为 XDATA的地址.

IAR C51编译后, 直接用这常数, 对 DPTR赋值.

Keil C51编译后, 先用这常数对内部变量赋值, 再转换成指针, 最后才对 DPTR赋值.(其常数值始终未变), 代码如同上面的例子, 一大堆.

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

54

主题

1327

回帖

5395

积分

荣誉版主

积分
5395
发表于 2023-2-1 06:53:32 | 显示全部楼层
宏定义经人工优化后, 在 C251编译环境下, 效果好多了, 代码长度接近 汇编级, 我再看看, 是否还能再优化, 期望  代码长度达到 汇编级,

这是  C251正常编译结果:

未命名4.JPG
  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5395

积分

荣誉版主

积分
5395
发表于 2023-2-1 07:32:06 | 显示全部楼层
宏定义又做了进一步优化, 在 C251编译环境下, 已达到极限了, 红框内的代码, 因 C251 编译器问题, 无法去除(优化) .

这是  C251最终编译结果:


未命名5.JPG
  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5395

积分

荣誉版主

积分
5395
发表于 2023-2-1 07:37:08 | 显示全部楼层
这是测试代码, 能自动识别 C51编译器 和  C251编译器 , 编译出最优最短的执行代码.


TEST1.rar (34.69 KB, 下载次数: 182)

点评

赞!这么好的方法后续会收入到库函数例程包里。如果还有其他好的思路跟方法的话请多多提供。  发表于 2023-2-1 14:44
回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:416
  • 最近打卡:2025-04-30 07:00:00

12

主题

87

回帖

2272

积分

金牌会员

积分
2272
发表于 2023-2-1 11:29:07 | 显示全部楼层
必须给楼主点赞
  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-03-26 10:27:44

0

主题

14

回帖

140

积分

注册会员

积分
140
发表于 2023-2-2 11:24:10 | 显示全部楼层
不错不错,这个要支持

期待官方库更加完善
  • 打卡等级:偶尔看看III
  • 打卡总天数:37
  • 最近打卡:2025-05-01 08:57:59

19

主题

137

回帖

485

积分

中级会员

积分
485
发表于 2023-2-4 15:31:39 | 显示全部楼层
LAO*** 发表于 2023-2-1 06:34
网上普遍反应, IAR C51 编译的代码质量 要优于 Keil C51.

让我想起了很久前看到的一篇贴子, 作者用一个也 ...

IAR51好像边缘化了,上次应用的时候好像十年前了,后来用KEIL习惯了就忘记了还有IAR:lol
  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15613
发表于 2023-2-4 15:36:51 | 显示全部楼层
STC 1T 8051:
Keil/这个最实用;
IAR C++ for 8051/【C99, C++, 都是精华】;
SDCC/玩玩可以, 企业就不要玩这东西了

STC32G12K128 : Keil C251/绝对实用
  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15613
发表于 2023-2-4 15:38:13 | 显示全部楼层
  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5395

积分

荣誉版主

积分
5395
发表于 2023-2-4 20:24:15 | 显示全部楼层

推荐最新编写的 STC32G_MDU32 标准数学函数库,

函数库, 含以下库文件.

1. 浮点加减乘除法

2. 32位整数乘除法(快速)

2. 64位长整数加减乘除法

3. ABS求绝对值.



未命名1.JPG
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-5-2 06:37 , Processed in 0.132380 second(s), 112 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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