Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Режимы для указания адресов перехода



- внутрисегментный прямой;

- внутрисегментный косвенный;

- межсегментный прямой;

- межсегментный косвенный.

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 – со словом.

.

Однобайтовая команда:

 
 
КОП


Однобайтовая команда – регистровый режим:

 
 


КОП
11 REG R/M
Регистр – регистр:

Регистр в (из) память(и) без смещения:

       
   
 
КОП
 


Регистр в (из) память(и) со смещением:

               
   
 
КОП
   
мл. байт DISP
 
ст. байт DISP
 


Непосредственный операнд в регистр:

               
 
КОП
   
мл. байт DATA
 
ст. байт DATA


Непосредственный операнд в память:

                     
 
КОП
   
мл. байт DISP
 
ст. байт DISP
 
 
мл.байт DATA
 
ст.байт DATA


Рис.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; Прочитано: 470 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.009 с)...