Information Technology Reference
In-Depth Information
Referenzzählwert vergleicht. Bei Gleichheit wird der Eintrag aus der Sprungadres-
sumsetzungstabelle entfernt. Ebenfalls möglich ist die Angabe des Zählwerts Null,
mit der Folge, dass die Sprungmarke bis zum Ende einer Laufzeittransformation
nicht aus der Sprungumsetzungstabelle entfernt wird.
Tabelle 4.1. Sprungmarkenbefehle
Mnemon
Operanden
Beschreibung
ilabel
Kennzeichnet ein indirekt adressiertes Sprungziel.
ilabel.call
Kennzeichnet ein indirekt adressiertes Unterprogramm.
label
refcount
Kennzeichnet ein absolutes Sprungziel. In refcount ist die Anzahl der zu
jeweiligen Sprungmarke verzweigenden Sprungbefehle codiert.
label.call
refcount
Kennzeichnet ein absolutes Sprungziel. In refcount ist die Anzahl der zu
jeweiligen Sprungmarke verzweigenden Sprungbefehle codiert.
Indirekte Sprungbefehle sind auf diese Weise nicht handhabbar. Sie können sich
nämlich auf unterschiedliche Sprungmarken beziehen, von denen jeweils nur eine
referenziert wird, was sich jedoch erst zur Laufzeit entschiedet. Gironimo verfügt
deshalb über einen virtuellen Sprungmarkenbefehl ilabel , mit dem sich Sprungmar-
ken als während der gesamten Laufzeit eines Programms permanent verfügbar defi-
nieren lassen. Auf einen Referenzzählwert als Argument des Sprungmarkenbefehls
kann dabei natürlich verzichtet werden. Zur Kennzeichnung von Sprungmarken, zu
denen sowohl absolut oder relativ als auch indirekt verzweigt wird, ist immer der
virtuelle Sprungmarkenbefehl ilabel zu verwenden.
Unterprogramme, d.h. Funktionen, Prozeduren, Methoden usw. müssen eigentlich
nicht speziell markiert sein. Trotzdem kann dies vorteilhaft sein, um kontextsi-
chernde Maßnahmen, die ein realer Prozessor nicht eigenständig erledigt, explizit
veranlassen zu können. Dies ist der Grund, weshalb im Programmiermodell Gironi-
mos zu den Sprungmarkenbefehlen label und ilabel jeweils eine Variante mit nach-
gestelltem „.call“ vorgesehen wurde.
Abschließende Bemerkungen
Neben den hier beschriebenen Merkmalen Gironimos gibt es einige weitere, die
wegen ihrer Komplexität hier nicht erläutert werden sollen. Zu nennen sind z.B. die
im Zusammenhang mit Kontextwechseln stehenden virtuellen Befehle, mit denen es
möglich ist, undefiniert definierte Registerinhalte, die vom zugrunde liegenden rea-
len Prozessor abhängige Bitbreiten aufweisen können, zu handhaben. Erwähnens-
wert ist auch das Konzept der Arbeitsbereiche zur Speicherung häufig benötigter
Variablen. Arbeitsbereiche sind ausschließlich direkt adressierbar, weshalb sie sich
im Hauptspeicher, aber auch im Registerspeicher unterbringen lassen. Letzteres
allerdings nur, wenn der reale Prozessor über genügend viele reale Register verfügt.
Beachtenswert sind des Weiteren die virtuellen SIMD-Befehle Gironimos. Sofern
der reale Prozessor die entsprechenden Fähigkeiten besitzt, ist es damit möglich,
multimediale Anwendungen zu codieren, die hohe Geschwindigkeitsanforderungen
Search WWH ::




Custom Search