Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 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; просмотров: 603; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.236 (0.006 с.) |