Changes

Programming:Bubble sort

465 bytes added, 20:13, 18 April 2011
added bubble sort
Does a bubble sort (ascending) on a memory range.

<pre>
;
; Usage: HL - address of table, C - number of bytes to sort
; call bubble
; Destroys: abcdefhlix
;
FLAG EQU 7

bubble ld (temp), hl
ld ix, (temp)
res FLAG, h
ld b, c
dec b

next ld a, (ix)
ld d, a
ld e, (ix + 1)
sub e
jr c, noswitch

xchange ld (ix), e
ld (ix + 1), d
set FLAG, h

noswitch inc ix
djnz next
bit FLAG, h
jr nz, again
ret

temp db 0
</pre>

[[Category:Programming]]
1,165
edits