Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Команды общего назначения.doc
Скачиваний:
19
Добавлен:
25.09.2019
Размер:
279.55 Кб
Скачать

1.1.9.Команды обработки цепочки бит

Команда

Описание

BSFприемник, источник

Bit Scan Forward – побитовое сканирование вперед.

Проверка наличия битов 1 в источнике

Номер первого бита, находящегося в состоянии 1, помещается в приемник, флажок ZF сбрасывается в 0. Если источник содержит 0, то флаг ZF=1, а содержимое приемника не определено.

BSR приемник, источник

Bit Scan Revers – побитовое сканирование назад.

Аналогична BSF. Разница в направлении просмотра..

BT источник, индекс

Bit Test – проверка битов.

Извлечение бита (с номером индекс) из источника, помещение в флаг CF..

BTC источник, индекс

Bit Test and Complement – проверка битов и инверсия.

Извлечение бита (с номером индекс) из источника, помещение в флаг CF, инверсия.

BTR источник, индекс

Bit Test and Reset – проверка битов и сброс в 0.

Извлечение бита (с номером индекс) из источника, помещение в флаг CF, сброс в 0.

BTS источник, индекс

Bit Test and Set – проверка битов и установка в 1.

Извлечение бита (с номером индекс) из источника, помещение в флаг CF, установка в 1.

Вспомогательные команды

Команда

Описание

FABS

Floating-point ABSolute value

Нахождение абсолютного значения.

ST(0) = ABS(ST(0)).

FCHS

Floating-point CHange Sign

Изменение знака ST(0) = -ST(0).

FSQRT

Floating-point calculation of SQuare Root

Извлечь квадратный корень из ST(0) и поместить обратно.

Исходный операнд предварительно должен быть занесен в стек ST(0) = X.

FSCALE

Floating-point SCALE.

Масштабирование. Умножение X на 2 в степени Y.

Исходные операнды предварительно должны быть занесены в стек ST(0) = X, ST(1) = Y.

ST(0) = ST(0) * 2^ST(1).

FPREM

Floating-point Partial REMinder

Нахождение частичного остатка от деления ST(0) на ST(1).

FPREM1

Floating-point Partial REMinder IEEE-754

Нахождение частичного остатка от деления ST(0) на ST(1) (в стандарте IEEE).

FRNDINT

Floating-point RouND INTeger

Округление до ближайшего целого числа, находящегося в ST(0).

ST(0) = int(ST(0)).

Синтаксис ммх-команд

Большинство команд в мнемонике имеют суффикс, который определяет тип данных и используемую арифметику:

US (Unsigned Saturation) — арифметика с насыщением, данные без знака или, по-другому, беззнаковое насыщение. Если команда использует арифметику с насыщением и результат операции превышает максимальное представимое значение, то в выходной операнд записывается это максимальное значение (происходит «насыщение»). Аналогично, если результат операции оказался меньше нижней границы допустимого диапазона, то в выходной операнд записывается минимально возможное значение.

S или SS (Signed Saturation) — арифметика с насыщением для данных со знаком (или знаковое насыщение).

Если в суффиксе нет ни символа S ни символов SS, то применяется циклическая арифметика (wraparound). Если в этом случае результат операции выходит за двоичную разрядную сетку используемого типа данных, то «лишние» старшие биты результата отбрасываются.

b, w, d, q — эти буквы в конце имени указывают тип данных. Если в суффиксе есть две из этих букв, то первая соответствует входному операнду, вторая — выходному.

Синтаксис MMX команд:

Мнемоника приемник, источник

Мнемоника приемник, источник, маска

Мнемоника приемник