Jump to content
Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Programming:Square Root: Difference between revisions

From CPCWiki - THE Amstrad CPC encyclopedia!
CPCLER (talk | contribs)
No edit summary
 
CPCLER (talk | contribs)
No edit summary
 
Line 26: Line 26:
ret
ret
</pre>
</pre>
[[Category:Programming]]

Latest revision as of 13:34, 10 March 2007

Square Root of 16bit value by Ricardo Bittencourt

;Square root of 16-bit value
;In:  HL = value
;Out:  D = result (rounded down)

.Sqr16	ld de,#0040
	ld a,l
	ld l,h
	ld h,d
	or a
	ld b,8
.Sqr16_Loop
	sbc hl,de
	jr nc,Sqr16_Skip
	add hl,de
.Sqr16_Skip
	ccf
	rl d
	add a,a
	adc hl,hl
	add a,a
	adc hl,hl
	djnz Sqr16_Loop
	ret