title Routine zum BUBBLE SORT fuer CP/M name ('BUBBLE') maclib base80 ; File : BUBBLE.MAC ; ===== Externe Referenzen ==== ext curline,swap,cmpidx ext ptr.1,ptr.2 entry BUBBLE ; Sortieren der Elemente ; Routine fuehrt den Bubble Sort Algorithmus aus ; basierend auf einem Artikel in MC 1'81 ; BUBBLE: ld hl,2 ld (ptr.1),hl ; Schleife 1 setzen next.1: ld hl,(curline) ld (ptr.2),hl ; .. und Schleife 2 next.2: ld hl,(ptr.2) dec hl call cmpidx ; Vergleich jr nc,skip ld hl,(ptr.2) ld e,l ld d,h dec de call swap ; Elemente austauschen skip: ld hl,(ptr.2) dec hl ld (ptr.2),hl ld de,(ptr.1) or a sbc hl,de ; Test Schleife fertig jr nc,next.2 ld hl,(ptr.1) inc hl ld (ptr.1),hl ld de,(curline) or a sbc hl,de ; Test ob alles fertig jr c,next.1 ret end