Logic destination ← offset part of source DS|ES|FS|GS|SS ← segment part of source
The data pointer instructions load a full pointer, consisting of a segment value (in protected mode: a segment selector) and an offset value, into a segment register and a general register.
The source operand must be a memory operand. The destination operand must be a general register. The destination register loads 16 bits if the operand-size attribute is 16, otherwise 32 bits.
Protected mode A null selector (values 0000-0003) can be loaded into DS,ES,FS, or GS without causing a protection exception. (Any subsequent reference to a segment whose corresponding segment register is loaded with a null selector causes a #GP(0) exception. No memory reference to the segment occurs.)