Ф ОРМАТ КОМАНДЫ ПРОЦЕССОРА I NTEL С АРХИТЕКТУРОЙ IA-32.

Презентация:



Advertisements
Похожие презентации
Набор инструкций. Набор команд это множество операций, которое исполняет процессор. Набор команд -- это та граница, где проектировщик компьютера и программист.
Advertisements

Набор инструкций. Набор команд это множество операций, которое исполняет процессор. Набор команд это та граница, где проектировщик компьютера и программист.
Программирование на Ассемблер к.т.н., доц. Красов А.В. Лекция 3 ФакультетМТС Курс3 Семестр6 Форма контролязачет Лекции14 часов Лабораторные работы12 часов.
Intel архитектура IA16 Основа большинства современных компьютеров.
Лекция 6. Способы адресации в микропроцессорных системах.
Адресация Адресация Уточним понятие "адресация". Адресация (по Э. Таненбауму) – процесс определения местоположения операндов команды МП (их адреса). Адрес.
Определение констант для размещения их компилятором в составе инструкций языка Определение числовых констант: имя = значение PI= V_size = 5 M_size.
Учебный курс Принципы построения и функционирования ЭВМ Лекция 10 Типы адресации. Стеки. Процессоры. ОЗУ. профессор ГУ-ВШЭ, доктор технических наук Геннадий.
Программирование на Ассемблер к.т.н., доц. Красов А.В. Лекция 1 ФакультетМТС Курс3 Семестр6 Форма контролязачет Лекции14 часов Лабораторные работы12 часов.
Процессоры Intel в защищенном режиме. Недостатки реального режима Невозможно адресовать пространство памяти свыше 1-го Мб Невозможно работать с массивами,
Программирование на Ассемблер к.т.н., доц. Красов А.В. Лекция 6 ФакультетМТС Курс3 Семестр6 Форма контролязачет Лекции14 часов Лабораторные работы12 часов.
Архитектура ЭВМ Практика 3. Линейные программы на языке ассемблера.
Арифметическиеи логические команды языка Ассемблер. Битовые команды.
Представление чисел в компьютере Терехова Н.А.. Представление чисел в формате с фиксированной запятой.
Организация обмена информацией Функции устройств магистрали.
Регистры общего назначения – сумматор, регистр данных, адресный регистр и т.д. Арифметико- логическое устройство Устройство управления
Представление числовой информации в компьютере Компьютерное представление целых чисел.
Тема 2. Способы адресации и система команд МП. Непосредственная адресация Суть способа. Требуемые данные (#data ̶ непосредственный операнд, константа)
Внутренняя память ПК условно делится на ячейки, каждая из которых имеет свой номер. Нумерация начинается с нуля
Обзор архитектуры IA32/EM64T Юрий Долгов, Дмитрий Шкурко.
Транксрипт:

Ф ОРМАТ КОМАНДЫ ПРОЦЕССОРА I NTEL С АРХИТЕКТУРОЙ IA-32

О БЩИЕ СВЕДЕНИЯ О ФОРМАТЕ КОМАНДЫ Префиксы (0-5 байт) Блокировки Замены сегмента Замены длины операнда и длины адреса Повторений Код команды (1-2 байта) Может включать в себя специальные поля регистра, размера операнда, размера непосредственного значения, направления выполнения команды, кода условия Mod R/M (0-1) байт Определяет способ адресации нерегистрового операнда, регистр или дополнительный код операции modR/OR/M

О БЩИЕ СВЕДЕНИЯ О ФОРМАТЕ КОМАНДЫ SIB – Scale-Index-Base Дополнительное поле для адресации в 32-х разрядном режиме. Хранит коэффициент масштаба, номера индексного и базового регистров scaleindexbase Непосредственное значение (0-4 байта) Смещение (0-4 байта). В командах дальних переходов хранится 2 поля – смещение и селектор сегмента

П РЕФИКСЫ

П РИМЕР ФОРМИРОВАНИЯ ПРЕФИКСА ПОВТОРЕНИЯ

П РЕФИКСЫ

П РИМЕР ФОРМИРОВАНИЯ ПРЕФИКСА ЗАМЕНЫ СЕГМЕНТА

П РЕФИКСЫ

П РИМЕР ФОРМИРОВАНИЯ ПРЕФИКСА OS

П РИМЕР ФОРМИРОВАНИЯ ПРЕФИКСА AS

П ОЛЯ КОДА ОПЕРАЦИИ

К ОДЫ РЕГИСТРОВ

К ОДЫ УСЛОВИЙ

Ф ОРМИРОВАНИЕ ПОЛЯ REG

Ф ОРМИРОВАНИЕ ПОЛЯ W

Ф ОРМИРОВАНИЕ ПОЛЯ S

Ф ОРМИРОВАНИЕ ПОЛЯ D

MOV x, dx MOV dx, x

П ОЛЕ КОДА УСЛОВИЙ В КОМАНДАХ УСЛОВНОГО ПЕРЕХОДА

П ОЛЕ MOD R/M modR/OR/M

З НАЧЕНИЕ ПОЛЯ MOD

З НАЧЕНИЕ ПОЛЯ R/O Продолжение кода операции Номер регистра

З НАЧЕНИЕ ПОЛЯ R/M

П РИМЕРЫ ФОРМИРОВАНИЯ M OD R/M CMP EDX, [EBX] MOV AX, ARR[BX]

П ОЛЕ SIB scaleindexbase

З НАЧЕНИЕ ПОЛЯ S (S CALE )

З НАЧЕНИЕ ПОЛЕЙ I (I NDEX ) И B (B ASE )

Ф ОРМИРОВАНИЕ ПОЛЯ SIB ADD EAX,[ESP]

Н ЕПОСРЕДСТВЕННОЕ ЗНАЧЕНИЕ необязательное поле команды, которое может занимать 0, 1, 2 или 4 байта. Размер непосредственного операнда определен несколькими факторами: разрядностью программного сегмента; наличием в команде префикса OS = 66h; значением бита s, который позволяет сохранять в тексте программы только младший байт 16-ти или 32-х битного непосредственного операнда, если его значение попадает в диапазон для короткого целого числа со знаком

С МЕЩЕНИЕ Если в команде используется смещение, то поле mod должно принимать значения 01 или 10. В случае, если mod = 01 используется 8-ми битное смещение, а при mod = 10 – 16-ти или 32-х разрядное смещение. Если в команде используется прямая адресация, то требуется, чтобы поле mod = 00, а поле R/M принимало значение 110 для указания 16- ти разрядного смещения в 16-ти разрядных сегментах, и 101 – для 32-х разрядного смещения в 32-х разрядных сегментах. Использование 32-х или 16-ти разрядного смещения зависит от разрядности сегмента и наличия префикса AS = 67h. В случае, когда разрядность сегмента кода не совпадает с разрядностью сегмента данных, команда обязательно формируется с преaиксом AS, а разрядность смещения устанавливается по разрядности сегмента кода. При использовании индексной адресации через 32-х разрядные регистры без указания регистра базы обязательно формируется 32-х разрядное смещение, даже если оно не было указано. При адресации через 32-х разрядные регистры с использованием регистра базы размер смещения может быть оптимизирован (хранится в виде одного байта), если его значение находится в диапазоне