[疑难问答] 请问CLZ用在什么地方呢?

[复制链接]
 楼主| 会飞の鱼 发表于 2015-12-12 14:18 | 显示全部楼层 |阅读模式
在ucos iii中有CLZ,该指令介绍如下

前导零计数指令 功能:CLZ(Count Leading Zeros)指令对Rm中值的高位(leading zeros)个数进行计数,结果放到Rd中。若源寄存器全为0,则结果为32。若[31]为1,则结果为0。

请问CLZ用在什么地方呢?
CallReceiver 发表于 2015-12-12 15:13 | 显示全部楼层
这一块不是很了解诶    楼主  帮你顶一个   再看看别人的意见吧  顶一个
bbapple 发表于 2015-12-12 18:18 | 显示全部楼层
usb_sbuf[3] = __clz(__rbit(~KEYvalue[0])) + 0x31;                // 取出按键号并转成ASCII码
把PA0到PA7转成ASCII的 0X31到0X83。
毁灭2012 发表于 2015-12-12 18:34 | 显示全部楼层
我想可以用于浮点运算,可用于规格化浮点数。。
boy1990 发表于 2015-12-12 23:52 | 显示全部楼层
不需要从最低位开始,循环查找是不是很快啊
毁灭2012 发表于 2015-12-13 00:00 | 显示全部楼层
CLZ可以加速位图算法啊
 楼主| 会飞の鱼 发表于 2015-12-13 10:27 | 显示全部楼层
CallReceiver 发表于 2015-12-12 15:13
这一块不是很了解诶    楼主  帮你顶一个   再看看别人的意见吧  顶一个 ...

好的,谢啦:lol 我觉得这个问题还是满棘手的
 楼主| 会飞の鱼 发表于 2015-12-13 10:28 | 显示全部楼层
bbapple 发表于 2015-12-12 18:18
usb_sbuf[3] = __clz(__rbit(~KEYvalue[0])) + 0x31;                // 取出按键号并转成ASCII码
把PA0到P ...

为什么要这样处理啊,可以给个解释吗?:lol
 楼主| 会飞の鱼 发表于 2015-12-13 10:29 | 显示全部楼层
毁灭2012 发表于 2015-12-12 18:34
我想可以用于浮点运算,可用于规格化浮点数。。

可以具体说说吗,这个问题现在都还没弄明白。。
 楼主| 会飞の鱼 发表于 2015-12-13 10:29 | 显示全部楼层
boy1990 发表于 2015-12-12 23:52
不需要从最低位开始,循环查找是不是很快啊

我也不知道啊,我试试看吧
 楼主| 会飞の鱼 发表于 2015-12-13 10:30 | 显示全部楼层
毁灭2012 发表于 2015-12-13 00:00
CLZ可以加速位图算法啊

我不是做算法的,这个还不知道呢 :D
bbapple 发表于 2015-12-13 17:10 | 显示全部楼层
会飞の鱼 发表于 2015-12-13 10:28
为什么要这样处理啊,可以给个解释吗?

转码让计算机可识别啊
handleMessage 发表于 2015-12-13 17:19 | 显示全部楼层
看看,还没用过CLZ指令啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

29

主题

185

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部