Patentanspruch
1
Patentanspruch 2
Verfahren zum
stabilen Sortieren oder stabilen Anordnung zum Betrieb des Verfahrens nach Patent-
Suchen von
Datensätzen ohne diese
untereinander anspruch
1 , gekennzeichnet
durch folgende Vor-
vergleichen zu müssen, dadurch gekennzeichnet,dass richtungen:
die Datensätze in die kleinsten, direkt ansprech-
baren Zeichen zerlegt werden
und dass durch Zählen a) ein
Registersatz um daraus den Bearbeitungszu-
der Zeichen (5,Fig.2), in der
Reihenfolge, nach stand
eines Datensatzes zu erkennen (32,Fig.2) ;
welcher wünschenswert sortiert
oder gesucht werden
soll (8,Fig.2),
an denen Stellen,welche wünschens- b) ein
Registersatz um die Anzahl gleicher vor-
wert beim
Sortieren oder Suchen berücksichtigt kommender Zeichen der aktuell
bearbeitenden Stelle
werden sollen
(12,Fig.2) , vom ersten
bis zum aller zu sortierenden oder zu
suchenden Datensätze
letzten Datensatz, der zu
sortierenden oder zu zu zählen (5,Fig.2) ;
suchenden Datensätze, die
Startadresse Dieser be-
rechnet werden (6,Fig.2), an welcher das jeweilige c) ein Registersatz,in
welchen fortlaufend die be-
Zeichen in der Datenbank der
Sortierordnung ent- rechnete Adresse von
allen vorkommenden Zeichen
sprechend angesprochen werden
muss; der
aktuell betrachtenden Stelle aller
zu sor-
und dass in einer
Liste (33,Fig.2) , aufsteigend tierenden
oder zu suchenden Datensätze eingetragen
nummeriert, die der Sortierordnung entsprechende werden (6,Fig.2)
; und
Reihenfolge der Datensätze
eingetragen wird; und
dass in einer Liste eingetragen
wird (32,Fig.2),ob d) ein
Registersatz, in welchem die Reihenfolge
der Sortier- oder
Such- Vorgang für den jeweilig
der sortierten oder ausgewählten
Datensätze fest-
angesprochenen Datensatz abgeschlossen
ist. gehalten wird (33,Fig.2).
Unteransprüche Unteransprüche
1. Verfahren nach
Patentanspruch 1, dadurch ge- 5.
Anordnung nach Patentanspruch 2 , dadurch ge-
kennzeichnet,dass wenn ein Datensatz an einer oder kennzeichnet, dass für
jede zu sortierende oder
mehreren beliebig gewünschten Stelle(n) ,ein
oder beim Suchen zu berücksichtigende Stelle, eine be-
eine Auswahl beliebig gewünschte(s,r) Zeichen ent- liebige Folge
von Sortier- oder Such- kriterien
hält, dieser Datensatz für
weiteres Sortieren oder
zugewiesen werden kann (8,Fig.2).
Suchen gesperrt wird (10,Fig.2).
6. Anordnung nach Patentanspruch 2, zur Ausführung
2. Verfahren nach
Patentanspruch 1, dadurch ge- des
Verfahrens nach Unteranspruch 1, dadurch ge-
kennzeichnet
, dass ein bestimmtes
Zeichen (30, kennzeichnet,
dass für jede zu
sortierende oder
Fig.2) das Ende
eines Objekts kennzeichnet und beim
Suchen zu berücksichtigende Stelle, eine be-
dass beim Erkennen
von diesem Zeichen der ent- liebige
Folge von Sperrkriterien zugewiesen werden
sprechende Datensatz
für weiteres Sortieren oder
kann (10,Fig.2).
Suchen gesperrt wird.
7. Anordnung nach Patentanspruch 2 , dadurch ge-
3. Verfahren nach Patentanspruch
1, zur Ausführung kennzeichnet ,
dass die
Reihenfolge der zu be-
des Verfahrens nach
Unteranspruch 2, dadurch ge- arbeitenden Stellen beliebig gewählt
werden kann
kennzeichnet, dass wenn die Datensätze in mehrere (12,Fig.2).
Felder aufgeteilt sind (13,Fig.2) und beim Sor-
tieren
oder Suchen mindestens zwei Datensätze auf- 8. Anordnung nach
Patentanspruch 2 , dadurch ge-
treten, welche durch die Objektendemarkierung
be- kennzeichnet, dass in
einem Register die
Anzahl
grenzt, identisch sind,jedoch für diese Datensätze gefundener Datensätze eingetragen wird
(25,Fig.2).
noch Stellen zu
untersuchen sind, ausserhalb des
aktuellen Feldes, so wird in der Liste (32,Fig.2)
mit den Eintragungen über den Bearbeitungszustand
der entsprechenden Datensätze
vermerkt, dass diese
noch für weiteres Suchen oder Sortieren
betrachtet
werden müssen.
4. Verfahren nach
Patentanspruch 1, zur Ausführung
des Verfahrens
nach Unteranspruch 1 oder Unter-
anspruch
3, dadurch gekennzeichnet, dass bei einem
Suchvorgang die Anzahl
gefundener Datensätze aus
einem Register
gelesen werden können (25,Fig.2)
1
Anordnung zum Sortieren,
Suchen oder geordneten
Auswählen von
Datensätzen und Verfahren zum Be-
trieb dieser Anordnung.
Bei der Datenverarbeitung ist
es oft erforderlich, Der vorliegenden
Erfindung liegt die Aufgabe zu-
dass aus
einer Datenbank gespeichert
auf per- grunde,eine Anordnung und ein
Verfahren anzugeben,
ipheren
Speichern, z.B. optische oder
magnetische die es
erlauben, beliebige Daten, gespeichert
auf
Plattenspeicher,Datensätze die bestimmte Kriterien einem Speichermedium mit wahlfreiem
Zugriff, die
erfüllen, Diese nach bestimmten Kriterien zu sor-
Daten nach verschiedensten Kriterien
stabil zu
tieren
oder zu suchen. sortieren
oder stabil zu suchen, ohne dass Diese
untereinander oder mit
fremden Daten verglichen
Eine Datenbank kann beispielsweise Adressen
aller werden müssen.
in der Schweiz wohnhaften Personen enthalten. Die Das Sortieren oder Suchen erfolgt
durch Zählen von
Daten für
jede einzelne Person sind dabei
in je gleichen
, kleinsten direkt ansprechbaren
Zeichen
einem Datensatz in
definierter Reihenfolge zu-
aus Datensätzen und dem, anhand der Zählung, be-
sammengefasst.
Im genannten Beispiel enthält jeder
rechneten Eingliedern der Zeichen, unter berück-
Datensatz den Namen, den
Vornamen, die Strasse und sichtigung der Kriterien,welche
die Sortierordnung
den Wohnort. Die verschiedenen
Angaben wie Namen oder die
Auswahl beim Suchen
definieren. In der
oder Strasse werden hier
Objekte genannt. Wenn nun
vorliegenden Einrichtung werden
die zu sortier-
z.B die
Daten aller Personen
benötigt werden,
enden oder bei
einem Suchprozess ausgewählten
welche in Bern wohnen und
an zweiter Stelle
ihres Daten nicht
untereinander vertauscht um die ge-
Vornamens den Buchstaben A
enthalten und zum Nach- wünschte Ordnung zu erreichen, sondern es wird in
namen
Meier heissen, sollen alle Datensätze,welche
einer Liste, die der Ordnung entsprechenden Daten-
diese Kriterien erfüllen,in analphabetischer
Reih- satzadressen eingetragen.
Der Zugriff auf
die
enfolge
geordnet, bezogen auf den Vornamen,aus
der Datensätze erfolgt
mittels dem Verweis der Ein-
Datenbank ausgewählt
werden. träge
in der Liste. Die Datenbank bleibt also
un-
berührt und es können
mehrere solche Listen mit
Es könnte
auch Aufgabe sein , alle Datensätze unterschiedlicher Ordnung angelegt
werden.
alphabetisch zu sortieren. Oder
etwas schwieriger, Durch die sehr gute Effizienz beim Sortieren oder
die Datensätze analphabetisch zu
sortieren jedoch Suchen
von Daten auf
Peripheren Speichern mit
so , dass alle
mit 'F' beginnenden Datensätze, wahlfreiem Zugriff, eignet sich das Verfahren und
zuerst erscheinen. die
Einrichtung insbesondere um grosse Datenmengen
zu bearbeiten.
Die Erfindung vereinitgt mittels diesem Verfahren
Es sind schon Anordnungen und
Verfahren zur Lösung und dieser
Anordnung auch eine Lösung um damit
solcher Sortier- oder Such- probleme bekannt. Datensätze mit mehreren
Felder, nach nahezu be-
Beim Sortieren werden
dabei mit Hilfe bekannter liebig
vielen Kriterien, zu sortieren
oder zu
Sortieralgorithmen
, durch Vergleichen und Austau- suchen. Durch die richtige
Vorgabe der Kriterien,
schen
von Objekten nach einem ersten Kriterium die lassen sich auch vorzeichenbehaftete Zahlen sor-
Datensätze sortiert. Sind
weitere Arbeitsgänge er- tieren.
forderlich , werden dann aus
dieser Vorauswahl die
Datensätze nach
weiteren Kriterien geprüft und
wiederum durch
Vergleichen und Austauschen
in Im Folgenden wird die Erfindung anhand von Zeich-
die gewünschte Ordnung gebracht. nungen
beschrieben.
Beim dem
Suchen von Objekten werden
oftmals die
Objekte sortiert um danach eine
Auswahl zu tref-
fen.
Es gibt auch Verfahren
, welche mittels Ver-
gleichen von bestimmten Merkmalen der Datensätze,
direkt eine
Auswahl treffen
. Sollen aber die
ausgewählten Datensätze in
sortierter Reihenfolge
ausgewählt werden , so sind wiederum weitere Ar-
beitsgänge
notwendig.
2
Es zeigen:
Dateneinheit:
Eine Dateneinheit bezeichnet ein kleinstes, direkt
Fig.1 die schematische Uebersicht
einer Datenver- ansprechbares
Register einer Anordnung.Die Aussage
arbeitungsanlage,
in der die vorliegende Erfindung
einer Dateneinheit ist definiert durch ihr binäres
verwendung
finden kann ; Muster.
Eine Dateneinheit kann beliebig viele,
im
Minimum zwei Zustände haben.
Fig.2 ein Beispiel
der Verteilung von Register- In
der vorliegenden Anordnung wird
eine solche
sätzen
und Register in den Haupt- und
Peripherie- Dateneinheit Byte
genannt. Ein Byte wird üblicher-
Speicher, wie sie Ausgangslage
für die Beschrei- weise
definiert, durch 8-binäre Zustände. Die
An-
bung ist ;
zahl verschiedener binärer Zustände
einer solchen
Dateneinheit beträgt
somit die zweite Potenz von
Fig.3 eine Datenbank wie sie als Ausgangslage für '8' gleich '256'.
Beispiele verwendet wird ;
Zeichen:
Fig.4 eine Datenbank
entsprechend dem Ergebnis Jeder
beliebige Inhalt einer
Dateneinheit be-
eines Sortierbeispiels
;
schreibt ein Zeichen.
Fig.5 eine
Datenbank entsprechend dem
Ergebnis Kriterium:
eines Suchbeispiels
;
Ein Kriterium ist immer ein
beliebiger Inhalt ei-
ner Dateneinheit. Es
ist ein Zeichen, mit welchem
Fig.6 ein Verfahrensablaufplan
um die Arbeitsweise die
Sortierordnung oder die
Auswahl beim Suchen
der
Datenverarbeitungsanlage besser verstehen zu beeinflusst wird.
können.
Register:
Ein Register bezeichnet
einen Speicherplatz zur
Fig.1 zeigt eine
Datenverarbeitungsanlage mit ein-
Aufnahme von einer beliebigen Anzahl, jedoch min-
nem
Prozessor (Zentrale Verarbeitungseinheit=CPU) destens
einer Dateneinheit . Ein
Register wird
1,einem Hauptspeicher 2,eine
Speichersteuereinheit
mittels einem zugeordneten
Registernamen ange-
( mit welcher
der Zugriff und
der Datenfluss sprochen.
zwischen dem Prozessor und dem Peripheriespeicher
gesteuert wird
) 3 und einem peripheren
Speicher- Registersatz:
medium
4 mit wahlfreiem Zugriff. Ein Registersatz
ist bezeichnend für eine
be-
liebige Anzahl, jedoch mindestens einem Register.
Enthält ein Registersatz
mehrere Register
, so
Es ist notwendig um ein
gerechtes Erscheinungsbild sind
die Register mit '0' beginnend nummeriert.
der vorliegenden Erfindung
wiederzugeben, einige Alle
Register eines Registersatzes werden mit dem-
Begriffe zu erklären, welche bei der Formulierung selben Namen angesprochen.
der Erfindung verwendung finden. Werden mehrere
Registersätze mit demselben Namen
angesprochen,
so sind
die Registersätze mit '0'
Datenbank:
beginnend nummeriert.Um ein Register eines
solchen
Eine Datenbank beinhaltet
eine Aneinanderreihung
Registersatzes anzusprechen,wird
der Registersatz-
einer beliebigen Anzahl Datensätzen. name,
gefolgt von der Registersatznummer,
gefolgt
von der
Bezeichnung Register und der Register-
Datensatz:
nummer genannt.
Ein Datensatz besteht aus einer
beliebigen Anzahl,
jedoch mindestens einem
Datenfeld. Ein Suchen oder
Stelle:
Sortieren erfolgt
immer nach Datensätzen . Für Eine
Stelle bezeichnet eine
Position in einem
Datensatz wird oft die Abkürzung DS verwendet. Datensatz. Die Stelle
'0' ist die 1.Stelle und
deutet auf die
erste Dateneinheit eines Daten-
Datenfeld:
satzes.
Ein Datenfeld besteht aus einer
beliebigen Anzahl,
jedoch mindestens einer Dateneinheit. Der Eintrag
in ein Datenfeld wird als
Objekt bezeichnet.
Objekt:
Ein Objekt besteht aus
einer beliebigen Anzahl
Dateneinheiten. Die Bezeichnug des Objekts ist der
Name vom Datenfeld, in welches
das Objekt einge-
tragen wird.
3
Im Hauptspeicher , sowie
im Peripheriespeicher 7 Ein
oder mehrere Registersätze um darin Kri-
werden Register angelegt , deren Grössen wie sie terien
zu speichern. In jedes Register wird ein
in der vorliegenden Anordnung
verwendet werden, Kriterium eingetragen.
wie folgt definiert sind: Registergrösse D,
Bez.: FOLGE-REG-SATZ(Nr.0...)
Registergrösse
A (entspricht in der vorliegenden 8 Ein
Registersatz, in welchem für
jede Stelle
Anordnung 2 Byte) ; ist so bemessen,dass darin
die eines Datensatzes , welche beim
Sortieren oder
Nummer der letzten Stelle eines
Datensatzes einge- Suchen
betrachtet werden soll, ein Register zur
tragen werden kann. Verfügung gestellt wird in welches
die Adresse
eines Registersatzes eingetragen
werden kann ,
Registergrösse
B (entspricht in der vorliegenden dessen Register Kriterien zum Sortieren
oder Su-
Anordnung 4 Byte) ; ist so bemessen,dass darin
die chen
von Datensätzen enthält.
Nummer des letzten zu
bearbeitenden Datensatzes Registergrösse
C, Bezeichnung: SO-FOLGE-REG-SATZ
eingetragen werden kann.
9 Ein Registersatz, in welchem
für jede Stelle
Registergrösse
C (entspricht in der vorliegenden eines Datensatzes, welche beim
Sortieren oder Su-
Anordnung 4 Byte) ; ist so bemessen ,
dass darin chen betrachtet
werden soll, ein Register
zur
die Adresse eines
anderen Registers
eingetragen Verfügung gestellt wird in welches die Anzahl der
werden kann.
Kriterien betreffend der
zugewiesenen Sortier-
folge oder Suchfolge eingetragen werden kann.
Registergrösse
D (entspricht in der vorliegenden Registergrösse
D, Bez.: LEN-SO-FOLGE-REG-SATZ
Anordnung 1 Byte) ; ist so bemessen ,
dass darin
eine Dateneinheit eingetragen werden kann. 10 Ein Registersatz,in
welchem für jede Stelle ei-
nes Datensatzes, welche beim Sortieren oder
Suchen
betrachtet
werden soll, ein Register zur Verfügung
In der vorliegenden Datenverarbeitungsanlage
sind gestellt wird
in welches die Adresse eines Re-
die verwendeten Registersätze
verteilt aufzufinden gistersatzes
eingetragen werden kann, dessen
Re-
in dem Hauptspeicher 2 und dem
Peripheriespeicher gister Kriterien zum
Sperren von Datensätzen ent-
4. Andere Anordnungen, in welchen das vorliegende hält.
Verfahren, welches Teil der
vorliegenden Erfindung Registergrösse C,
Bezeichnung: SP-FOLGE-REG-SATZ
ist, angewendet wird, mögen
diese Registersätze
anders in
Hauptspeicher und Peripheriespeicher 11 Ein Registersatz,in
welchem für jede Stelle ei-
verteilen. Es ist jedoch nicht
ein Merkmal der Er- nes Datensatzes, welche beim Sortieren oder Suchen
findung
zu definieren , in welche Speicher
diese betrachtet werden
soll, ein Register zur Verfügung
Registersätze eingetragen
werden sollen. gestellt
wird in welches die Anzahl der Kriterien,
betreffend
der zugewiesenen Sperrfolge,eingetragen
werden kann.
In der vorliegenden Datenverarbeitungsanlage kann Registergrösse
D, Bez.: LEN-SP-FOLGE-REG-SATZ
der Prozessor 1 gemäss Fig.2, folgende im Haupt-
speicher
2 angelegten Registersätze ansprechen: 12 Ein Registersatz
aus welchem gelesen werden
kann,
in welcher Reihenfolge die Stellen eines Da-
5 Ein Registersatz
um Zeichen zu zählen
. Die tensatzes
für ein Sortieren oder Suchen betrachtet
Registernummer entspricht dem
Zeichen, von welchem werden
sollen. Jeder zu bearbeitenden Stelle
wird
die Anzahl in dieses Register
eingetragen wird.Für ein Register zur Verfügung gestellt.
jedes mögliche Zeichen, welches
bei einem Sortier- Registergrösse A,
Bezeichnung: ST-FOLGE-REG-SATZ
oder Such- prozess auftreten kann ,
wird ein Re-
gister
benötigt. 13
Ein Registersatz aus welchem gelesen werden
Registergrösse:
B, Bezeichnung: ANZ-REG-SATZ kann, welche Stelle eines Datensatzes
welchem Feld
angehört. Für jede Stelle eines Datensatzes welche
6 Ein Registersatz
um berechnete Adressen
von beim Sortieren
betrachtet werden soll, wird ein
Zeichen einzutragen. Die
Registernummer entspricht
Register zur Verfügung gestellt.
dem Zeichen, von welchem die
Adresse in dieses Re- Registergrösse A, Bezeichnung: ST-FELD-REG-SATZ
gister eingetragen
wird. Für jedes mögliche Zei- Z.B.
chen,welches bei einem Sortier- oder Such- prozess Im
folgenden Beispiel ist ersichtlich,
welche Re-
auftreten kann, wird ein
Register benötigt. gistereinträge für eine Feldeinteilung nötig sind.
Registergrösse
B, Bezeichnung: ADR-REG-SATZ
Datensatz: Hans
Meier Langstr. 59
ST-FELD-REGISTER-SATZ
00000111111122222222222
4
Die Stelle
ST-FELD-REGISTER '4'(5.Stelle) gehört 25 In
das Register ANZ-GEFUNDEN wird die Anzahl
zum 1.Feld des
Datensatzes. In diesem Beispiel gefundener Datensätze
eines Suchprozesses einge-
dem Vornamen. Die Stelle ST-FELD-REGISTER '5' (6. tragen.
Stelle) gehört
zum 2.Feld des
Datensatzes. In Registergrösse B
diesem Beispiel dem
Nachnamen. usw.
26 In das Register ADR-SO-KRITERIUM wird die
Adresse
von einem Register eingetragen.
In der vorliegenden Datenverarbeitungsanlage
kann Registergrösse
C
der Prozessor 1 gemäss
Fig.2, folgende im Haupt-
speicher
2 angelegten Register ansprechen: 27 In das Register ADR-SP-KRITERIUM wird die
Adresse von einem Register eingetragen.
14 In
das Register DS-ANZAHL
wird die Anzahl
Registergrösse C
Datensätze eingetragen
, welche für den Sortier-
oder Such- prozess
berücksichtigt werden.
28 In das Register ADR-AKT-KRITERIUM wird die
Registergrösse
B
Adresse von einem Register eingetragen.
Registergrösse C
15 In das Register ST-ANZAHL
wird die Anzahl beim
Sortieren oder beim Suchen berücksichtigter Stel- 29 Das
Register ZEICHEN-TEMP dient dem temporären
len
eingetragen. Registergrösse A Speichern eines
Zeichens.
Registergrösse D
16 In das Register ST-AKTUELL wird die Nummer der
aktuell bearbeitenden Stelle
eingetragen. 30 In das
Register OBJ-EM wird die Objektendemar-
Registergrösse
A
kierung eingetragen.
Registergrösse D
17 In das
Register ST-ZUVOR wird die Nummer
der
zuvor bearbeiteten Stelle
eingetragen.
Registergrösse
A
In der vorliegenden Datenverarbeitungsanlage sei
zum Zwecke der
Beschreibung angenommen, dass der
18 In das Register ST-ZAEHLER
wird die Anzahl der Peripheriespeicher 4 ein
Magnetplattenspeicher ist
bereits bearbeiteten Stellen eingetragen. und dass
der Prozessor 1 auf Diesem via
Steuer-
Registergrösse
A
einheit 3
folgende Registersätze gemäss Fig.2 an-
sprechen
kann:
19 Das Register A-TEMP dient dem temporären Auf-
bewahren von Daten. 31
Den Datenbank-Registersatz in
welchem die zu
Registergrösse
B
sortierenden oder zu suchenden Datensätze einge-
tragen sind. Die Anzahl Register
ist abhängig von
20 Das Register B-TEMP dient dem temporären Auf- Länge und Anzahl der Datensätze.
bewahren von Daten. Registergrösse D,
Bezeichnung: DB-REG-SATZ
Registergrösse
B
32
Ein Registersatz, in welchem der
Bearbeitungs-
21 Das Register C-TEMP dient dem temporären Auf- zustand eines Datensatzes festgehalten
wird. Die
bewahren von Daten. Anzahl
Register entspricht einem Register mehr als
Registergrösse
B
Datensäzte vorhanden sind.
Registergrösse D,
Bezeichnung: ZU-REG-SATZ
22 In das
Register SO-START wird die
Datensatz-
nummer
eingetragen, bei welcher ein Sortier-
oder 33 Ein Registersatz
in welchem eine Nummerierung
Such- vorgang
beginnt.
(Indexierung) der Datensätze
eingetragen werden
Registergrösse
B
kann . Die Anzahl Register, entspricht der Anzahl
Datensätze.Nachdem ein Sortier- oder Such- prozess
23 Das Register SO-START-TEMP
dient dem temporären
abgeschlossen ist, enthält dieser Registersatz bei
Aufbewahren einer
Datensatznummer.
'0' beginnend, die der Sortier- oder Such- ordnung
Registergrösse
B
entsprechende Nummerierung um damit die Datensätze
in der Datenbank anzusprechen.
24 In das Register SO-ENDE wird
eine binäre Infor- Registergrösse
C, Bezeichnung: Z1-REG-SATZ
mation,
mit welcher das Ende eines Sortier- oder
Such- Prozesses angezeigt wird,
eingetragen. 34 Ein Registersatz, welcher verwendet
wird um
Registergrösse
D
darin die Datensatznummern entsprechend der Sor-
tier- oder Such- ordnung einzutragen. Die Anzahl
Register entspricht der Anzahl Datensätze.
Registergrösse C, Bezeichnung: Z2-REG-SATZ
5
Die Uebertragung von
Daten zwischen dem Haupt-
In das Register ANZ-GEFUNDEN wird der Inhalt von
speicher
2 und dem Peripheriespeicher 4, wird in DS-ANZAHL eingetragen 107 .
vielen Installationen durch
den Prozessor 1 be-
wirkt. In dem hier beschriebenen Ausführungsbei- Solange der Inhalt vom Register
ST-ZAEHLER kleiner
spiel der Erfindung, ist
jedoch eine Speicher- ist
als der Inhalt vom Register ST-ANZAHL und der
steuereinheit
3 in Verbindung mit
dem Prozessor Inhalt
vom Register ENDE-SORT '0' ist, wird der
vorgesehen um die Datenübertragungen zu steuern. folgende Schritt BB ausgeführt 108 :
Daten für das System entstammen üblichen
Eingabe/ BB-Beginn
Ausgabe Geräten, zu
denen auch der in Fig.1 ge-
zeigte Peripheriespeicher 4 gehört. In das
Register ST-ZUVOR wird der Inhalt vom Re-
gister ST-AKTUELL eingetragen 109 .
Folgend werden alle Register aufgeführt, in wel-
chen vor
jedem Sortier- oder Such- Start, Defi- In das Register ST-AKTUELL wird der
Inhalt vom Re-
nitionen bezüglich
der gewünschten Sortier- oder
gister
ST-FOLGE-REG(Inhalt von ST-ZAEHLER) einge-
Such- ordnung
eingetragen sein müssen.
tragen 110 .
Es sind dies:
Ist der Inhalt vom Register ST-FELD-REG(Inhalt von
FOLGE-REG-SATZ 7,Fig.2; ST-AKTUELL ) ungleich
dem Inhalt vom
Register
SO-FOLGE-REG-SATZ 8,Fig.2; ST-FELD-REG(Inhalt
von ST-ZUVOR), so wird der fol-
LEN-SO-FOLGE-REG-SATZ 9,Fig.2; gende
Schritt CC ausgeführt 111 :
SP-FOLGE-REG-SATZ 10,Fig.2;
LEN-SP-FOLGE-REG-SATZ
11,Fig.2;
CC-Beginn
ST-FOLGE-REG-SATZ 12,Fig.2;
ST-FELD-REG-SATZ 13,Fig.2; In das Register B-TEMP wird '0' eingetragen 112 .
DS-ANZAHL 14,Fig.2;
ST-ANZAHL 15,Fig.2; Solange der Inhalt vom Register B-TEMP
kleiner ist
OBJ-EM 30,Fig.2 als der Inhalt
vom Register DS-ANZAHL, wird der
folgende Schritt DD ausgeführt 113 :
DD-Beginn
Die Anordnung,mit deren zusammenwirken des genann- Ist der Inhalt vom Register
ZU-REG(Inhalt von B-
ten Verfahrens der
Betrieb der Erfindung ermö- TEMP) grösser
als '1' , wird in dieses Register'0'
glicht wird, ist im
folgenden Ausführungsbeispiel eingetragen 114 .
von AA-Start bis AA-Ende beschrieben.
Der Inhalt vom
Register B-TEMP wird um '1' er-
Die Beschreibung
nimmt ausschliesslich Bezug auf höht 115 .
die Darstellung in Fig.6.
DD-Ende
AA-Start
CC-Ende
Alle Register
vom Z1-REG-SATZ enthalten in
auf- In das Register SO-ENDE wird
'1' eingetragen 116 .
steigender Reihenfolge die
Startadressen der zu
bearbeitenden Datensätze 101
. In das Register
B-TEMP wird '0' eingetragen 117.
Der
Prozessor initialisiert alle
Register vom Solange der Inhalt vom Register B-TEMP
kleiner ist
ANZ-REG-SATZ mit '0' 102 . als der
Inhalt vom Register DS-ANZAHL,
wird der
folgende
Schritt EE ausgeführt 118 .
Der Prozessor
initialisiert alle Register
vom
ZU-REG-SATZ mit '0' ausser in das erste und letzte EE-Beginn
Register wird '1' eingetragen 103 .
Ist, der Eintrag vom Register
ZU-REG(Inhalt von
In das Register ST-AKTUELL wird
der Inhalt vom Re- B-TEMP) grösser '0' und
der Eintrag vom Register
gister
ST-FOLGE-REG(Nr.0) eingetragen.
ST-AKTUELL ZU-REG(Inhalt von
B-TEMP +1) gleich '0', so wird
enthält jetzt die Stelle welche
als erste sortiert folgender
Schritt FF ausgeführt 119 :
werden soll 104
.
FF-Beginn
In das Register SORT-ENDE wird
'0'eingetragen 105.
In das
Register SO-ENDE wird '0' eingetragen 120 .
In das Register ST-ZAEHLER
wird'0'eingetragen 106.
6
In das
Register SO-START wird
der Inhalt vom HH-Beginn
Register B_TEMP eingetragen 121 .
In das Register
ADR-REG(Inhalt von dem Register
Der Inhalt vom Register
ANZ-REG(Inhalt von dem Re-
mit der Adresse (Inhalt von ADR-AKT-KRITERIUM))
gister
mit der Adresse (Z1-REG(Inhalt von
B-TEMP) wird der Inhalt vom Register SO-START-TEMP einge-
plus Inhalt von Register ST-AKTUELL)) wird um '1' tragen 135 .
erhöht 122 .
In das Register ZU-REG(Inhalt von SO-START-TEMP)
Der Inhalt
vom Register B-TEMP wird um '1' er- wird '1' eingetragen 136 .
höht 123 .
Zum Inhalt vom Register SO-START-TEMP wird der In-
Solange der
Inhalt von ZU-REG(Inhalt von B-TEMP) halt vom Register ANZ-REG(Inhalt von
dem Register
'0' ist 124, wird der Inhalt vom Register ANZ-REG mit der Adresse (Inhalt
von ADR-AKT-KRITERIUM))
(Inhalt von dem Register
mit der
Adresse (Z1-REG addiert 137 .
(Inhalt von B-TEMP) plus Inhalt
von Register ST-
AKTUELL)) um '1' erhöht 125 und
der Inhalt vom Re- HH-Ende
gister B-TEMP
um '1' erhöht 126 .
Der Inhalt vom Register
ADR-AKT-KRITERIUM wird um
In das Register
ADR-AKT-KRITERIUM wird der Inhalt '1' erhöht 138 .
vom Register
SO-FOLGE-REG( Inhalt vom Register
ST-ZAEHLER) eingetragen 127
. GG-Ende
In das Register
ADR-SO-KRITERIUM wird die Summe,
Ist der Inhalt vom
Register ANZ-REG(Inhalt von
Inhalt vom Register SO-FOLGE-REG(Inhalt von
ST- OBJ-EM) grösser als '1', wird der folgende Schritt
ZAEHLER) addiert mit dem Inhalt vom Register LEN- II ausgeführt 139 :
SO-FOLGE-REG(Inhalt von ST-ZAEHLER), minus
'1'ein-
getragen 128
.
II-Beginn
In das
Register ADR-REG(Inhalt von dem
Register In das
Register C-TEMP wird der Inhalt vom Re-
mit der
Adresse (Inhalt von
ADR-AKT-KRITERIUM)) gister ADR-REG(Inhalt von
OBJ-EM) plus '1' einge-
wird der Inhalt
vom Register SO-START eingetra-
tragen 140 .
gen 129 .
Solange der Inhalt
vom Register C-TEMP kleiner
In das
Register ZU-REG(Inhalt von dem Register ist, als die Summe vom Inhalt vom
Register ADR-REG
ADR-REG(Inhalt von dem Register mit der
Adresse (Inhalt von OBJ-EM)
addiert mit dem Inhalt vom Re-
(Inhalt von
ADR-AKT-KRITERIUM))) wird '1' einge- gister
ANZ-REG(Inhalt von OBJ-EM) 141, wird in das
tragen 130 .
Register ZU-REG(Inhalt von C-TEMP) '2' eingetragen
142 und das Register C-TEMP um '1' erhöht 143 .
In das Register SO-START-TEMP wird der Inhalt vom
Register ADR-REG(Inhalt von dem Register mit der II-Ende
Adresse (Inhalt von
ADR-AKT-KRITERIUM)) plus der
Inhalt vom
Register ANZ-REG(Inhalt von dem Re-
In das Register ADR-SP-KRITERIUM wird der Inhalt
gister mit
der Adresse ( Inhalt
von ADR-AKT- vom Register SP-FOLGE-REG(Inhalt von ST-ZAEHLER)
KRITERIUM)) eingetragen 131 . eingetragen 144 .
Der Inhalt vom Register ADR-AKT-KRITERIUM wird um In das Register A-TEMP wird '0' eingetragen 145 .
'1' erhöht 132
.
Solange der Inhalt vom
Register A-TEMP kleiner
Solange der Inhalt vom Register
ADR-AKT-KRITERIUM ist als der Inhalt
vom Register LEN-SP-FOLGE-REG
kleiner oder gleich dem Inhalt
vom Register ADR-SO (Inhalt von ST-ZAEHLER) wird der folgende Schritt
-KRITERIUM ist, wird der folgende Schritt GG aus- KK ausgeführt 146 :
geführt 133 :
KK-Beginn
GG-Beginn
In das Register C-TEMP wird der
Inhalt vom Re-
Ist der Inhalt vom Register
ANZ-REG(Inhalt von dem gister ADR-REG(Inhalt vom Register mit der Adresse
Register mit
der Adresse (Inhalt von
ADR-AKT- (Inhalt von
ADR-SP-KRITERIUM)) eingetragen
147
KRITERIUM)) grösser
'0', wird der folgende Schritt
HH ausgeführt 134 :
7
Solange der Inhalt vom Register
C-TEMP kleiner ist MM-Beginn
als der Inhalt vom Register
ADR-REG(Inhalt von dem
Register mit
der Adresse (
Inhalt von ADR-SP- Ist der Inhalt vom Register SO-ENDE
gleich '1' und
KRITERIUM )) plus der Inhalt
vom Register ANZ-REG( der Inhalt
vom Register ZU-REG(Inhalt von B-TEMP)
Inhalt von dem
Register mit der Adresse
(Inhalt grösser
'1' 165, so wird in das Register SO-ENDE
von ADR-SP-KRITERIUM)) 148 , wird, in das Register '2' eingetragen 166 .
ZU-REG(Inhalt von C-TEMP) '1'
eingetragen 149 ,der
Inhalt vom Register C-TEMP um '1' erhöht 150 und
Das Register B-TEMP wird um '1' erhöht 167 .
der Inhalt vom Register
ANZ-GEFUNDEN um '1' ernie-
drigt
151 .
MM-Ende
Der Inhalt vom Register
ADR-SP-KRITERIUM wird um 1 EE-Ende
erhöht 152 .
Das Register
ST-ZAEHLER wird um '1' erhöht 168 .
KK-Ende
Ist der Inhalt
vom Register SO-ENDE gleich '2'
In das
Register A-TEMP wird der Inhalt vom Re- wird der folgende Schritt NN ausgeführt
169 :
gister
SO-START eingetragen 153 .
NN-Beginn
Solange der
Inhalt vom Register A-TEMP kleiner
ist als der Inhalt vom
Register B-TEMP ,
wird der Solange der Inhalt vom
Register ST-ZAEHLER kleiner
folgende Schritt LL ausgeführt 154 . ist als der Inhalt vom Register ST_ANZAHL und der
Inhalt vom Register ST-FELD-REG(Inhalt von
ST-
LL-Beginn
AKTUELL) gleich ist wie der Inhalt vom Register
ST-FELD-REG(Inhalt von ST-FOLGE-REG(Inhalt von ST-
In das Register ZEICHEN-TEMP wird der Inhalt von ZAEHLER)) 170, wird der
Inhalt vom Register ST-
dem Register mit der
Adresse (Inhalt von Z1-REG ZAEHLER um '1' erhöht 171 .
(Inhalt von
A-TEMP plus Inhalt von
ST-AKTUELL))
eingetragen 155 . 172 In das Register SO-ENDE wird '0' eingetragen.
In das Register Z2-REG(Inhalt
von ADR-REG(Inhalt NN-Ende
von ZEICHEN-TEMP)) wird der Inhalt
vom Register
Z1-REG(Inhalt von A-TEMP)
eingetragen 156 . BB-Ende
Der Inhalt vom Register
ADR-REG(Inhalt von ZEICHEN
AA-Ende
-TEMP) wird um '1'erhöht 157 .
Der Inhalt vom Register
ANZ-REG(Inhalt von ZEICHEN
-TEMP) wird um '1' erniedrigt 158 .
Folgend wird anhand von Beispielen erklärt, welche
Registereinträge notwendig sind um eine gewünschte
Das Register A-TEMP wird um '1'
erhöht 159 . Sortierordnung oder Suchordnung
zu erreichen.
LL-Ende
Die Datenbank in Fig.3 ist Ausgangslage für die
Beispiele
'1' und '2'.
In das
Register A-TEMP wird der Inhalt vom Re-
gister
SO-START eingetragen 160 .
Folgende Information kann der
Datenbank entnommen
Solange der Inhalt vom Register
A-TEMP kleiner ist werden:
als der Inhalt vom
Register B-TEMP 161 ,
wird in
das Register Z1-REG(Inhalt von A-TEMP) der Inhalt Die
Datenbank enthält '12' Datensätze
mit Daten-
vom Register Z2-REG(Inhalt von
A-TEMP) eingetragen satzlänge '9'. Die
Datensätze sind eingeteilt in
162 und
das Register A-TEMP um '1' erhöht
163 .
'2' Felder. Das 1. Feld beginnt
an der Stelle '0'
und ist '6' Zeichen lang.
Das 2. Feld beginnt an
FF-Ende der Stelle '6'und ist '3'Zeichen
lang. Die Objekt-
endemarke ist das Minuszeichen ('-').
Ist der
Eintrag vom Register ZU-REG(Inhalt von
B-TEMP) gleich '0', und oder ist
der Eintrag vom
Register ZU-REG(Inhalt
von B-TEMP plus '1') un-
gleich '0' ,
so wird
folgender Schritt MM ausge-
führt 164 .
8
Anhand der Datenbankinformation können einige Re- Registereinträge:
gister bereits initialisiert werden.
Registereinträge mit Gültikeit für die Beispiele Folgend sind die Registereinträge beschrieben um
'1' und '2'.
die Sortierordnung gemäss den
Anforderungen des
1.Beispiels
zu erreichen.
Alle Register vom Z1-REG-SATZ
enthalten in auf-
steigender Reihenfolge
die Startadressen der zu ST-ANZAHL(Anzahl Stellen welche
untersucht werden)
sortierenden Datensätze. Ersichtl.in Fig.3(I.Nr.). Registereintrag: '3'
In das Register
DS-Anzahl wird '12'
eingetragen Die Reihenfolge nach
der die Stellen eines Daten-
Das
Entspricht der Anzahl zu
sortierenden Daten- satzes sortiert werden, wird in den Registersatz
sätze.
ST-FOLGE-REG-SATZ wie folgt eingetragen:
In das Register
OBJ-EM wird '-' eingetragen. Das
In das 1.Register ST-FOLGE-REG(Nr.0) wird '0' ein-
Entspricht der Feldendemarkierung. getragen. (1.Stelle)
In das 2.Register
ST-FOLGE-REG(Nr.1) wird '1' ein-
Der Registersatz
ST-FELD-REG-SATZ wird mit der Da-
getragen. (2.Stelle)
tensatzeinteilung
wie folgt initialisiert:
In das 3.Register ST-FOLGE-REG(Nr.2) wird '6' ein-
getragen. (7.Stelle)
1. Registereintrag: '0' <ÄÄ
Beginn 1.Feld
2. Registereintrag: '0' Um die Stellen '0','1'und'6' zu sortieren,
braucht
3. Registereintrag: '0' man zwei
Sortierfolge-Definitionen und eine Sperr-
4. Registereintrag: '0' folgen-Definition.
5. Registereintrag: '0'
6. Registereintrag: '0' Für die
1.Sortierfolge-Definition wird der
FOLGE-
7. Registereintrag: '1' <ÄÄ
Beginn 2.Feld -REG-SATZ(Nr.0) verwendet.
8. Registereintrag: '1'
9. Registereintrag: '1' 1.
Registereintrag: C
2. Registereintrag: N
3. Registereintrag: E
1. Beispiel:
Für die 2.Sortierfolge-Definition wird
der FOLGE-
Stabiles Sortieren der Datensätze. -REG-SATZ(Nr.1)
verwendet.
Die Datensätze
sollen nach folgenden Kriterien 1. Registereintrag:
-
sortiert werden: 2. Registereintrag: A
3. Registereintrag: K
- Die 1.Stelle hat 1.Priorität
(höchste) und soll 4. Registereintrag: S
in
folgender Ordnung sortiert
werden : C,N,E
Für die 1.Sperrfolgen-Definition verwenden wir den
- Alle Datensätze , welche mit E beginnen sollen FOLGE-REG-SATZ(Nr.2)
für weiteres sortieren nicht
mehr berücksichtigt
werden.
1. Registereintrag: E
- Die 2.Stelle hat 2.Priorität
und soll in folgen- Für die Stelle '0'wird die Sortierfolge vom
FOLGE-
der Ordnung sortiert werden:
-,A,K,S REG-SATZ(Nr.0) verwendet.
- Die 7.Stelle hat 3.Priorität
und soll in folgen- In das
1.Register SO-FOLGE-REG(Nr.0) wird
die
der Ordnung sortiert werden:
-,A,K,S Adresse vom FOLGE-REG-SATZ(Nr.0) eingetragen. In
das 1.Register LEN-SO-FOLGE-REG(Nr.0) wird die An-
zahl im FOLGE-REG-SATZ(Nr.0) vorhandenen Zeichen
Das Ergebnis, sortiert nach dem
Index I.Nr. ist in eingetragen, also '3'.
Fig.4 eingetragen (I.Nr.
entspricht den Register
von Z1-REG-SATZ). Für
die Stelle '0' wird die Sperrfolge vom
FOLGE-
REG-SATZ(Nr.2) verwendet werden.
Aus dem Resultat
ist ersichtlich, dass die Sor-
tierung
stabil erfolgt ist. Ersichtlich bei Ds.1
und Ds.3, sowie bei Ds.5 und
Ds.6. als auch bei
Ds.2, Ds.8 und Ds.10.
9
In das
1.Register
SP-FOLGE-REG(Nr.0) wird die
Die Reihenfolge nach der die Stellen eines Daten-
Adresse vom FOLGE-REG-SATZ(Nr.2) eingetragen. In satzes
sortiert werden , wird in den Registersatz
das 1.Register
LEN-SP-FOLGE-REG(Nr.0) wird die An-
ST-FOLGE-REG-SATZ wie folgt eingetragen:
zahl im FOLGE-REG-SATZ(Nr.2) vorhandenen Zeichen
eingetragen, also '1'. In das
1.Register ST-FOLGE-REG(Nr.0) wird '0' ein-
getragen.
(1.Stelle)
Für die Stellen '1' und '6' wird die Sortierfolge In das 2.Register ST-FOLGE-REG(Nr.1)
wird '7' ein-
vom FOLGE-REG-SATZ(Nr.1)
verwendet.
getragen. (8.Stelle)
In das
2.Register
SO-FOLGE-REG(Nr.1) wird die
Um in den Stellen '0' und '7' zu suchen, wird eine
Adresse vom FOLGE-REG-SATZ(Nr.1) eingetragen. In Suchfolge-Definition und eine Sperrfolgedefi-
das 2.Register
LEN-SO-FOLGE-REG(Nr.1) wird die An-
nition benötigt.
zahl im
FOLGE-REG-SATZ(Nr.1) vorhandenen Zeichen
eingetragen, also '4'. Für die
1.Suchfolge-Definition wird der FOLGE-REG-
SATZ(Nr.0) verwendet.
In das
7.Register SO-FOLGE-REG(Nr.6)
wird eben-
falls die Adresse vom
FOLGE-REG-SATZ(Nr.1) einge- 1. Registereintrag: C
tragen. In das 7.Register
LEN-SO-FOLGE-REG(Nr.6) 2.
Registereintrag: N
wird die
Anzahl im FOLGE-REG-SATZ(Nr.1) vor-
3. Registereintrag: E
handenen
Zeichen eingetragen, also '4'.
Für die 1.Sperrfolgen-Definition wird der FOLGE-
Für die Stelle '1' und '6' wird keine Sperrfolge REG-SATZ(Nr.1) verwendet.
verlangt.
In das 2.Register LEN-SP-FOLGE-REG(Nr.1) wird
'0' 1. Registereintrag: E
eingetragen.
2. Registereintrag: N
In das 7.Register LEN-SP-FOLGE-REG(Nr.6) wird
'0'
eingetragen.
In das 1. und 8.Register SO-FOLGE-REG(Nr.0,7)
wird
die Adresse FOLGE-REG-SATZ(Nr.0) eingetragen. In
das 1. und 8. Register LEN-SO-FOLGE-REG(Nr.0,7)
2. Beispiel:
wird die Anzahl der im FOLGE-REG-SATZ(Nr.0) vor-
handenen Zeichen eingetragen, also '3'.
Stabiles Suchen einer Gruppe
von Datensätze
In das 1. und
8.Register SP-FOLGE-REG(Nr.0,7) wird
Die Datensätze
sollen nach folgenden Kriterien die Adresse vom FOLGE-REG-SATZ(Nr.1) eingetragen.
ausgewählt werden: In das 1. und 8. Register
LEN-SP-FOLGE-REG(Nr.0,7)
wird die Anzahl der im
FOLGE-REG-SATZ(Nr.1) vor-
- Es sollen alle Datensätze
gesucht werden, welche handenen Zeichen eingetragen, also '2'.
an der Stelle '0' und
an der Stelle '7' den
Buchstaben C haben.
3. Beispiel:
Das Ergebnis, ist in Fig.5
eingetragen Es sollen
Datensätze mit beliebigem Inhalt,
von
(I.Nr.
entspricht den Register von Z1-REG-SATZ ).
links nach rechts alphabetisch sortiert werden.
Dafür
sind folgende Registerdefinitionen nötig:
Der Inhalt vom Register ANZ_GEFUNDEN
entspricht
der Anzahl der Datensätze ,
welche den Kriterien Registereinträge:
entsprechend gefunden worden sind, also '3'. Aus
dem Resultat ist ersichtlich,dass die
Sortierung ST-ANZAHL(Anzahl
Stellen welche untersucht werden)
stabil erfolgt ist. Ersichtlich bei Ds.3 und
Ds.7 Registereintrag: .... (Datensatzlaenge)
und Ds.9.
Die Reihenfolge nach der die
Stellen eines Daten-
satzes sortiert
werden, wird in den Registersatz
Registereinträge:
ST-FOLGE-REG-SATZ wie folgt eingetragen:
Folgend sind die Registereinträge beschrieben um In das 1.Register ST-FOLGE-REG(Nr.0)
wird 0 einge-
das Suchen gemäss
dem 2.Beispiel zu erreichen.
tragen. (Stelle 0)
In das 2.Register ST-FOLGE-REG(Nr.1) wird 1 einge-
ST-ANZAHL(Anzahl Stellen welche
untersucht werden) tragen.
(Stelle 1)
Registereintrag: '2'
3.
2
. usw. (ST-ANZAHL) .
10
Um
alle Stellen zu sortieren wird
nur eine Sor- Die Reihenfolge nach der die Stellen eines Daten-
tierfolge-Definition
benoetigt. Eine
Sperrfolgen- satzes sortiert werden, wird in den
Registersatz
Definition ist nicht nötig.
ST-FOLGE-REG-SATZ wie folgt eingetragen:
Für die
Sortierfolge-Definition wird der
FOLGE- In das 1.Register
ST-FOLGE-REG(Nr.0) wird '3' ein-
REG-SATZ(Nr.0) verwendet. getragen.
(4.Stelle)
In das 2.Register ST-FOLGE-REG(Nr.1) wird '2' ein-
Der Eintrag in die Register
vom FOLGE-REG-SATZ getragen. (3.Stelle)
(Nr.0) erfolgt mittels
natürlichen Zahlen
, von In das 3.Register
ST-FOLGE-REG(Nr.2) wird '1' ein-
'0' beginnend bis '255'. getragen.
(2.Stelle)
In das 4.Register ST-FOLGE-REG(Nr.3) wird '0' ein-
001. Registereintrag: '0' getragen.
(1.Stelle)
002. Registereintrag: '1'
003. Registereintrag: '2' Um alle '4'
Stellen zu sortieren brauchen wir zwei
... usw. .
Sortierfolge-Definitionen.
Es ist keine
Sperr-
256. Registereintrag:
'255' folgen-Definition nötig.
In alle Register
vom SO-FOLGE-REG-SATZ (Nr.0 bis
Für die 1. Sortierfolge-Definition wird der FOLGE-
Inhalt von ST-ANZAHL) wird die Adresse vom FOLGE- REG-SATZ(Nr.0) verwendet.
REG-SATZ(Nr.0) eingetragen. Für
alle Register vom Der Eintrag in die Register
erfolgt mittels den
LEN-SO-FOLGE-REG-SATZ ( Nr.0 bis
Inhalt von ST-
natürlichen Zahlen , von '0'
beginnend bis '255'.
ANZAHL ) wird die
Anzahl im FOLGE-REG-SATZ(Nr.0)
vorhandenen Zeichen eingetragen , also
'256'. Für 001.
Registereintrag: '0' (1.Register vom FOLGE
alle Register vom LEN-SP-FOLGE-REG-SATZ (Nr.0 bis 002. Registereintrag: '1'
-REG-SATZ(Nr.0))
Inhalt von ST-ANZAHL) wird '0'
eingetragen. (keine 003.
Registereintrag: '2'
Sperrkriterien)
... usw. .
256. Registereintrag: '255'
4. Beispiel: Für die
2.Sortierfolge-Definition wird der
FOLGE-
REG-SATZ(Nr.1) verwendet.
Sortieren von ganzen Zahlen
Der Eintrag in die Register
erfolgt mittels den
Angenommen eine Dateneinheit
besteht aus 8-Bit, so natürlichen
Zahlen,
sind mit einer
Dateneinheit '256' verschiedene von '0' beginnend bis '255'.
Kombinationen möglich.
001 .Reg.-Eintrag:'128' 128.
Reg.-Eintrag: '0'
Mit '4' Dateneinheiten ist es möglich den Bereich 002 .Reg.-Eintrag:'129' 129. Reg.-Eintrag: '1'
von ganzen Zahlen beginnend bei -2147483648 bis
003 .Reg.-Eintrag:'130' 130.
Reg.-Eintrag: '2'
+2147483647 abzudecken. ... usw.
... ... usw.
...
127. Reg.-Eintrag:'255' 256.
Reg.-Eintrag:'127'
Bei den meisten Computer ist diese Definition ein
4-Byte Datentyp mit Vorzeichen. In das 1., 2.und
3.Register SO-FOLGE-REG(Nr.0,1,2)
wird die Adresse vom FOLGE-REG-SATZ(Nr.0) einge-
Für Zahlen mit Vorzeichen ist ein Bit eines
Bytes tragen. In das 1., 2. und
3.Register LEN-SO-FOLGE-
bestimmend um eine
positive Zahl von einer ne- REG(Nr.0,1,2) wird
die Anzahl im FOLGE-REG-SATZ
gativen
Zahl zu unterscheiden. (Nr.0) vorhandenen
Zeichen eingetragen,also
'256'.
In das 4. Register SO-FOLGE-REG(Nr.3) wird
die
Für dieses Beispiel gehen wir davon aus, dass das Adresse vom FOLGE-REG-SATZ(Nr.1) eingetragen. In
4.Byte das
Vorzeichenbit enthält und dass eine das 4.Register LEN-FOLGE-REG(Nr.3)
wird die Anzahl
Dateneinheit 8-Bit
aufweist.
im FOLGE-REG-SATZ(Nr.1) vorhandenen Zeichen einge-
tragen , also '256'. In das 1., 2., 3. und 4.Re-
Sollen nun
solche Zahlen aufsteigend
sortiert gister LEN-SP-FOLGE-REG(Nr.0,1,2,3) wird '0' ein-
werden, ist folgende
Registerdefinition notwendig:
getragen. (Keine Sperrkriterien)
Registereinträge:
ST-ANZAHL(Anzahl Stellen welche
untersucht werden)
Registereintrag: '4'
11
Die Erfindung
betrifft ein Verfahren
und eine
Anordnung,zum
Sortieren oder Suchen von beliebigen
Daten mit wahlfreiem Zugriff.
Ein besonderes Merk-
mal dieser Erfindung ist,dass die zu sortierenden
oder zu suchenden Objekte nicht
untereinander ver-
glichen werden müssen. Es ist
auch nicht notwendig
die zu sortierenden oder zu suchenden Objekte mit
fremden Objekten zu
vergleichen. Die Grundlage zur
Lösung des Sortier- oder Such-Problems,
bildet die
Idee,mittels
Zählen von bestimmten,immer bekannten
Eigenschaften der Objekte, eine
Ordnung oder eine
Auswahl zu treffen. Das
Sortieren sowie das Suchen
der Datensätze erfolgt stabil.
Durch die Vielfalt
der Datenverarbeitungsmöglichkeiten,lässt sich die
Erfindung vom einfachen
Sortierern oder Suchen bis
zum komplexen Auswerten von
Daten verwenden.
12