|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Адресация памяти и данных
Хотя все регистры данных, указателей и сегментов 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
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.) |