ARM base instruction -- cls

Count Leading Sign bits counts the number of leading bits of the source register that have the same value as the most significant bit of the register, and writes the result to the destination register. This count does not include the most significant bit of the source register.

计数前导符号位对源寄存器中与寄存器最高有效位具有相同值的前导位数进行计数,并将结果写入目标寄存器。此计数不包括源寄存器的最高有效位。

32-bit variant

Applies when sf == 0.

CLS <Wd>, <Wn>

64-bit variant

Applies when sf == 1.

CLS <Xd>, <Xn>

Decode for all variants of this encoding

integer d = UInt(Rd);

integer n = UInt(Rn);

integer datasize = if sf == '1' then 64 else 32;

Operation

integer result;

bits(datasize) operand1 = Xn;

result = CountLeadingSignBits(operand1);

Xd = result<datasize-1:0>;

integer CountLeadingSignBits(bits(N) x)

return CountLeadingZeroBits(x<N-1:1> EOR x<N-2:0>);

integer CountLeadingZeroBits(bits(N) x)

return N - (HighestSetBit(x) + 1);

integer HighestSetBit(bits(N) x)

for i = N-1 downto 0

if x<i> == '1' then return i;

return -1;

相关推荐
是星辰吖~14 小时前
x86反汇编_深度学习_单链表
汇编
是星辰吖~16 小时前
x86反汇编_深度学习_链表OJ题反汇编
汇编
乾复道1 天前
k8s使用说明
汇编·程序人生
技术不好的崎鸣同学1 天前
x64汇编之堆栈工作原理理论篇(继上篇内容讲解)
汇编
是星辰吖~1 天前
X86汇编:复杂逻辑判断_针对性扫盲
汇编
技术不好的崎鸣同学2 天前
x64汇编之用调试器进行程序分析:GDB
汇编
是星辰吖~2 天前
X86反汇编_深度学习:从 C 指针到汇编逻辑
汇编
iCxhust2 天前
c#多串口重量采集上位机程序
开发语言·汇编·c#·微机原理·8088单板机
AI科技星2 天前
万有引力G与真空介电常数ε0全维度完整关系式汇编(基于v=c螺旋时空理论)
c语言·开发语言·前端·javascript·网络·汇编·electron
技术不好的崎鸣同学3 天前
x64汇编之GDB进阶与printf
汇编