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

2020-02-09 11: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位机只要一条指令就完成,是不是还有其它更快方法?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
wangqh1983
1楼-- · 2020-02-09 13:04
 精彩回答 2  元偷偷看……
liuhui
2楼-- · 2020-02-09 13:09
呵呵,我有个地方有1000多次循环,要用到两次swap, 如果多出四条语句,就等于多运行2000多次,还是很可观的,主程序我是用C写的,关键地方我嵌入了汇编
wangqh1983
3楼-- · 2020-02-09 16:26
回复【2楼】liuhui
-----------------------------------------------------------------------

1000多次循环,干嘛啊,不是延时吧。哈哈,我只在eeprom,和自编程时用到表读表写指令用到了。以及分配RPx引脚功能时用到了行内汇编。
wangqh1983
4楼-- · 2020-02-09 21:16
回复【楼主位】liuhui
-----------------------------------------------------------------------

你所做的是唯一方法;

(原文件名:2010-8-30 16-29-01.png)
指令集中没有其他可以用的。
liuhui
5楼-- · 2020-02-09 23:10
我用在实时加密算法当中,如果开销太大的话根本就用不了,所以对指令有比较高的要求,不能有太多的无用语句,不过还是要谢谢你。

一周热门 更多>