Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Способы обращения к памяти ЭВМ.
Режимы адресации данных: 1. Регистровая адресация. 2. Непосредственная адресация. 3. Прямая адресация. 4. Косвенная регистровая адресация. 5. Адресация по базе. 6. Прямая адресация с индексированием. 7. Адресация по базе с индексированием. Микропроцессор выбирает один из семи режимов адресации по значению поля режима команды. Ассемблер присваивает то или иное значение полю режима в зависимости от того, какой вид имеют операнды в исходной программе. Например, если вы написали MOV АХ,ВХ то Ассемблер закодирует оба операнда (АХ и ВХ) для регистровой адресации. Однако если Вы заключили операнд-источник в квадратные скобки: MOV AХ,[ВХ] то Ассемблер закодирует операнд-источник для косвенной регистровой адресации. В табл. 1 приведены форматы операндов языка ассемблера для всех семи режимов адресации, реализуемых микропроцессором 8x86, и для каждого формата указано, какой из регистров сегмента используется для вычисления физического адреса. Обратите внимание, что во всех режимах предполагается доступ к сегменту данных (т. е. регистром сегмента служит регистр DS), и только в тех случаях, когда используется регистр ВР, предполагается доступ к сегменту стека (т. е. регистром сегмента служит регистр SS). Важное замечание: при исполнении команд микропроцессора 8x86, манипулирующих строками, предполагается, что регистр DI указывает на ячейку дополнительного сегмента, а не сегмента данных. Таким образом, в качестве регистра сегмента эти команды используют регистр ES. Все другие команды исполняются по правилам, описанным в табл.1.
Таблица 1. Режимы адресации микропроцессора 8x86
Примечания к таблице: 1. Компонент сдвиг при адресации по базе с индексированием необязателен. 2. Операнд регистр может быть любым 8-ми 16-и битовым регистром, кроме регистра IP. 3. Операнд данное может быть 8- или 16-битовым значением константы.
4. Компонент сдвиг может быть 8- или 16-битовым значением смещения со знаком.
Регистровая и непосредственная адресация При регистровой адресации микропроцессор 8x86 извлекает операнд из регистра (или загружает его в регистр). Например, команда MOV AХ,СХ копирует 16-битовое содержимое регистра счетчика СХ в аккумулятор АХ. Содержимое регистра СХ не изменяется. В данном примере микропроцессор 8x86 использует регистровую адресацию для извлечения операнда-источника из регистра СХ и загрузки его в регистр-приемник АХ. Непосредственная адресация позволяет Вам указывать 8- или 16-битовое значение константы в качестве операнда-источника. Эта константа содержится в команде (куда она помещается Ассемблером), а не в регистре или в ячейке памяти. Например, команда MOV СХ,500 загружает значение 500 в регистр СХ, а команда MOV CL,-30 загружает значение - 30 в регистр CL. Чтобы избежать трудностей, помните, что допустимые значения для 8-битовых чисел со знаком ограничены диапазоном от -128 (80Н) до 127 (7FH), а допустимые значения 16-битовых чисел со знаком — диапазоном от —32768 (8000Н) до 32767 (7FFFH). Максимальные значения 8-битовых чисел без знака равны соответственно 255 (OFFH) и 65535 (OFFFFH).
Прямая адресация При прямой адресации исполнительный адрес является составной частью команды (так же, как значения при непосредственной адресации). Микропроцессор 8x86 добавляет этот исполнительный адрес к сдвинутому содержимому регистра сегмента данных DS и получает 20-битовый физический адрес операнда. Обычно прямая адресация применяется, если операндом служит метка. Например, команда MOV AX,TABLE загружает содержимое ячейки памяти TABLE в регистр АХ. На рис. 1 показана схема исполнения этой команды. Обратите внимание на то, что против ожидания микропроцессор 8x86 заполняет данные в памяти в обратном порядке. Старший байт слова следует за младшим байтом, а не предшествует ему. Чтобы усвоить это, запомните, что старшая часть (старшие биты) данных располагается в ячейках памяти со старшими адресами.
|
|||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2017-02-21; просмотров: 453; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.136.154.103 (0.005 с.) |