- 打卡等级:以坛为家I
- 打卡总天数:312
- 最近打卡:2025-03-11 13:20:13
荣誉版主
- 积分
- 5395
|
发表于 2023-1-10 12:17:52
|
显示全部楼层
尽管程序我都用汇编作了优化, 但代码还是偏长, 这个我暂时没办法做到, 原因是由于 STC8 硬件设计的关系, 把MDU16所有的指令寄存器,
都放在了片外 RAM中, 而 51的片外寻址功能(DPTR)很弱, 大量的数据 , 必须 由 片内 R0-R7寄存器 送到 MDU16 所属的片外RAM 地址中,
计算好后, 再从 MDU16(片外RAM) 中 读入 片内 R0-R7寄存器 , 可想而知, 这个效率.......
当然, 这一现像在 STC32上, 是不存在的( 数据通过 DMA 自动装载 和返回 R0-R7中)
我已对 宏晶提过建议, 详见: 对STC8H硬件MDU16所用寄存器的建议
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=371&extra=page%3D1
|
|