русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Формат команд


Дата добавления: 2015-06-12; просмотров: 730; Нарушение авторских прав


Каждая команда представляет собой закодированную информацию, содержащую код операции, подлежащей выполнению, тип операндов для данной операции и указание на расположение этих операндов. Если операнд расположен в памяти, в команде может содержаться явное или неявное указание на сегмент, содержащий указанный операнд. Команды состоят из отдельных элементов и могут иметь различные форматы. Точный формат команд приведен в Приложении B, а ниже описываются основные для всех команд элементы. Из всех описанных ниже элементов только один (код операции, Коп) обязательно присутствует в любой команде. Остальные элементы могут отсутствовать, что определяется характером операции, а также местоположением и типом операндов. Ниже описаны элементы команды в том порядке, как они расположены в команде:

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

  1. Замена (подавление) сегмента - в явной форме указывает, какой сегментный регистр должна использовать программа. Префикс отменяет действующий по умолчанию выбор сегментного регистра.
  2. Размер адреса - переключает разрядность адреса, определяя образование 32-разрядных или 16-разрядных адресов. Любой из этих размеров может быть выбираемым по умолчанию: данный префикс выбирает альтернативный размер.
  3. Размер операнда - переключает разрядность операндов, устанавливая их 32-разрядными или 16-разрядными. Любой из этих размеров может быть выбираемым по умолчанию: данный префикс выбирает альтернативный размер.
  4. Повторение - используется с командами обработки строк; заставляет команду воздействовать на каждый элемент строки.

Код операции (Коп): описывает операцию, выполняемую командой. Некоторым командам присущи несколько кодов операций, каждый из которых описывает определенный вариант операции.



Описатель регистра: в команде могут быть описаны один или два регистра в качестве операндов. Описатель регистра может присутствовать как в байте кода операции, так и в байте описателя режима адресации.

Описатель режима адресации: этот элемент, если он присутствует, описывает, является ли операнд содержимым регистра или ячейки памяти. Если операнд находится в памяти, описатель режима указывает, надо ли использовать смещение, индексный регистр, регистр базы и масштабирование.

SIB (scale-index-base, масштаб-индакс-база) байт: когда описатель режима адресации указывает на использование индексного регистра для вычисления адреса операнда, SIB байт используется для кодирования в команде базового регистра, индексного регистра и коэффициента масштабирования.

Смещение: Если описатель режима адресации указывает, что при вычислении адреса операнда будет использовано смещение, в состав кода команды включается поле смещения. Смещение представляет собой 8-, 16- или 32-разрядное целое число со знаком. 8-разрядная форма используется в тех случаях, когда значение смещения невелико. Процессор автоматически увеличит 8 -разрядное смещение до 16- или 32-разрядов, путем распространения его знакового разряда.

Непосредственный операнд: Если этот элемент присутствует, он представляет значение операнда команды. Непосрадственные операнды могут быть 8-, 16 или 32-разрядными. В случаях когда 8-разрядный непосредственный операнд используется в команде вместе с 16- или 32-разрядным операндом, процессор автоматически увеличивает размер 8-разрядного операнда путем расширения его знакового разряда. Таким же способом 16-разрядный операнд преобразуется в 32-разрядный.



<== предыдущая лекция | следующая лекция ==>
Указатель команд | Выбор операнда


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.195 сек.