Формат команды процессора Intel с архитектурой IA-32

Содержание

Слайд 2

Общие сведения о формате команды

Префиксы (0-5 байт)
Блокировки
Замены сегмента
Замены длины операнда и длины

Общие сведения о формате команды Префиксы (0-5 байт) Блокировки Замены сегмента Замены
адреса
Повторений
Код команды (1-2 байта)
Может включать в себя специальные поля регистра, размера операнда, размера непосредственного значения, направления выполнения команды, кода условия
Mod R/M (0-1) байт
Определяет способ адресации нерегистрового операнда, регистр или дополнительный код операции

Слайд 3

Общие сведения о формате команды

SIB – Scale-Index-Base
Дополнительное поле для адресации в 32-х

Общие сведения о формате команды SIB – Scale-Index-Base Дополнительное поле для адресации
разрядном режиме. Хранит коэффициент масштаба, номера индексного и базового регистров

Непосредственное значение (0-4 байта)
Смещение (0-4 байта). В командах дальних переходов хранится 2 поля – смещение и селектор сегмента

Слайд 4

Префиксы

Префиксы

Слайд 5

Префиксы

Префиксы

Слайд 6

Пример формирования префикса повторения

Пример формирования префикса повторения

Слайд 7

Префиксы

Префиксы

Слайд 8

Пример формирования префикса замены сегмента

Пример формирования префикса замены сегмента

Слайд 9

Префиксы

Префиксы

Слайд 10

Пример формирования префикса OS

Пример формирования префикса OS

Слайд 11

Пример формирования префикса AS

Пример формирования префикса AS

Слайд 12

Поля кода операции

Поля кода операции

Слайд 13

Поля кода операции

Поля кода операции

Слайд 14

Коды регистров

Коды регистров

Слайд 15

Коды условий

Коды условий

Слайд 16

Формирование поля reg

Формирование поля reg

Слайд 17

Формирование поля w

Формирование поля w

Слайд 18

Формирование поля s

Формирование поля s

Слайд 19

Формирование поля d

Формирование поля d

Слайд 20

Формирование поля d

MOV x, dx

MOV dx, x

Формирование поля d MOV x, dx MOV dx, x

Слайд 21

Поле кода условий в командах условного перехода

Поле кода условий в командах условного перехода

Слайд 22

Поле MOD R/M

Поле MOD R/M

Слайд 23

Значение поля mod

Значение поля mod

Слайд 24

Значение поля R/O

Продолжение кода операции
Номер регистра

Значение поля R/O Продолжение кода операции Номер регистра

Слайд 25

Значение поля R/M

Значение поля R/M

Слайд 26

Примеры формирования Mod R/M

CMP EDX, [EBX]

MOV AX, ARR[BX]

Примеры формирования Mod R/M CMP EDX, [EBX] MOV AX, ARR[BX]

Слайд 27

Поле SIB

Поле SIB

Слайд 28

Значение поля S (Scale)

Значение поля S (Scale)

Слайд 29

Значение полей I (Index) и B (Base)

Значение полей I (Index) и B (Base)

Слайд 30

Формирование поля SIB

ADD EAX,[ESP]

Формирование поля SIB ADD EAX,[ESP]

Слайд 31

Непосредственное значение

необязательное поле команды, которое может занимать 0, 1, 2 или 4

Непосредственное значение необязательное поле команды, которое может занимать 0, 1, 2 или
байта. Размер непосредственного операнда определен несколькими факторами:
разрядностью программного сегмента;
наличием в команде префикса OS = 66h;
значением бита s, который позволяет сохранять в тексте программы только младший байт 16-ти или 32-х битного непосредственного операнда, если его значение попадает в диапазон для короткого целого числа со знаком
Имя файла: Формат-команды-процессора-Intel-с-архитектурой-IA-32.pptx
Количество просмотров: 94
Количество скачиваний: 0