LAOXU
发表于 2024-3-17 17:49:43
这是 C251所带的 标准库函数 存储器拷贝函数 memcpy,精练多了, 高效.
memcpy_251:
PUSH R15
MOV DR8,DR0
SJMP memcpy_251_2
memcpy_251_1:
MOV R15,@DR4
MOV @DR8,R15
INC WR6,#0x01
INC WR10,#0x01
memcpy_251_2:
MOV WR30,@DR60-4
MOV WR28,WR30
DEC WR28,#0x01
MOV @DR60-4,WR28
ORL WR30,WR30
JNE memcpy_251_1
MOV DR4,DR0
POP R15
RET
LAOXU
发表于 2024-3-17 17:58:04
这是 我移植 改写的 C251所带的 标准库函数 存储器拷贝函数 memcpy,
今后用于 C51环境下, 使用251 binary模式 运行的程序, 精练高效, 完胜原51 拷贝函数 memcpy.
用于 STC8051H 在 KEIL C51 环境下, 8位机.
memcpy_51:
CJNE R5,#0xFE,$+5// PDATA --> XDATA
MOV R5,#0x01 // R0R4R5 --> DR56
MOV DPXL,R5
MOV DPH,R4
MOV DPL,R0
CJNE R3,#0xFE,$+5// PDATA --> XDATA
MOV R3,#0x01 // R1R2R3
XCH A,R1 // R1 <--> R3
XCH A,R3
XCH A,R1
ORL WR6,WR6
JE memcpy_51_2
memcpy_51_1:
MOV R11,@DR0
MOV @DR56,R11
INC DR56,#0x01
INC WR2,#0x01
DEC WR6,#0x01
ORL WR6,WR6
JNE memcpy_51_1
memcpy_51_2:
MOV WR2,WR4
MOV A,R0
MOV R1,A
RET
神农鼎
发表于 2024-3-17 18:01:07
后续方向 车规【STC32 +DPU32/DSP】+ CAN-FD
===兼顾 兼容 Keil C51/SDCC/IAR C++ for 51 编译器
===这样 STC 51 的老兄弟们都有强大的 【外设+DSP】可用
===这样老兄弟们一不小心安装了 Keil C251, 老兄弟们就
很无辜的进入了 【STC32+DPU32】 的康庄大道
车规 AEC-Q100 Grade1 认证 !STC32G12K128 已通过,-40度 ~ +125度 - 电源/复位/省电模式/外部晶振/内部时钟/对外时钟输出/PLL-144MHz时钟 - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)
车规 AEC-Q100 Grade1 (-40度 ~ +125度)
测试通过,2024/3/13
神农鼎
发表于 2024-3-17 18:09:04
大家不在乎成本的直接上 STC32, 车规
https://www.stcaimcu.com/data/ad/stc-select.html
LAOXU
发表于 2024-3-18 05:22:18
后续方向 车规【STC32 +DPU32/DSP】+ CAN-FD
作为车规应用, 最主要的是要带 CAN, 有时速度不是最主要的(除了主控 CPU, 发动机控制中心等少量应用).
比如车胎胎压检测, 低能耗, 需数秒中唤醒一次CPU, 检测胎压,CAN通过无线方式传送给主机.
DSP 指令要高速, 否则 速度低了意义不大(对比 PK 软件模拟计算速度).
DPU32 的作用, 是尽量 补全 STC32中 效率低的 乘,除,移位 三大类 32位/64位指令
tzz1983
发表于 2024-3-26 15:54:11
长官走得太快,我要跟不上啦
pursuing
发表于 2024-3-27 20:39:35
永远的51,永无止境啊!{:4_174:}
xxxevery
发表于 2024-4-9 16:17:35
stc51现在功能越来越强大了,要多想想怎么应用了
21cnsound
发表于 2024-4-16 10:32:29
期待STC8051H,期待发布后上架积分商城
ldc521
发表于 2024-4-16 14:05:52
什么时候能用上C99,STC就跟上潮流了,不然很多编程思维和方式都不适用于STC的单片机,更别说GNU了