Команды общего назначения
Целочисленный процессор
Классификация команд
Имеются наборы команд для разных узлов процессора:
· Целочисленный процессор.
· Арифметический сопроцессор с плавающей точкой.
· Целочисленное MMX расширение.
· XMM расширение с плавающей точкой, 70 команд..
Команда | Описание |
MOV приемник, источник | MOVe operand – пересылка операнда. Пересылка данных в приемник из источника. Адресаты - регистр, память или непосредственный операнд. |
MOVS приемник, источник MOVSB MOVSW MOVSD | MOVe String Byte/Word/Double worf– пересылка строк, содержащих: · Байты · Слова · Двойные слова |
MOVSХ приемник, источник | MOVe and Sign eXtension – пересылка со знаковым расширением. Преобразование элемента со знаком меньшей размерности в эквивалентные элементы со знаком большей размерности. |
MOVZХ приемник, источник | MOVe and Zero eXtension – пересылка с нулевым знаковым расширением. Преобразование элемента без знака меньшей размерности в эквивалентные элементы без знака большей размерности. |
XCHG операнд_1, операнд_2 | eXCHanGe – обмен. Обмен данными между операндами. Это регистры или память. Команда "память - память" в микропроцессоре Intel не предусмотрена. |
BSWAP reg32 | Byte SWAP - перестановка байтов. Перестановка байт из порядка "младший - старший" в порядок "старший - младший". Разряды 7-0 обмениваются с разрядами 31-24, а разряды 15-8 с разрядами 23-16. |
XLAT адрес_таблицы_байтов | transLATe byte from table – загрузка из таблицы. Загрузить в регистр AL байт из таблицы в сегменте данных, на начало которой указывает EBX (ВХ), при этом начальное значение AL играет роль смещения. |
LEA приемник, источник | Load Effective Address - загрузка эффективного адреса. Получить эффективный адрес (смещение) источника. |
LDS приемник, источник | Load pointer into DS - загрузить указатель сегмента в регистр DS из памяти. Загрузить пару DS:reg из памяти (m). Вначале идет слово (или двойное слово) в регистр (reg), а в DS - последующее слово. |
LES приемник, источник | Аналогично предыдущему, но для пары ES:reg. |
LFS приемник, источник | Аналогично предыдущему, но для пары FS:reg. |
LGS приемник, источник | Аналогично предыдущему, но для пары GS:reg. |
LSS приемник, источник | Аналогично предыдущему, но для пары SS:reg. |
SETcc операнд | byte SET on conditon – установка байта по условию. Проверяет условие, заданное модификатором "cc". Если оно выполняется, то первый бит байта устанавливается в 1, в противном случае в 0. Модификаторы – по флагам. |
Команда | Описание |
IN аккумулятор, номер порта | INput operand from port – ввести операнд из порта Ввод в аккумулятор из порта ввода-вывода. Порт адресуется непосредственно или через регистр DX. |
OUT номер порта, аккумулятор | OUT operand to port – вывести операнд в порта Вывод из аккумулятор в порта ввода-вывода. Порт адресуется непосредственно или через регистр DX. |
INSB INSW INSD | INput String Byte/Word/Double word operands – ввод из порта элементов: Байта Слова Двойного слова. Вводит данные из порта, адрес которого находится в регистре DX, в ячейку памяти, определяемой регистрами ES:[EDI/DI]. |
OUTSB OUTSW [OUTSD | OUT String Byte/Word/Double word operands – вывод в порт элементов: Байта Слова Двойного слова. Выводит данные из ячейки памяти, определяемой регистрами DS:[ESI/SI], в выходной порт, адрес которого находится в регистре DX. |