Помощь в написании студенческих работ
Антистрессовый сервис

Структура машинной команды

РефератПомощь в написанииУзнать стоимостьмоей работы

Объекты, над которыми нужно что-то делать (эти элементы называются операндами); Префикс разрядности адреса уточняет разрядность адреса (32- или 16-разрядный); Поле mod определяет количество байт, занимаемых в команде адресом операнда; Обязательный элемент, описывающий операцию, выполняемую командой. Префикс повторения используется с цепочечными командами. Максимальная длина машинной команды — 15… Читать ещё >

Структура машинной команды (реферат, курсовая, диплом, контрольная)

Машинная команда представляет собой закодированное по определенным правилам указание микропроцессору на выполнение некоторой операции или действия. Каждая команда содержит элементы, определяющие:

  • 1) что делать?
  • 2) объекты, над которыми нужно что-то делать (эти элементы называются операндами);
  • 3) как делать?

Максимальная длина машинной команды — 15 байт.

1. Префиксы.

Необязательные элементы машинной команды, каждый из которых состоит из 1 байта или может отсутствовать. В памяти префиксы предшествуют команде. Назначение префиксов — модифицировать операцию, выполняемую командой. Прикладная программа может использовать следующие типы префиксов:

  • 1) префикс замены сегмента;
  • 2) префикс разрядности адреса уточняет разрядность адреса (32- или 16-разрядный);
  • 3) префикс разрядности операнда аналогичен префиксу разрядности адреса, но указывает на разрядность операндов (32- или 16-разрядные), с которыми работает команда;
  • 4) префикс повторения используется с цепочечными командами.
  • 2. Код операции.

Обязательный элемент, описывающий операцию, выполняемую командой.

3. Байт режима адресации modr/m.

Значения этого байта определяет используемую форму адреса операндов. Операнды могут находиться в памяти в одном или двух регистрах. Если операнд находится в памяти, то байт modr/m определяет компоненты (смещение, базовый и индексный регистры),.

используемые для вычисления его эффективного адреса. Байт modr/m состоит из трех полей:

  • 1) поле mod определяет количество байт, занимаемых в команде адресом операнда;
  • 2) поле reg/коп определяет либо регистр, находящийся в команде на месте первого операнда, либо возможное расширение кода операции;
  • 3) поле r/m используется совместно с полем mod и определяет либо регистр, находящийся в команде на месте первого операнда (если mod = 11), либо используемые для вычисления эффективного адреса (совместно с полем смещение в команде) базовые и индексные регистры.
  • 4. Байт масштаб — индекс — база (байт sib). Используется для расширения возможностей адресации операндов. Байт sib состоит из трех полей:
  • 1) поля масштаба ss. В этом поле размещается масштабный множитель для индексного компонента index, занимающего следующие 3 бита байта sib;
  • 2) поля index. Используется для хранения номера индексного регистра, который применяется для вычисления эффективного адреса операнда;
  • 3) поля base. Используется для хранения номера базового регистра, который также применяется для вычисления эффективного адреса операнда.
  • 5. Поле смещения в команде.
  • 8-, 16- или 32-разрядное целое число со знаком, представляющее собой, полностью или частично (с учетом вышеприведенных рассуждений), значение эффективного адреса операнда.
  • 6. Поле непосредственного операнда. Необязательное поле, представляющее собой 8-,
  • 16- или 32-разрядный непосредственный операнд. Наличие этого поля, конечно, отражается на значении байта modr/m.
Показать весь текст
Заполнить форму текущей работой