title FidoTerm bits-in-a-byte counter
include mc.ash
.model small
;
;	T. Jennings 29 Nov 91
;
;int bits_in_byte(c)
;char c;
;
;Count the number of "1" bits in the passed
;byte. Quickly.
;
.code
func _bits_in_byte
	mov	bx,arg0		;BL == byte
	xor	ax,ax		;the bit count

	add	bl,bl		;MSB -> carry
	adc	ax,0		;add to AX	

	add	bl,bl		;MSB -> carry
	adc	ax,0		;add to AX	

	add	bl,bl		;MSB -> carry
	adc	ax,0		;add to AX	

	add	bl,bl		;MSB -> carry
	adc	ax,0		;add to AX	

	add	bl,bl		;MSB -> carry
	adc	ax,0		;add to AX	

	add	bl,bl		;MSB -> carry
	adc	ax,0		;add to AX	

	add	bl,bl		;MSB -> carry
	adc	ax,0		;add to AX	

	add	bl,bl		;MSB -> carry
	adc	ax,0		;add to AX	
endf _bits_in_byte

	end

