A far pointer is typically 32- bit pointer that can access memory outside the current segment. To use this, the compiler allocates a segment register to store segment address, then another register to store offset within the current segment.