mirror of
https://github.com/pret/pokered.git
synced 2024-10-22 22:55:31 +00:00
bbf2f51a02
This results in 64 home/*.asm files, comparable to pokecrystal's 57.
24 lines
421 B
NASM
24 lines
421 B
NASM
; function to count how many bits are set in a string of bytes
|
|
; INPUT:
|
|
; hl = address of string of bytes
|
|
; b = length of string of bytes
|
|
; OUTPUT:
|
|
; [wNumSetBits] = number of set bits
|
|
CountSetBits::
|
|
ld c, 0
|
|
.loop
|
|
ld a, [hli]
|
|
ld e, a
|
|
ld d, 8
|
|
.innerLoop ; count how many bits are set in the current byte
|
|
srl e
|
|
ld a, 0
|
|
adc c
|
|
ld c, a
|
|
dec d
|
|
jr nz, .innerLoop
|
|
dec b
|
|
jr nz, .loop
|
|
ld a, c
|
|
ld [wNumSetBits], a
|
|
ret
|