![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
- внутрисегментный прямой;
- внутрисегментный косвенный;
- межсегментный прямой;
- межсегментный косвенный.
1. Внутрисегментный прямой: эффективный адрес перехода равен сумме содержимого (IP) + 8 или 16-битного смещения, которое указа в адресной части команды. В командах условного перехода используется только 8-битное смещение.
2. Внутрисегментный косвенный: эффективный адрес перехода есть содержимое регистра или ячейки памяти, которые указываются в любом режиме (кроме непосредственного) адреса или данных. Содержимое IP заменяется эффективным адресом перехода.
3. Межсегментный прямой: заменяет содержимое IP одной частью команды, а содержимое CS другой частью команды. Назначение данного режима адресации- обеспечить переход из одного программного модуля в другой.
4. Межсегментный косвенный: заменяет содержимое IP и CS содержимым двух смежных слов из памяти, которые определяются в любом режиме адресации данных, кроме непосредственного и регистрового. Межсегментный переход может быть только безусловным.
Таблица 5
Выбор сегментных регистров и внутрисегментного смещения
Тип обращения к памяти | Сегментный регистр | Внутрисегментное смещение |
Выборка команды | CS | IP |
Обращение к стеку | SS | SP |
Адресация операнда | DS (CS,ES, SS)* | EA |
Адресация элемента строки источника | DS (CS,ES, SS)* | SI |
Адресация элемента строки приемника | ES | DI |
Адресация операнда с использованием в качестве базового регистра BP | SS (CS, DS, ES)* | EA |
*В скобках в таблице 5 указаны сегментные регистры, которые могут использоваться с однобайтовой командой префикс замены.
3.1.3. Форматы команд
Несколько типичных форматов команд МП8086 приведено на рис 3. Длина команд варьируется от 1 до 6 байт. Длина смещений DISP и непосредственных данных DATA может быть 8 или 16 бит и зависит от бита W (0- бит) в поле КОП. Если W=0, то производится операция с байтом, при W=1 – со словом.
.
Однобайтовая команда:
|
Однобайтовая команда – регистровый режим:
![]() |
|
|
Регистр в (из) память(и) без смещения:
![]() | |||
| |||
Регистр в (из) память(и) со смещением:
![]() | |||||||||
|
|
| |||||||
Непосредственный операнд в регистр:
| ![]() |
|
|
Непосредственный операнд в память:
| ![]() |
|
| |||||||
|
|
Рис.3 Типичные форматы команд МП 8086
3.1.4 Описание системы команд
Система команд МП 8086 содержит 91 мнемокод и позволяет совершать операции над байтами, двухбайтовыми словами, отдельными битами, а также цепочками байтов и слов. Имеется широкий набор арифметических команд, включающий умножение и деление, который ориентирован на обработку как без знаковых, так и знаковых чисел. Весьма разнообразны команды пересылки данных, логических операций, переходов в программе и вызовов подпрограмм, а также управление МП. Число вариантов команд, т.е. число различных машинных кодов, превышает 3600, благодаря использованию различных способов адресации в их различных модификациях. Тем самым обеспечивается гибкость применения большого числа команд, что позволяет выбрать наиболее рациональные способы адресации в конкретных случаях. Это особенно важно при обработке сложных структур данных.
По функциональному признаку система команд МП 8086 разбивается на шесть групп:
- пересылка данных;
- арифметические операции;
- логические операции и сдвиги;
- передача управления;
- обработка цепочек;
- управление МП.
В наиболее компактной форме система команд представлена в таблице 6, в которой арифметические и логические команды объединены исходя из общности параметров этих команд и одинаковой последовательности действия МП при их выполнении. В таблице 6 введены следующие обозначения: r – регистр общего назначения; sr – сегментный регистр; m – адрес ячейки памяти, который указывается в мнемокоде в соответствии с используемым способом адресации; d – непосредственный операнд; ac - аккумулятор AX или AL; p – адрес 8-разрядного порта ввода-вывода; disp – смещение при адресации относительно IP; addr – указатель адреса при межсегментных переходах и вызовах; type – тип (вектор) прерывания; cond – условия в команде условных переходов.
В таблице 6 представлены все мнемонические обозначения команд и все допустимые варианты представления операндов. Для каждого варианта указано число байтов в формате nb и число тактов синхронизации nt, требуемое для выполнения команды. Значение Е, равное числу тактов, которое требуется для вычисления эффективного адреса ЕА, должно соответствовать указанному в команде способу адресации. Если имеется два варианта команды, определяющие одно и то же действие, то в таблице 6 приводится более короткий вариант. Команды, которые имеют общие форматы, и одинаковые варианты представления операндов при одинаковом времени выполнения (т.е. различаются только операциями, производимыми над операндами), приводятся в одной строке.
Таблица 6
Дата публикования: 2015-11-01; Прочитано: 494 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!