В этой лекции приводится краткий обзор набора команд процессоров IA-32, вплоть до самых последних процессоров, разделенный на следующие функциональные группы:
• Команды общего назначения
• Команды x87 FPU
• Команды управления состоянием x87 FPU и SIMD
• Команды MMX технологии
• Команды SSE расширений
• Команды SSE2 расширений
• Команды SSE3 расширений
• Системные команды
Некоторые из перечисленных команд и приемы программирования с их использованием подробно рассматриваются в последующих лекциях. При желании использовать ту или иную команду необходимо проверить по справочной документации, поддерживается ли она процессоров, установленным на Вашем компьютере, и используемой Вами системой программирования.
В таблице 3.1. приведены группы команд и процессоры фирмы Intel, поддерживающие эти группы команд
Таблица 3.1. Группы команд и процессоры IA-32
Группа команд |
Поддержка процессорами IA-32 |
Общего назначения |
Все процессоры IA-32 |
x87 FPU |
Intel486, Pentium, Pentium MMX, Celeron, Pentium Pro, Pentium II, Pentium II Xeon, Pentium III, Pentium III Xeon, Pentium 4, Intel Xeon (до процессоров Intel486 команды поддерживались дополнительным исполнительным устройством или в режиме эмуляции) |
x87 FPU and SIMD управления состоянием |
Pentium II, Pentium II Xeon, Pentium III, Pentium III Xeon, Pentium 4, Intel Xeon |
MMX технологии |
Pentium MMX, Celeron, Pentium II, Pentium II Xeon, Pentium III, Pentium III Xeon, Pentium 4, Intel Xeon |
SSE расширений |
Pentium III, Pentium III Xeon, Pentium 4, Intel Xeon |
SSE2 расширений |
Pentium 4, Intel Xeon |
SSE3 расширений |
Pentium 4, поддерживающий HT технологию (построенный на технологии 90nm) |
Системные команды |
Все процессоры IA-32 |
Ниже приводится список команд, разделенный на группы и подгруппы. Для каждой команды дается ее мнемоника и краткое описание. Если имеется две или более мнемоники, это означает, что эти команды имеют один и тот же код операций. У команд могут быть операнды. Обсуждение возможных операндов команд и особенностей использования команд будет производиться в последующих лекциях при изучении соответствующих групп команд. Цель настоящей лекции – дать общее представление о наборе команд.
Эта группа команд включает команды пересылки данных, команды целочисленной двоичной арифметики, команды десятичной арифметики, логические команды, команды сдвига и вращений, битовые и байтовые команды, команды управления программным потоком, цепочечные команды, команды для работы с регистром флагов, команды для работы с сегментными регистрами и обособленные команды. Эти команды могут использоваться, как в прикладных, так и в системных программах.
Команды пересылки данных перемещают данные между памятью, регистрами общего назначения и сегментными регистрами. Они также выполняют специфические операции такие как, условное перемещение, доступ к стеку и преобразование данных.
MOV Передвигает данные между регистрами общего назначения, между памятью и регистрами общего назначения или сегментными регистрами, непосредственные операнды в регистры общего назначения.
CMOVE/CMOVZ Условное перемещение, если равно/Условное перемещение, если ноль (ZF = 1)
CMOVNE/CMOVNZ Условное перемещение, если не равно/Условное перемещение, если не ноль (ZF = 0)
CMOVA/CMOVNBE Условное перемещение, если выше/Условное перемещение, если не ниже или равно
CMOVAE/CMOVNB Условное перемещение, если выше или равно/Условное перемещение, если не ниже
CMOVB/CMOVNAE Условное перемещение, если ниже/Условное перемещение, если не выше или равно
CMOVBE/CMOVNA Условное перемещение, если ниже или равно/Условное перемещение, если не выше
CMOVG/CMOVNLE Условное перемещение, если больше/Условное перемещение, если не меньше или равно
CMOVGE/CMOVNL Условное перемещение, если больше или равно/Условное перемещение, если не меньше
CMOVL/CMOVNGE Условное перемещение, если меньше/Условное перемещение, если не больше или равно
CMOVLE/CMOVNG Условное перемещение, если меньше или равно/Условное перемещение, если не больше
CMOVC Условное перемещение, если CF = 1
CMOVNC Условное перемещение, если CF = 0
CMOVO Условное перемещение, если OF = 1
CMOVNO Условное перемещение, если OF = 0
CMOVS Условное перемещение, если SF = 1
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.