SORT PROCEDURE |
ENTRY |
DEC |
HL |
|
|
ADD |
HL,DE |
|
|
LD |
B,H |
|
|
LD |
C,L |
|
DO |
|
|
; Beginn der äußeren Schleife |
|
PUSH |
DE |
|
|
LD |
A,(DE) |
|
DO |
|
|
; Beginn der inneren Schleife |
|
LD |
H,D |
|
|
LD |
L,E |
|
|
INC |
HL |
|
|
CP |
(HL) |
|
IF NC THEN |
|
|
|
IF NZ THEN |
|
|
; Werte eventuell vertauschen |
|
LD |
E,A |
|
|
LD |
A,(HL) |
|
|
LD |
(HL),E |
|
FI |
|
|
|
FI |
|
|
|
|
LD |
D,H |
|
|
LD |
E,L |
|
|
OR |
A |
|
|
SBC |
HL,BC |
|
IF NC THEN |
|
|
|
EXIT |
|
|
; innere Schleife verlassen |
FI |
|
|
|
OD |
|
|
; Ende der inneren Schleife |
|
POP |
DE |
|
|
LD |
(DE),A |
|
|
INC |
DE |
|
|
LD |
H,D |
|
|
LD |
L,E |
|
|
SBC |
HL,BC |
|
IF NC THEN |
|
|
|
RET |
|
|
; Prozedur verlassen |
FI |
|
|
|
OD |
|
|
; Ende der äußeren Schleife |
|
END SORT |
|