Segment registers hold segment addresses and are used for memory addressing. The CS, DS, ES, FS, GS registers hold the code, data, and extra segments. The SS register holds the stack segment. The flag register indicates results of operations through flags like carry, zero, and overflow. It is used by conditional instructions.