All addresses in x86 processors are composed of two parts:
Note: Addresses are usually written with a colon separating the two parts, for example, selector:offset.
Note: These two parts are implicitly or explicitly specified by every instruction that references memory for either or both operands. Generally, the selector is implied and the offset is specified but there are exceptions to this.