Регистры общего назначения

· регистры данных – ax, cx, dx и bx (по возрастанию адресов),

· регистры адресов – sp, bp, si и di (по возрастанию адресов).

Регистр bx, хоть его и относят к группе регистров данных, является и одним из регистров адреса базы данных (для сегмента DS).

Регистр dx может использоваться в качестве адресного регистра портов в командах ввода/вывода.

Регистры cx, si и di по умолчанию используются при обработке строк.

 

   
ax ah al Аккумулятор
cx ch cl Счетчик
dx dh dl Данные
bx bh bl База (для DS)
  sp Указатель стека
  bp База кадра стека SS)
  si Индекс источника
  di Индекс приемника
  Рис. 3.2 РОНы  

 

Сегментные регистры и трансляция сегментов

Адрес объекта в сегментированной памяти задается двумя компонентами: базовым адресом сегмента и смещением в сегменте. В команде задается только смещение в сегменте. Базовый адрес сегмента задается содержимым одного из четырех сегментных регистров

МП IA-16 содержали четыре 16-разрядных сегментных регистра:

· ES – регистр дополнительного сегмента данных,

· CS– регистр сегмента кода,

· SS – регистр сегмента стека,

· DS – регистр сегмента данных,

Преобразование адреса сегментированной памяти в адрес линейной (плоской) памяти производится процедурой трансляции сегмента: сложением базового адреса сегмента с адресом операнда в сегменте.

Но сегментные регистры 16-битные, а базовые адреса должны быть 20- битными. Поэтому при использовании сегментных регистров их содержимое умножается на 16 добавлением четырех нулей после младшего разряда.

Таким образом, адрес в сегменте математической памяти МП IA-16 задается тремя компонентами: B (база), X (индекс) и disp (смещение).

Для вычисления адреса обращения к физической памяти (при сегментированной структуре математической памяти) требуются, по крайней мере, две процедуры:

· вычисление прямого адреса в сегменте по компонентам (В), (Х) и disp,

· преобразование адреса в сегменте сегментированной памяти в адрес линейной физической памяти.

Результатом первого преобразования адреса является получение одного компонента логического адреса – смещения в сегменте, результатом второго преобразования – получение смещения в линейной памяти.

Для уменьшения неопределенности при использовании вышеописанных смещений используют термины:

· disp– для обозначения смещения в кадре сегмента,

· offset – для обозначения смещения в сегменте,

· линейный адрес – для обозначения адреса (смещения) в линейной (не сегментированной) памяти.








Дата добавления: 2015-08-14; просмотров: 664;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.