next up previous
Nächste Seite: Globale Variablen Aufwärts: Anordnung von Typen und Vorherige Seite: Anordnung von Typen und


Typen

Wenn Sie Typen des Betriebssystems von C oder Assembler nach umsetzen möchten, müssen Sie die folgenden Tatsachen beachten.

Im werden Typen bis auf Bytegrenzen gepackt. Einige Beispiele sollen dies verdeutlichen:
\begin{example}
\begin{verbatim}TYPE
Tag = (mo, di, mi, do, fr, sa, so);
Te...
...in Byte in Anspruch
und folgen im Speicher unmittelbar aneinander.
\end{example}

Typen, die mehr als ein Byte beanspruchen oder strukturiert sind, beginnen immer an Wortgrenzen.




\begin{example}
Der Typ
\begin{verbatim}RECORD si:SHORTINT END;\end{verbatim}...
...sogenanntes ,,{\bf pad}\lq\lq -Byte (F\uml {u}llbyte) eingef\uml {u}gt.
\end{example}

Die Grösse (SIZE) eines Records ist folglich immer gerade.


\begin{warning}
Aufgrund der eben erl\uml {a}uterten Fakten ist es unm\uml {o}gl...
...nanderfolgen. Es wird immer ein F\uml {u}llbyte dazwischen liegen.
\end{warning}

Alle Elemente strukturierter Typen (RECORDs und ARRAYs) werden in aufsteigender Richtung angelegt. Das Element $n+1$ eines Arrays liegt auf einer höheren Speicheradresse als das Element $n$.



Claudio Nieder 2000-11-12