русс | укр

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

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

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

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


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

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


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


Любые варианты кодирования команд представляют собой подмножества общего формата команды, показанного на Рисунке 26-1. Команда состоит из опциональных префиксов команды, одного или двух байтов основного кода операции, возможно описателя адреса, состоящего из байта ModR/M и байта SIB (Scale Index Base, или Масштабный коэффициент Индекс База), смещения, если оно необходимо, и непосредственного поля данных, если оно необходимо.

------------------------------------------------------------------ Префикс | Префикс | Префикс |Переопределение команды | размера адреса |размера операнда| сегмента------------------------------------------------------------------ 0 или 1 | 0 или 1 | 0 или 1 | 0 или 1- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Число байтов------------------------------------------------------------------ ------------------------------------------------------------------ Код | MODR/M | SIB | Смещение | Непосредственный операции | | | | операнд------------------------------------------------------------------ 1 или 2 | 0 или 1 | 0 или 1 | 0,1,2 или 4 0,1,2 или 4- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Число байтов------------------------------------------------------------------ Рисунок 26-1. Формат команды процессора i486

Меньшие поля кодировки могут быть определены внутри основного кода операции или кодов операции. Эти поля определяют направление работы команды, размер смещений, кодировку регистров или расширение знаком; эти поля кодировки изменяются в зависимости от класса операции. Большинство команд, которые могут обращаться к операнду в памяти, имеют байт формы адресации, следующий после байта (байтов) основного кода операции. Этот байт, называемый ModR/M , задает используемую форму адреса. Некоторые кодировки байта ModR /M указывают на второй байт адресации, SIB (Масштабный коэффициент Индекс База), который следует за байтом ModR/M и необходим для полного определения формы адресации. Некоторые формы адресации могут включать величину смещения, непосредственно следующую за байтами ModR/M или SIB. При наличии смещения оно может занимать 8, 16 или 32 бита. Если в команде задан непосредственный операнд, то он всегда следует за байтами смещения. Непосредственный операнд, если он задан, всегда является последним полем команды.



Ниже приводятся допустимые коды префиксов команд:

F3H префикс REP (используется только со строковыми командами)

F3H префикс REPE/REPZ (используется только со строковыми командами).

F2H префикс REPNE/REPNZ (используется только со строковыми командами).

F0H префикс LOCK

Ниже приволятся префиксы переопределения сегментов:

2EH префикс переопределения сегмента CS

36H префикс переопределения сегмента SS

3EH префикс переопределения сегмента DS

26H префикс переопределения сегмента ES

64H префикс переопределения сегмента FS

65H префикс переопределения сегмента GS

66H переопределение размера операнда

67H переопределение размера адреса



<== предыдущая лекция | следующая лекция ==>
Отличия от систем 8086/8087. | Байты ModR/M и SIB


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


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

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

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


 


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

 
 

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

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