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

A-: 14
section, "Pascal/V Packing Algorithm" .
Table A-4. Allocation and Alignment of Packed Record Fields
(Pascal/V Packing Algorithm)
-----------------------------------------------------------------------------------------------
| | | |
| Variable Type | Allocation | Alignment |
| | | |
-----------------------------------------------------------------------------------------------
| | | |
| Array | Use formula in "Arrays" | Byte if element is allocated |
| | | 8 bits; 2-byte otherwise |
| | | |
-----------------------------------------------------------------------------------------------
| | | |
| Bit16 | 2 bytes | 2-byte |
| | | |
-----------------------------------------------------------------------------------------------
| | | |
| Bit32 | 4 bytes | 2-byte |
| | | |
-----------------------------------------------------------------------------------------------
| | | |
| Bit52 | 8 bytes | 2-byte |
| | | |
-----------------------------------------------------------------------------------------------
| | | |
| Boolean | 1 bit | Bit |
| | | |
-----------------------------------------------------------------------------------------------
| | | |
| Char | 8 bits | Bit, but does not cross |
| | | 2-byte boundary |
| | | |
-----------------------------------------------------------------------------------------------
| | |
| Enumeration | See "Packed Enumerations" |
| | |
-----------------------------------------------------------------------------------------------
| | | |
| File | See "Files" | 8-byte |
| | | |
-----------------------------------------------------------------------------------------------
| | | |
| Integer | 4 bytes | 2-byte |
| | | |
-----------------------------------------------------------------------------------------------
| | | |
| Longint | 8 bytes | 2-byte |
| | | |
-----------------------------------------------------------------------------------------------
| | | |
| Longreal | 8 bytes | 2-byte |
| | | |
-----------------------------------------------------------------------------------------------
| | |
| Pointer | HP3000_16 does not affect pointers. See Table 5-1 |
| | |
-----------------------------------------------------------------------------------------------
| | | |
| Real | 4 bytes | 2-byte |
| | | |
-----------------------------------------------------------------------------------------------
| | | |
| Record | Each field is allocated by | 2-byte |
| | type and record is padded to | |
| | nearest 2-byte boundary | |
| | | |
-----------------------------------------------------------------------------------------------
| | |
| Set | See "Sets" |
| | |
-----------------------------------------------------------------------------------------------
| | |
| String | See "Strings" |