Мегаобучалка Главная | О нас | Обратная связь


Вопрос 41 Форматы команд и данных 16 разрядного процессора I8086



2015-12-07 705 Обсуждений (0)
Вопрос 41 Форматы команд и данных 16 разрядного процессора I8086 0.00 из 5.00 0 оценок




Система команд i8086 включает 133 базовые команды и позволяет обрабатывать 8- и 16-разрядные данные. Команды могут быть безоперандными, а также содержать один или два операнда. Длина команд может составлять от 1 до 6 байт. Код операции находится в первом байте команды, а остальные байты содержат информацию об адресах операндов. Чтобы различать операции над байтами или словами, в первом байте команды используется специальный разряд W. При W=1 операции выполняются с 16-разрядными данными. В микропроцессоре используются почти все известные способы адресации, что связано с наличием большого набора регистров. При выполнении команд по умолчанию возможны дополнительные варианты адресации, которые задаются с помощью специального однобайтового префикса замены сегмента, записываемого перед командой. Он информирует микропроцессор об использовании для адресации операнда сегментного регистра, отличающегося от регистра, выбираемого по умолчанию. Сегментные регистры ES, CS, SS, DS в 2-разрядном поле reg задаются кодами 00, 01, 10, 11 соответственно.

биты: 4-3
содержимое: reg

Вид адресации в команде чаще всего задается байтом, следующим за кодом операции. Байт адресации может определять один или два операнда, его структура представлена ниже. Он содержит поле режима (mod), поле регистра (reg) и поле регистр-память (r/m). Для вычисления исполнительного адреса (ЕА) применяется поле mod или r/m, а также байты смещения (DISP), расположенные в команде непосредственно за байтом адресации.

биты: 7-6 5-3 2-0
содержимое: mod reg r/m

При прямой адресации исполнительный адрес находится непосредственно в поле смещения кода команды. В командах безусловных переходов и обращения к подпрограммам прямой адрес формируется из 16-разрядного адреса сегмента (SEG) и 16-разрядного смещения (DISP) (см. ниже). В процессе выполнения команды смещение передается в указатель команд IP, а базовый адрес сегмента - в регистр CS:

биты: 7-0 7-0 7-0 7-0 7-0
содержимое: cop displ disph segl segh
  EA
IP CS

В командах обработки данных прямой адрес представляется смещением, следующим за байтом адресации, в формате, изображенном ниже. Разряд d в поле кода операции cop задает направление передачи данных, определяемых полем reg в байте адресации. При d=1 передача операнда производится в регистр задаваемый полем reg в соответствии с кодировкой.

биты: 7-2 5-3 7-0 7-0
содержимое: cop d w reg displ disph
  EA

Прямая адресация используется и в командах передачи данных между аккумулятором и памятью:

биты: 7-1 7-0 7-0
содержимое: cop w addrl addrh
  EA

В командах с регистровой адресацией операнд находится в одном из регистров общего назначения. Эти команды наиболее компактны и быстро выполнимы т.к. для адресации регистров необходимы 2-3 разряда кода команды, а выполнение этих команд полностью осуществляется внутри микропроцессора. Регистровая адресация может задаваться в байте кода операции:

биты: 7-3 2-0
содержимое: cop reg

или с помощью байта адресации:

биты: 7-2 7-0
содержимое: cop d w mod reg r/m

В командах с двумя операндами при mod=1 используются два регистра, и второй регистр указывается кодом в поле r/m:

биты: 7-2 5-0
содержимое: cop d w reg r/m

Непосредственная адресация позволяет задавать постоянные данные в виде составных частей команды и используется в большинстве команд с двумя операндами. Непосредственный операнд data занимает один или два байта в конце кода команды причем младший байт всегда предшествует старшему. Однобайтовый непосредственный операнд записывается в дополнительном коде и может представлять константы в диапазоне от -128 до +127. Закрашенные участки при изображении байтов указывают на возможность отсутствия их в формате команды, при выполнении определенных условий. Например, 16-разрядный непосредственный операнд используется только при w=1.

биты: 7-1 7-0 7-0 7-0 7-0 7-0
содержимое: cop w mod 000 r/m displ disph data data

 

биты: 7-4 2-0 7-0 7-0
содержимое: cop w reg data data

Представленные два формата команд применяются в командах передачи данных и позволяют загрузить непосредственный операнд по адресу памяти, вычисленному с помощью байта адресации, или в некоторый регистр, определяемый полем reg.
Ниже изображен формат арифметических команд, позволяющих использовать непосредственный операнд длиной в слово при sw=01, или, при s=1, непосредственный операнд в диапазоне от -128 до +127, записываемый в дополнительном коде. В этом формате 3-разрядный код ссс в поле reg служит для идентификации разновидности арифметической операции.

биты: 7-2 7-0 7-0 7-0 7-0 7-0
содержимое: cop s w mod ccc r/m displ disph data data

Формат, представленный ниже, используется в командах арифметических и логических операций, содержащих второй операнд в аккумуляторе AX:

биты: 7-1 7-0 7-0
содержимое: cop w data data

Непосредственный операнд, представляющий константу, добавляемую к содержимому указателя стека SP, может использоваться в команде возврата из подпрограммы, формат которой представлен ниже:

биты: 7-0 7-0 7-0
содержимое: cop datal datah

В командах с регистровой косвенной адресацией 16-разрядный исполнительный адрес EA находится в одном из регистров reg, задаваемых полем r/m байта адресации (см. ниже). В этом способе адресации может использоваться только один из регистров - BX, SI или DI.

биты: 7-2 5-0
содержимое: cop d w reg r/m
  r/m = BX/SI/DI

 


 



2015-12-07 705 Обсуждений (0)
Вопрос 41 Форматы команд и данных 16 разрядного процессора I8086 0.00 из 5.00 0 оценок









Обсуждение в статье: Вопрос 41 Форматы команд и данных 16 разрядного процессора I8086

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...
Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной...
Как построить свою речь (словесное оформление): При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (705)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.009 сек.)