huge Pointers
Pointers to huge objects are stored using four bytes (32 bits). The bytes are stored little endian or low to high order. The first word contains the 16-bit memory offset. The second word contains the segment number. The memory address is calculated as follows:
Address = (Segment * 0x10000L) + Offset
A huge pointer is stored in memory at a word boundary as follows:
| | Address+0 | Address+1 | Address+2 | Address+3 |
|---|
| Contents | Offset (LSB) | Offset (MSB) | Segment (LSB) | Segment (MSB) |
A huge pointer can access objects up to 64K in size in any memory area. Objects larger than 64K must be accessed using xhuge pointers.