segment is generally for storage of global variables
, but is also for the destination
in string operations
such as REP STOSx
and REP MOVSx
, as well as floating-point operations
such as FSTP
. The other segments
('extra,' used as source in string operations and to stave off segment register starvation), and fs
(second/third 'extra' segments, on the 80386 and higher).
If Intel had done bigger paragraph sizes, x86 real mode wouldn't be so crappy.