I'm confused about one thing concerning memory segmentation. I know that there are only a few segments, such as the code segment, data segment, etc. However, when you access memory using a 16 bit segment selector. This means that there are 2^16 values the segment selector could be... If there are only a few segments, how can you have that many values for the segment selector?