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

5-: 9
The variable upr1 takes six bytes:
Because pf must be 2-byte-aligned, it cannot start in the second byte.
The extra byte after cf is allocated because the most restricted element,
pf, is 2-byte-aligned.
The variable upr2 takes four bytes:
Sometimes you cannot reduce the space that a record takes by declaring
its fields in different order.
Example
VAR
pr1 : PACKED RECORD
srf : 0..32;
b : Boolean;
pf : 0..32767;
cf : char;
END;
pr2 : PACKED RECORD
srf : 0..32;
b : Boolean;
cf : char;
pf : 0..32767;
END;
The only difference between the variables pr1 and pr2 is the order of
their fields.
The variable pr1 takes four bytes:
The variable pr2 also takes four bytes: