Форматы данных и команды их обработки процессоров Pentium III, Pentium IV
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: виды докладов, конституция реферат
| Добавил(а) на сайт: Хабалов.
Предыдущая страница реферата | 2 3 4 5 6 7 8 9 10 11 12 | Следующая страница реферата
Строковые операции выполняются с операндами в памяти, адресуемыми
регистрами DS:SI (DS:ESI) для источника и ES:DI (ES:EDI) для приемника.
Операции могут использоваться с префиксами условного или безусловного
повтора. После каждой пересылки или сравнения индексные регистры (SI, DI
или оба) участвующих операндов автоматически инкрементируются или
декрементируются на количество байт, участвующих в операции (1,2 или 4).
Направление модификации определяется флагом DF: DF = 0 -инкремент, DF = 1 —
декремент. Строковые инструкции ввода-вывода с префиксами повтора позволяют
достигать высоких скоростей обмена с портами при условии полной загрузки
процессора.
Таблица. Инструкции строковых операций
Инструкция Описание
CMPSB, CMPSD, CMPSW Сравнение строк байт, слов или двойных слов с записью результата сравнения в регистр флагов
INSB, INSD, INSW Запись байта, слова или двойного слова, введенного из порта, в память(286+)
LODSB, LODSD, LODSW Копирование байта, слова или двойного слова из строки в AL/(E)AX
MOVSB, MOVSD, MOVSW Копирование байта, слова или двойного слова из одной строки в другую
OUTSB, OUTSD, OUTSW Вывод байта, считанного из памяти, в порт (286+)
SCASB, SCASD, SCASW Сканирование строки байт, слов или двойных слов — сравнение с AL/(E)AX и запись результата сравнения в регистр флагов
STOSB, STOSD, STOSW Запись байта, слова или двойного слова в строку из
AL/(E)AX
REP Префикс повтора строковых операций до обнуления
(Е)СХ, (Е)СХ декрементируется на каждом повторе
REPE/REPZ Префикс условного повтора строковых операций — выполнения REP при ZF=1
REPNE/ Префикс условного повтора строковых операций — выполнения
REPNZ REP при ZF=0
Инструкции математического сопроцессора (FPU) имеют свою специфику
задания операндов. Переменная st(0) находится на вершине стека
сопроцессора, st(i) смещена от вершины на i. Загрузка данных начинается с
декремента указателя стека сопроцессора (поле TOP) — перемещения вершины.
Если новая вершина не пустая (по полю TAG) или стек исчерпан, вызывается
исключение с указанием причины.
После загрузки поле TAG устанавливается в соответствии с загруженным числом. При извлечении из стека производится инкремент ТОР, а в поле TAG старой вершины устанавливается признак пустой ячейки. Попытка использования пустого регистра в операциях или для сохранения результатов в памяти вызывает исключение. Инструкции с префиксом F предварительно проверяют флаг исключения ES (они называются ожидающими инструкциями), инструкции с префиксом FN флаг исключения не проверяют (неожидающие инструкции). Ряд инструкций не вызывает исключения в случае, если обнаруживаются операнды не- числа (NaN).
Таблица. Инструкции FPU
Инструкция Описание
Пересылки данных
FBLD Преобразование и помещение (push) числа в упакованном BCD- формате из памяти в стек
FBSTP Извлечение из стека и запись в память в упакованном BCD- формате (10 байт, 18 цифр)
FCMOVB Пересылка, если ниже (CF=1) (P6+)
FCMOVBE Пересылка, если не выше (CF ИЛИ ZF)=1 (P6+)
FCMOVE Пересылка, если равно (ZF=1) (P6+)
FCMOVNB Пересылка, если не ниже (CF=0) (P6+)
FCMOVNBE Пересылка, если выше ((CF ИЛИ ZF)=0) (P6+)
FCMOVNE Пересылка, если не равно (ZF=0) (P6+)
FCMOVNU Пересылка, если не NaN (PF=0) (P6+)
FCMOVU Пересылка, если NaN (unordered) (PF=0) (P6+)
FILD Загрузка (push) целого числа из памяти
FIST Запись в память в формате целого числа
FISTP Запись в память в формате целого числа с извлечением
FLD Загрузка (push) вещественного числа
FST Сохранение (копирование) числа в памяти (в вещественном формате) или в регистре стека
FSTP Запись числа в память (в вещественном формате) или в регистр стека с извлечением
FXCH Обмен значениями вершины стека и регистра
Загрузка констант
FLD1 Загрузка (push)+1,0
FLDL2E Загрузка (push) log2(e)
FLDL2T Загрузка (push) log2( 10)
FLDLG2 Загрузка (push) lg(2)
FLDLN2 Загрузка (push) ln(2)
FLDPI Загрузка (push) pi
FLDZ Загрузка (push) + 0,0
Базовая арифметика
FABS Нахождение абсолютного значения
FADD Сложение вещественных чисел
FADDP Сложение вещественных чисел с извлечением
FCHS Изменение знака
FDIV Деление вещественных чисел
FDIVP Деление вещественных чисел с извлечением
FDIVR Обратное деление вещественных чисел
FDIVRP Обратное деление вещественных чисел с извлечением
FIADD Сложение с целым числом
FIDIV Деление на целое число
FIDIVR Обратное деление целых чисел
FIMUL Умножение на целое число
FISUB Вычитание целого числа
FISUBR Вычитание из целого числа
FMUL Умножение вещественных чисел
FMULP Умножение вещественных чисел с извлечением
FPREM Нахождение частичного остатка
FPREM1 Нахождение частичного остатка в стандарте IEEE (387+)
FRNDINT Округление до ближайшего целого
FSCALE Масштабирование — умножение на округленную в сторону нуля степень числа 2
FSQRT Извлечение квадратного корня
FSUB Вычитание вещественного числа
FSUBP Вычитание вещественных чисел с извлечением
FSUBR Обратное вычитание числа
FSUBRP Обратное вычитание с извлечением
FXTRACT Выделение мантиссы и порядка числа
Сравнение данных
FCOM Сравнение вещественных чисел (установка флагов
сопроцессора)
FCOMI Сравнение и соответствующая установка флагов в EFLAGS (ZF, PF, CF)
(P6+)
FCOMIP Сравнение и соответствующая установка флагов в EFLAGS (ZF, PF,
CF), с извлечением (P6+)
FCOMP Сравнение вещественных чисел с извлечением
FCOMPP Сравнение вещественных чисел с двойным извлечением
FICOM Сравнение с целочисленным операндом из памяти
FICOMP Сравнение с целочисленным операндом из памяти с
извлечением
FTST Проверка на нуль
FUCOM Сравнение без генерации исключения в случае NaN (387+)
FUCOMI Сравнение без генерации исключения в случае NaN и соответствующая установка флагов в EFLAGS (ZF, PF, CF)
(P6+)
FUCOMIP Сравнение без генерации исключения в случае NaN и соответствующая установка флагов в EFLAGS (ZF, PF, CF) с извлечением (P6+)
FUCOMP Сравнение без генерации исключения в случае NaN с извлечением (387+)
FUCOMPP Сравнение без генерации исключения в случае NaN с двойным извлечением (387+)
FXAM Анализ числа — установка кода условия в СО, С2, СЗ
Трансцендентные функции
Р2ХМ1 Вычисление [pic]
FCOS Косинус (387+)
PPATAN Арктангенс частного с извлечением
FPTAN Вычисление тангенса и загрузка (push) в стек +1,0
FSIN Вычисление синуса (387+)
FSINCOS Вычисление синуса и косинуса с помещением (push) в стек
(387+)
FYL2X Вычисление Yxlog2(X)
FYL2XP1 Вычисление Yxlog2(X+1)
Управление сопроцессором
FCLEX Сброс флагов исключений с предварительной проверкой ожидающих немаскированных исключений
FDECSTP Декремент указателя стека FPU
FFREE Освобождение регистра — пометка как свободного
FINCSTP Инкремент указателя стека FPU
FINIT Инициализация FPU с предварительной проверкой ожидающих исключений
FLDCW Загрузка управляющего слова (FPU CW) из памяти
FLDENV Загрузка состояния сопроцессора из памяти, сохраненного инструкциями FSTENV/FNSTENV
FNCLEX Сброс флагов исключений без проверки ожидающих
FNINIT Инициализация FPU без проверки ожидающих исключений
FNOP Пустая операция FPU
FNSAVE Сохранение состояния сопроцессора и стека регистров в памяти без проверки ожидающих исключений
FNSTCW Сохранение управляющего слова без проверки ожидающих исключений
FNSTENV Сохранение состояния сопроцессора (SR, CR, TAGW, FIP и
FDP) в памяти без проверки ожидающих исключений
FNSTSW Запись слова состояния без проверки ожидающих исключений
FRSTOR Загрузка состояния сопроцессора и регистров из памяти
FSAVE Сохранение состояния сопроцессора и стека регистров в памяти с предварительной проверкой ожидающих исключений
FSTCW Сохранение управляющего слова с предварительной проверкой ожидающих исключений
FSTENV Сохранение состояния сопроцессора (SR, CR, TAGW, FIP и
FDP) в памяти с предварительной проверкой ожидающих исключений
FSTSW Запись слова состояния для последующего переноса кода завершения в регистр флагов с предварительной проверкой ожидающих исключений
WAIT/FWAIT Синхронизация — останов CPU до завершения текущей операции
FPU, проверка ожидающих исключений FPU
Инструкции ММХ появились в процессорах Pentium ММХ и с тех пор поддерживаются всеми более современными процессорами (Pentium Pro, появившийся раньше, эти инструкции не поддерживает). Они имеют сложную мнемонику, которая включает следующие элементы:
• префикс Р (Packed), указывающий на обработку упакованных форматов;
Рекомендуем скачать другие рефераты по теме: изложение по русскому 7 класс, образ сочинение.
Категории:
Предыдущая страница реферата | 2 3 4 5 6 7 8 9 10 11 12 | Следующая страница реферата