АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Адресация памяти и данных

Читайте также:
  1. C.) При кодировании текстовой информации в кодах ASCII двоичный код каждого символа в памяти ПК занимает
  2. D) ограничен размером виртуальной памяти
  3. II. Диагностика памяти и внимания
  4. А) Организация кэш-памяти
  5. Альтернативные модели памяти
  6. Амнезии (нарушения памяти на события)
  7. Анализ статистических данных. Построение контрольных листков
  8. База данных.
  9. Бойцы, судьбы которых были прояснены в результате кропотливой поисковой работы, и которые не увековечены в других книгах памяти.
  10. В чем опасность согласия на сбор и обработку персональных данных.
  11. Введение в лабораторный практикум. Техника безопасности. Методы измерений различных величин и обработка экспериментальных данных.

 

Хотя все регистры данных, указателей и сегментов 16-разрядные, на шину адреса вызывается и используется при обращениях к оперативной памяти (ОП) 20-разрядные исполнительные (физические) адреса, позволяющие обращаться к ОП емкостью 1 Мбайт. Это становится возможным благодаря механизму сегментации памяти. В адресуемом пространстве выделяются сегменты, содержащие по 64 Кбайта. Допускаются перекрытия сегментов. Базовые (начальные) 16-разрядные адреса сегментов, хранятся в соответствующих сегментных регистрах, трактуются как 20-разрядные с нулями в четырех младших разрядах.

Физический адрес операнда или команды формируется, как показано на рис.3, суммированием содержимого сегментного регистра (СS), сдвинутого на четыре разряда влево и дополненного нулями, и так называемого эффективного адреса (смещения) ЕА, формируемого командой на основе содержащейся в ней информации о способе формирования этого адреса.

Рис.3. Схема формирования физического адреса

Если, например, (СS)=123А и (ЕА)=341В, то следующая команда будет выбрана по физическому адресу 157ВВ:

На рис.4 показано, каким образом можно распределить в памяти программный код, данные и стек.

Рис. 4. Распределение памяти под программный код и данные

 

Рассмотрим наиболее типичные режимы адресации микропроцессора ВМ86. Они разделяются на два класса - режимы адресации данных и режимы адресации переходов.

Адресация данных при использовании языка ASSEMBLER может быть выполнена несколькими способами.

1) Непосредственная. Данное длинной 8 или 16 бит являются частью команды.

2) Прямая. Шестнадцатибитный эффективный адрес (смещение относительно сегментного адреса области данных) является частью команды.

 

3) Регистровая. Данное содержится в определенном командойрегистре.

 

 

16-битный операнд может находиться в регистрах АХ, ВХ. СХ, DX. SI, DI, SP, ВР; 8-битный операнд в регистрах AL, АН, BL, BH, CL, CH, DL, DH.

4) Регистровая косвенная. Эффективный адрес данного находится в базовом регистре ВХ или индексном регистре, определенном командой.

 

 

5) Регистровая относительная. Эффективный адрес равен сумме 8 или 16-битового смещения и содержимого базового или индексного регистров.

 

6) Базовая индексная. Эффективный адрес равен сумме содержимого базового и индексного регистров определенных командой.

 

 

7) Относительная базовая индексная. Эффективный адрес равен сумме 8 или 16-битового смещения и содержимого базового и индексного регистров.

 

Отметим, что найденное ЕА в пунктах 2), 4), 5), 6). 7) суммируется с умноженным на 16 содержимым соответствующего сегментного регистра.

Рассмотрим пример. Предположим, что (ВХ)=0158, (DI)=10A5, смещение=1В57, (DS)=2100 и что в качестве сегментного регистра применяется DS. Тогда рассмотренные способы адресации дают следующие эффективные и физические адреса: Прямой: ЕА=1В57

Физический адрес=1В57+21000=22В57.

Регистровый:

ЕА нет- данное в указанном регистре.

Регистровый косвенный (с участием регистра ВХ):

ЕА=0158, физический адрес=0158+21000=21158.

Регистровый относительный (с участием регистра ВХ):

EA=O158+1B57=1CAF, физический адреса 1CAF+21OOO=22CAF.

Базовый индексный (с участием регистров ВХ и DI):

EA=O158+1OA5=11FD, физический адрес=11FD+21000=221FD.

Относительный базовый индексный (с участием регистров ВХ и DI):

EA=0158+10A5+lB57=2D54, физический aдрес=2D54+21000=23D54.

Отметим также, что способ формирования физического адреса зависит от типа данных, к которым обращается процессор во время работы. Правила формирования адреса ячейки памяти приведены в таблице 1.

Таблица 1

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |

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



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.)