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

Все сегментные регистры содержат адреса памяти, с которых начинаются соответствующие сегменты.

 

СS  
     
DS  
     
SS  
     
ES  
 
       

Рисунок 3. Сегментные регистры

CS – регистр сегмента кода (Code Segment). Содержит начальный адрес сегмента кода программы. Этот адрес плюс величина смещения в регистре ip (пара CS:IP) определяют адрес команды, которая должна быть выбрана процессором для выполнения.

DS – регистр сегмента данных (Data Segment). Хранит адрес сегмента, содержащего обрабатываемые программой данные. Этот адрес плюс величина смещения, определённая в команде, указывают на конкретную ячейку в сегмента данных.

SS – регистр сегмента стека (Stack Segment). Содержит начальный адрес сегмента стека.

ES– регистр дополнительного сегмента данных (Extra Segment). Некоторые операции со строками используют этот регистр для управления адресацией памяти. Ассемблерная программа должна инициализировать регистр es явно.