HP Pascal/iX Programmer's Guide (31502-90023)

A-: 16
is allocated and aligned like this:
Files.
The HP Pascal compiler allocates space for an HP3000_16 file this way:
* The file control block is allocated according to the HP Pascal
packing algorithm.
* The file buffer variable size is allocated according to the
Pascal/V packing algorithm.
* The file is 8-byte-aligned.
Records.
This section applies to unpacked and packed records unless otherwise
noted.
The Pascal/V packing algorithm does not always align variant parts of
fields on the same boundary. Each variant part's boundary depends on its
type.
Example
TYPE
Rec = PACKED RECORD
i : integer;
CASE b : boolean OF
TRUE : (f1 : char);
FALSE : (f2 : ARRAY[1..2] OF -32768..32767;
END;
A variable of type Rec is allocated 10 bytes. The TRUE and FALSE
variants are aligned like this:
TRUE Variant