Сегментные регистры отвечают за сегменты памяти. Каждый сегментный регистр определяет адрес начала сегмента в памяти, при этом сегменты могут совпадать или пересекаться. По умолчанию регистр CS используется при выборке инструкций, регистр SS при выполнении операций со стеком, регистры DS и ES при обращении к данным.
Реальный режим работы - режим совместимости современных процессоров с 8086. Разрядность шины адреса - 20 бит, т.е. с помощью неё можно адресовать 2^20 байт = 1 Мб.
Линейный адрес конкретной ячейки памяти делится на две части: сегмент и смещение.
Физический адрес получается сложением адреса начала сегмента (на основе сегментного регистра) и смещения.
Память в реальном режиме работы процессора - пример.
| Номер параграфа начала сегмента | 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 | Смещение |
[SEG]:[OFFSET]
=> физический адрес:
5678h:1234h => 56780
Вычисление физического адреса выполняется процессором аппаратно, без участия программиста.