Archiv

Archiv für 25. März 2006

Die Tücken der Assemblerprogrammierung

25. März 2006

Nach dieser Woche habe ich ehrlich gesagt erstmal genug von der Assembler-Programmierung.

Wir hatten nämlich am Freitag eine durchaus umfangreiche Aufgabe abzugeben. Im Grunde ging es nur um das Handling von Gleitkommazahlen auf Basis der IEEE-754 – Norm und diverser Grundrechenoperationen damit. Auch muss ich anmerken, dass dies für den 6502er Mikroprozessor implementiert wurde, welcher noch keine Befehlssätze zur direkten Multiplikation besitzt.

Die Aufgabe stellte sich schwieriger heraus als man zu erst gedacht hätte. Wir mussten dadurch, dass das Vorzeichenbit in einem einzelnen Byte gespeichert werden sollte, Fälle beachten, wie jeweils die Vorzeichenkombination bei den benutzten Zahlen ist. Auch musste bei der Addition/Subtraktion jeweils der Exponent angeglichen werden und erst dann konnte die Mantisse addiert/subtrahiert werden. Danach muss die Zahl natürlich wieder normiert werden.

Bei der Multiplikation stößt man auch auf diverses, was man beachten muss. Speziell sei hier gesagt, dass jeweils drei Bytes mit weiteren drei Bytes multipliziert werden müssen, so dass man Standard-Algorithmen (wie die Booth-Methode), welche auf die Multiplikation von 1-Byte-Zahlen beschränkt sind, erweitern und anpassen muss. Auf jeden Fall wird das Programm recht umfangreich und man wird möglichst versuchen auf viele Unterprogramme zu setzen, damit man alles halbwegs modular und allgemein gestalten kann.

Insgesamt waren es bei uns etwa 950 Zeilen Code, an denen wir bestimmt 20 Stunden beschäftigt waren. Leider merkt man viele Konzipierungsfehler erst im Laufe der Entwicklung, so dass wir einmal komplett von vorne beginnen mussten.

Dies Ganze war für ein einfaches Praktikum doch schon einiges an Arbeit. Das tollste bei der Abnahme war dann aber, dass der Professor selbst die Aufgabe gar nicht ausprobiert hatte und folglich auch erstaunt war, wie umfangreich das Ganze war. Nun will er wohl die Aufgabe entschärfen. Schön, dass er so Studenten als Versuchskaninchen missbraucht, als ob man nicht schon genug für andere Fächer zu tun hätte.

Für die Interessierten hier mal die Aufgabe.

Categories: Studium / Job