Keil™, An ARM® Company

C166 User's Guide

xhuge Pointers

Pointers to xhuge 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

An xhuge pointer is stored in memory at a word boundary as follows:

 Address+0Address+1Address+2Address+3
ContentsOffset (LSB)Offset (MSB)Segment (LSB)Segment (MSB)

An xhuge pointer can access objects of any size in any memory area.