3.3. Сегментные регистры

 

Как говорилось выше, физический адрес любой ячейки памяти состоит из 16-битного значения адреса сегмента и 16-битного смещения внутри сегмента. Каждый сегментный регистр используется для адресации определенного типа. Имеется четыре сегментных регистра: CS, DS, ES, SS. Микропроцессоры фирмы Intel, начиная с 80486, имеют два новых дополнительных сегментных регистра – FS и GS.

Регистр CS. Сегмент кода. Определяет сегмент программы, содержащий выполняемые команды. Устанавливается при загрузке программы автоматически.

Регистр DS. Сегмент данных. Определяет сегмент, в котором находятся данные, или некоторую область памяти. В строковых операциях связан с регистром источника SI. Команды обработки данных по умолчанию, как правило, используют для адресации регистр DS. При загрузке программы регистр DS устанавливается программистом.

Регистр ES. Дополнительный сегмент данных. Определяет дополнительный сегмент и применяется в тех случаях, когда требуется обратиться к произвольному сегменту памяти. В строковых операциях связан с регистром приемника DI. Инициализируется программистом.

Регистр SS. Регистр сегмента стека связан с регистром SP. Содержит начальный адрес сегмента стека (в то время, как SP устанавливается на конец стека). Регистры SS и SP при загрузке программы устанавливаются автоматически.