TGI Praktikum |
Aufgabenbereich Mikroprogrammierung - Projekt 65
Einführung |
Aufgabenstellung
Implementierung der Funktionalität als Maschinenprogramm unter Verwendung der Standardmaschinenbefehle, die als Mikroprogramme implementiert werden sollen (strtolower_1 ) | |
Implementierung der Funktionalität als speziellen Maschinenbefehl in einem gesonderten Mikroprogramm (strtolower_2 ) | |
Vergleich hinsichtlich Effizienz | |
Effizienz des Algorithmus, wenn auch deutsche Umlaute umgewandelt werden könnten |
Für diese Aufgabenstellung ist es sehr wichtig sich mit dem TGI-Rechner, der Zielarchitektur, vertraut zu machen. Die Tatsache, daß es um Buchstaben geht, die umgewandelt werden sollen, macht das Ganze noch interessanter, da es sich um etwas relativ "greifbares" handelt. Das heißt, falls ein Großbuchstabe in einen Kleinbuchstaben umgewandelt wird, so kann man dies am Wert des Buchstaben erkennen. Das Ergebnis ist also sofort sichtbar. Doch um so weit zu kommen, sind erst einmal viele Überlegungen nötig.
Was ist zu tun?
Anschließend sollte man sich damit befassen, wie Großbuchstaben im Rechner in Kleinbuchstaben umgewandelt werden könnten.
Wie man in obiger Tabelle erkennen kann geht die Kodierung der Großbuchstaben von 0x0041 ( im Hexadezimalsystem) bis 0x005A, während die Kleinbuchstaben sich um genau 0x0020 von ihren zugehörigen Großbuchstaben unterscheiden.
Somit muß man, um einen Großbuchstaben in einen Kleinbuchstaben zu verwandeln, den Wert des Ausgangsbuchstaben
mit 0x0020 addieren und erhält damit den Wert des gewünschten Kleinbuchstabens.
Nach diesen Vorüberlegungen beginnt nun die eigentliche Arbeit. Zuerst muß ein Algorithmus ausgearbeitet werden, welcher die Aufgabenstellung nochmals veranschaulicht. Dieser Algorithmus dient für beide Funktionalitäten gemäß der Aufgabenstellung als Leitfaden zur Implementierung und wird in folgendem Struktogramm veranschaulicht:
In diesem Struktogramm wird überprüft, ob der anliegende Wert aus dem Hauptspeicher der eines Großbuchstabens ist (ist Wert an n.ter Speicherstelle <= 0x005a und zugleich >= 0x0041?). Großbuchstaben werden umgewandelt. Alles andere (Sonderzeichen, Zahlen, Kleinbuchstaben) bleibt unverändert.
Jetzt muß überlegt werden, wie solche Vorgänge im Rechner realisiert werden.
Dazu erweist sich die oben abgebildete Skizze der Zielarchitektur als äußerst hilfreich!
zurück | 30.03.00 Katrin Stedele, Rainer Schmoll, Tanja Wojak |