Weiter: 14.1.4 Die Festlegung
Hinauf: 14.1 Darstellungsklauseln
Zurück: Die interne Darstellung
Auch die interne Darstellung von Records können wir exakt festlegen, z.B.:
type IO_Port is
Eine mögliche interne Darstellung ist:
word: constant := 1Bytes;
for IO_Port use
record at mod 2;
data at 0word range 0..7;
ready at 1word range 3..3;
interrupt_enabled at 1word range 7..7;
end record;
Das at mod-Konstrukt legt fest, daß das Alignment des Records in jeweils
zwei ganzen Speichereinheiten erfolgt. Mit
at legt man fest, in welcher Speichereinheit sich die Record-Komponente
befindet, und mit range legt man die Bit-Position der Komponente fest.
In Ada95 hat sich die Syntax des at mod-Konstruktes geändert;
sie lautet nun
for IO_Port'ALIGNMENT use 2;
Allerdings ist die alte Notation noch gültig.
Neu ist auch, daß man nun die Ordnung der Bits festlegen kann.
Zum Beispiel
for R'BIT_ORDER use Low_Order_First;
Johann Blieberger
Wed Feb 11 09:58:52 MET 1998