Hardware Reference
In-Depth Information
3 A
IS
$0
4 size
IS
$1
5
Locale Register
6 return
IS
$2
7 i
linker Index
IS
$3
8
Nur VOR dem rekursiven Aufruf benotigen wir:
9 j
rechter index
IS
$4
10 k
IS
$5
11 l
linkes Element
IS
$6
12 r
rechtes Element
IS
$7
13 pivot
IS
$8
Pivot-Element (Partitionierung)
14 tmp
IS
$9
15
16
Einige lokale Register auch z. Abliefern von Return-Werten
17 retarg
fur aktuelle Return-Adresse
IS
$4
18 arg
Argument: Bereichsanfang
IS
$5
19 sizearg IS
Argument: Bereichsgroße
$6
20
21
Kleine Bereiche werden mit Insertion Sort sortiert.
22
Deren Große kann hier eingestellt werden.
23 cutoff
IS
10*8
24
25 :QSort
CMP
tmp,size,cutoff
26
Also Insertion Sort
BN
tmp,:ISort
27
28
Jetzt gehts endlich mit Quicksort los
29 4H
Return-Adresse sichern
GET
return,:rJ
30
31
Pivot bestimmen
32
Erstes, letztes und mittleres Element des Bereichs
33
SET
i,0
34
LDO
l,A,i
35
SUBU
j,size,8
36
LDO
r,A,j
37
mittleres Element
SR
k,size,1
38
LDO
pivot,A,k
39
40
Erstes, letztes und mittleres Element sortieren...
41
CMP
tmp,l,r
42
PBNP
tmp,1F
43
Search WWH ::




Custom Search