Programming:Logarithm

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search

Log of base 2

; input: hl (unsigned)
; output: a = log2(hl) (rounded down and from -1 to 15) (8-bit integer signed)
log2:
	ld	a, 16
	scf
log2loop:
	adc	hl, hl
	dec	a
	jr	nc, log2loop
	ret