搜索
bottom↓
回复: 5

请问DSPIC 指令中有类似PIC 8位机的swapf指令吗?

[复制链接]

出0入0汤圆

发表于 2010-8-30 13:08:27 | 显示全部楼层 |阅读模式
我在DSPIC指令系统当中没有找到有类似的指令,只找到一个 SWAP, 只能在WREG中交换进行字和字节交换,
没有找到类似Microchip 8位指令中的swapf指令可以在寄存中交换,如能赐教,感激不尽。
dspic 当中把 x 高低半字节交换
mov x  w0
swaf.b  w0
mov w0 x
8 位机当中把 x 高低半字节交换
swapf x,f
这样16位机要三条指令,而8位机只要一条指令就完成,是不是还有其它更快方法?

出0入0汤圆

发表于 2010-8-30 14:01:32 | 显示全部楼层
回复【楼主位】liuhui
-----------------------------------------------------------------------

这单片机也玩汇编够狠。移植多麻烦啊,都16位了,而且内部有16*16位的乘法器。已经够快了。抠这么细有必要吗?

出0入0汤圆

 楼主| 发表于 2010-8-30 14:10:04 | 显示全部楼层
呵呵,我有个地方有1000多次循环,要用到两次swap, 如果多出四条语句,就等于多运行2000多次,还是很可观的,主程序我是用C写的,关键地方我嵌入了汇编

出0入0汤圆

发表于 2010-8-30 16:21:17 | 显示全部楼层
回复【2楼】liuhui
-----------------------------------------------------------------------

1000多次循环,干嘛啊,不是延时吧。哈哈,我只在eeprom,和自编程时用到表读表写指令用到了。以及分配RPx引脚功能时用到了行内汇编。

出0入0汤圆

发表于 2010-8-30 16:30:28 | 显示全部楼层
回复【楼主位】liuhui
-----------------------------------------------------------------------

你所做的是唯一方法;

(原文件名:2010-8-30 16-29-01.png)
指令集中没有其他可以用的。

出0入0汤圆

 楼主| 发表于 2010-8-30 22:00:18 | 显示全部楼层
我用在实时加密算法当中,如果开销太大的话根本就用不了,所以对指令有比较高的要求,不能有太多的无用语句,不过还是要谢谢你。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-8 16:47

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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