Es handelt sich um ein Segmentregister. Der x86 verfügt über sechs davon: CS, DS, ES, SS, FS und GS (FS und GS wurden neu im Jahr 80386). Die Mnemonics stammen von ihren Rollen: Code-Segment, Daten-Segment, erweitertes Segment (eigentlich ein Hilfsregister), Stapel-Segment. Diese Rollen sind in der Semantik der x86-Assembly-Anweisungen fest verdrahtet. FS und GS sind wie ES Hilfsregister, daher tragen sie einfach die nachfolgenden Buchstaben nach E.
Im 32-Bit-Schutzmodus, wie er typischerweise verwendet wird (z.B. in Windows, Linux, * BSD), haben CS, DS, ES und SS alle eine Basis von 0 und ein Limit von 4 Gigabyte, und der Speicherschutz erfolgt nur mit Seitengenehmigungen. FS zeigt in Benutzermodus auf einen Thread-Information-Block (TIB) und in Kernelmodus auf die Prozesskontrollregion (KPCR). Matt Pietrek schrieb vor Jahren einen ziemlich guten Artikel dazu, der immer noch auf MSDN verfügbar ist.