NASM: Count how many bits in a 32 Bit number are set to 1.
Posted
by citronas
on Stack Overflow
See other posts from Stack Overflow
or by citronas
Published on 2010-05-28T18:19:59Z
Indexed on
2010/05/28
18:22 UTC
Read the original article
Hit count: 234
I have a 32 Bit number and want to count know how many bits are 1.
I'm thinking of this pseudocode:
mov eax, [number]
while(eax != 0)
{
div eax, 2
if(edx == 1)
{
ecx++;
}
shr eax, 1
}
Is there a more efficient way?
I'm using NASM on a x86 processor.
(I'm just beginning with assembler, so please do not tell me to use code from extern libraries, because I do not even know how to include them ;) )
(I just found http://stackoverflow.com/questions/109023/best-algorithm-to-count-the-number-of-set-bits-in-a-32-bit-integer which also contains my solution. There are other solutions posted, but unfortunatly I can't seem to figure out, how I would write them in assembler)
© Stack Overflow or respective owner