完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嗨,我已经是MBLab 8.92和C30(我有购买的许可证)的长期用户了。现在我开始使用一个DSPIC33EP64GS506,我已经迁移到MPLabX和XC16。现在,我看到我在新的处理器上执行代码的时间比以前在OLDER PROCESSORS上更长了!所以我看了拆卸清单,有效地XC16拆卸更长的时间…还要多长时间?看一看附上的图片…左边是使用XC16的代码…27行ASM代码用于执行这两行代码:data_bus[41]=u builtin_sac(结果,-8);data_bus[0]=data_bus[41]-ref_1;右侧是在较老的处理器上使用C30的反汇编代码……C指令是相同的…但是ASM只有7!!!!这与优化有关系吗?还是我使用XC16的免费版本?救命!!!!!
|
|
相关推荐
6个回答
|
|
赞成还是免费模式?优化水平?
|
|
|
|
它使用长指针-DSRPAG,DSWPAG。在这个小处理器上没用。必须在某处设置一个使用短指针的设置。
|
|
|
|
现在我正在使用编译器的免费版本,优化级别为0。在C30I中仍然有0优化。我试图获得XC16 Pro试用……看看有什么变化。
|
|
|
|
我假设记忆模型很小
|
|
|
|
因此,我进行了60天的PRO XC16试验,但仍然有问题。然后研究了我对xmemory和ymemory空间的声明。我有…_eds_int_.((space(x.),eds))data[100]={0};_eds_eds_int_.((space(ymemory,eds))coef[100]={0};这些声明不知何故产生了exte。nddASM反汇编行。如果我将它们改为:int data[100]u.((space(x.),eds))={0};int coef[100]_.((space(ymemory,eds))={0};我会得到很好的简化ASM……抱歉给您带来不便!如果有人能给我解释一下两者之间的区别是什么,我将非常感激!谢谢您!
|
|
|
|
“Iy-EdssItIyAtEthiTyx((空间(y存储器),EDS))COEF〔100〕={ 0 };这些声明不知何故生成扩展的ASM反汇编线。“不知何故。是一个大指针,不知道为什么C30不会做同样的事情。
|
|
|
|
只有小组成员才能发言,加入小组>>
5243 浏览 9 评论
2035 浏览 8 评论
1955 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3208 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2258 浏览 5 评论
779浏览 1评论
672浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
598浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
680浏览 0评论
578浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 16:28 , Processed in 1.557355 second(s), Total 87, Slave 70 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号