Каждый из сегментных регистров имеет свое, отмеченное выше назначение. В некоторых случаях, однако,  более удобна связь  с данными  вне сегмента  данных,  например, с  небольшой  областью данных в  программе. В большинстве случаев программа работает с данными в той  области, на  которую  указывает регистр  DS,  но иногда программе  требуется ссылка на  локальную переменную,  находящуюся в  кодовом  сегменте программы.  Чтобы осуществить  эту  ссылку,  приходится  изменять обычное использование  сегментов. Фиг.3.8 показывает такую  организацию программы.

               ГДДДДДДДДДДДДДДДДДДДЕДДДДДД CS

               і Программа и і

               і             і

               і  локальные данные і

               і             ГДДДДДД CS:LOCAL_VALUE

               ГДДДДДДДДДДДДДДДДДДДґ

               і             і

               і             і

               і             і

               ЕДДДДДДДДДДДДДДДДДДДЕДДДДДД DS

               і  Основная   і

               і             і

               і область даных     і

               і             і

               ГДДДДДДДДДДДДДДДДДДДґ

               і             і

       Фиг. 3.8 Переназначение CS на локальные данные.

Вместо  изменения значения  регистра DS,  чтобы он указывал на  программный сегмент, команда изменяет  ссылку на данные, показывая,  что переменная расположена в сегменте кодов (Code Segment).

  INC CS:LOCAL_VARIABLE

Это делается с  помощью префикса  "CS:". В  машинном языке команда  переопределения  сегмента выглядит  как однобайтовый  префикс перед  обычной командой машинного языка. 8088 понимает этот префикс переназначения  сегмента и  изменяет обычный  способ вычисления адреса.  Вместо регистра DS процессор  использует для вычисления физического  адреса данных  регистр  CS.Одного  префикса  в  команде  всегда  достаточно, так  как 8088 может адресоваться в ней не более  чем к  одной ячейке памяти.

Для нормального  обращения к данным команда может использовать  любой из четырех сегментных регистров. Регистр DS используется по  умолчанию,  то есть  когда в  команде не  указан другой  сегментный  регистр, то  используется  DS. Помните,  что  при использовании в  адресных вычислениях регистра BP  сегментом по умолчанию становится  стековый сегмент.  Команда может определить и  любой из трех других  сегментных  регистров, указав  его в  адресном выражении. Некоторые  команды, правда,  не могут пользоваться переназначением сегментов.  Это - команды обработки строк.  Строковая  команда  определяет  использование  регистров  неявным  образом, и  оно  не  может быть  изменено. В главе 4 мы обсудим строковые команды и их специфическое  пользование сегментами.