qiangqiang 发表于 2017-6-25 18:01:43

CSR8675指令ONEBITCOUNT请教

请问这个指令是啥意思?没看懂
还有TWOBITCOUNT,谢谢

Andy_Bao 发表于 2017-6-26 01:32:01

这个是 Kalimba DSP 的汇编,在 8670 8675 上都是一样的。
提问题 要描述准确。:lol

qiangqiang 发表于 2017-6-26 09:25:24

Andy_Bao 发表于 2017-6-26 01:32
这个是 Kalimba DSP 的汇编,在 8670 8675 上都是一样的。
提问题 要描述准确。

嗯,是Kalimba的assembler指令,是咋得到的结果啊?给的示例,没看懂;0x123456,ONEBITCOUNT的结果是9,TWOBITCOUNT结果是12.
谢谢你

pkuzhx 发表于 2017-6-26 13:48:21

我猜啊,onebit就是二进制有多少个bit是1,twobit就是有多少组11
如果按我的猜测,结果分别是9和2,但是跟你的9和12对不上

qiangqiang 发表于 2017-6-26 13:52:59

pkuzhx 发表于 2017-6-26 13:48
我猜啊,onebit就是二进制有多少个bit是1,twobit就是有多少组11
如果按我的猜测,结果分别是9和2,但是跟 ...

是不是这个指令用的少啊

qiangqiang 发表于 2017-6-26 13:55:11

pkuzhx 发表于 2017-6-26 13:48
我猜啊,onebit就是二进制有多少个bit是1,twobit就是有多少组11
如果按我的猜测,结果分别是9和2,但是跟 ...

是不是这个指令用的少啊?

pkuzhx 发表于 2017-6-26 13:58:05

qiangqiang 发表于 2017-6-26 13:52
是不是这个指令用的少啊

只写过一点CSR的汇编,这个指令没有用过。
是在哪个文件中出现的?

qiangqiang 发表于 2017-6-26 14:05:15

pkuzhx 发表于 2017-6-26 13:48
我猜啊,onebit就是二进制有多少个bit是1,twobit就是有多少组11
如果按我的猜测,结果分别是9和2,但是跟 ...

我猜:0x123456,为01,10,11,100,101,110,ONEBIT就是1个bit为单位,共9个为1的;
TWOBIT是以2个bit为一个单位:1为1,2为2,3为3,4为(01,00)1,5为(01,01)2,6为(01,10)为3,所以结果为12.

qiangqiang 发表于 2017-6-26 14:10:15

pkuzhx 发表于 2017-6-26 13:58
只写过一点CSR的汇编,这个指令没有用过。
是在哪个文件中出现的?

Kalimba Architecture 5 DSP User Guide
这个文档

pkuzhx 发表于 2017-6-26 14:40:50

onebit,把24bit数分为24个1bit数,然后把24个数相加。
twobit,分为12个2bit数,然后把这12个数相加。
当年我也看过这个文档,居然一点印象都没有,惭愧。不过这个指令也确实是少见,最起码目前在csr的例程中没有见过。
页: [1] 2
查看完整版本: CSR8675指令ONEBITCOUNT请教