FLD1 /FLDL2Т/FLDL2Е/FLDLG2/FLDLN2/FLDР1/FLDZ
![]() |
Действия: Vi'· FLD1 - загрузка вещественной единицы: SWR.TOP = SWR.TOP - 1; ST(0) - +1.0. :∙!S FLDL2T - загрузка двоичного логарифма десяти: SWR.TOP - SWR.TOP - 1; ST(0) = log2l0. S FLDL2E - загрузка двоичного логарифма числа с: SWR.TOP = SWR.TOP - 1; ST(0) = lθg2e. ■⅜ FLDLG2 (LoaDing) - загрузка десятичного логарифма числа 2: SWR.TOP = SWR.TOP - 1; ST(0) = = lθg102. iis FLDLN2 (LoaDing) — загрузка натурального логарифма числа 2: SWR.TOP = SWR.TOP - 1; SТ(О)=lп(2). . a FLDPI - загрузка числа л: SWR.TOP = SWR.TOP - 1; ST(0) = π. ⅞⅞ FLDZ (LoaDing 0) - загрузка нуля: SWR.TOP = SWR.TOP - 1; ЭТ(О) = +0,0. Флаги (SWR): С1 устанавливается в 1 Iiрiиiереиолнениистека; СО, С2, СЗ не определены. FLD • FLD источник • D9/0 FLD mЗ2rеаl DD/0 FLD m64rеаl DВ /5 FLD m8Оrеаl D9СО + i FLDSТ(i) И Загрузка в стек вещественного значения. : Действия: операнд источник — значение в вещественном формате в памяти m32/m64/m80 или в регистре ST(i). Комаi іда уменьшает знач еш i е поля SWR.TOP на сди ницу; проверяет тег для регистра стека, физический номер которого находится в поле SWR.TOP. Если содержимое тега не равно llb (регистр не пустой), то устанавливаются биты SWR.SF и SWR.IE и выполнение команды заканчива- ется. Если содержимое тега равно llb, то анализируется тип операнда и выполняются следующие действия: и если операнд источник является вещественным значением в памяти размером 32 или 64 бита, то оно преобразуется в вещественное число в расширенном формате, после чего записывает- ся в вершину стека; • если операнд источник является вещественным значением в памяти размером 80 бит или ре- гистром стека, то он копируется в вершину стека. Флаги (SWR): C1 устанавливается в 1 при переполнении стека или в 0 в противном случае; СО, С2, СЗ не определены. FLDCW • FLDCW источник • D9 /5 FLDCW m2byte • Загрузкарсгистра управления CWR содержимым ячейки памяти источник. Флаги (SWR): C1 устанавливается в 1 при переполнении стека или в 0 в противном случае; СО, С2, СЗ не определены. FLDENV • FLDENV источник • D9/4 FLDENV ml4/28bуtе • Загрузка рабочей среды сопроцессора. Действия: команда определяет режим работы процессора (R, V или Р) и размер операнда для текущего сегмента кода, который задается значением атрибута use (usеlб или usеЗ2): ϋ если usеlб, то размер буфера, из которого будет производиться восстановление среды сопро- цессора, равен 14 байт; Я если use32, то размер буфера, из которого будет производиться восстановление среды сопро- цессора, равен 28 байт. Далее из области памяти формата ml4/m28, начальный адрес которой указан операндом источник, производится запись информации в регистры CWR, SWR, TR, IРR, DPR сопроцессора. Структура области памяти, содержащей образ рабочей среды сопроцессора, показана на рис. 17.21. Флаги (SWR): C1 устанавливается в 1 при переполнении стека или в 0 в противном случае; СО, С2, СЗ не определены. FMUL/FMULP/FIMUL • FМULР FМUL/FIМUL множитель_l FМUL/FМULР множитель_l, множитель_2 FМULmЗ2rеаl FМUL mб4rеаl FМULSТ(О), SТ(i) FМUL SТ(i), ST(0) FМULР SТ{i), SТ(О) FIМUL mЗ2iпt FIМUL mlбiпt • Умножение. Действия: команда имеет три варианта расположения операндов. Я Для команды без операндов (только FMULP) первый множитель находится в регистре SТ(1), второй — в регистре SТ(О). Команда выполняет умножение ST(1) = SТ(1) • ST(0). Послед- нее действие — выталкивание значения из регистра ST(0). Результат умножения — в ST(0). Я Для команды с одним операндом первый множитель (операнд) находится в ячейке па- мяти т32(64) или mlб(З2)iпt, второй — в регистре SТ(О). Команда выполняет умножение SТ(О) = =множитель_l ∙ SТ(О); в Для команды с двумя операндами первый множитель (операнд множитель_l) хранится в SТ(О)/ SТ(i), второй множитель (операнд множитель_2) — в SТ(i)/SТ(О). Команда выполняет умноже- ние (множитель_l • множитель_2). Результат умножения помещается либо в регистр ST(0) для команды FМUL ST(0),SТ(i), либо в регистр SТ(i) для команды FМUL/FМULР SТ(i),SТ(О). Флаги (SWR): см. описание команды F2XM1. FNOP • FNOP • D9 DO • Нет операции. Действия: команда не выполняет никаких действий. Эффект ее применения заключается в том, что она занимает место (два байта) в потоке команд. Флаги (SWR): C1 = СО = С2 = СЗ = О 562 Приложение. Система команд процессоров IA-32 FPATAN • FPATAN - D9 FЗ • Вычисление частичного арктангенса. Действие: исходные операнды: значение х в регистре ST(0); значение у в регистре SТ(1). Ко- манда вычисляет значение арктангенса частного х/у выталкивает значения х и у из стека сопро- цессора; записывает результат вычисления арктангенса в вершину стека — регистр ST(0). Исходные значения х и у должны отвечать условию 0 < у < х < +∞. Если это не так, необходи- мо использовать следующие формулы приведения:
Флаги (SWR): см. описание команды F2ХМТ. FPREM • FPREM • D9 F8 • Вычисление частичного остатка от деления ST(0) наSТ(l). Действия: делимое хранится в ST(0), делитель — в SТ(1). Команда вычитает значения полей порядков в ST(0) и SТ(1): D = ST(0) - SТ(1). . И Если полученная разность d меньше 64, выполняется деление / = SТ(О)/SТ(1), результат кото- рого округляется путем усечения к ближайшему меньшему целому; в ST(0) записывается новое значение, равное ST(0) = ST(0) - (SТ(1) • Г); бит SWR.С2 устанавливается в 0 (это означает, что вЭТ(О) получен истинный остаток, удовлетворяющий требованию: остаток < делителя); биты СО, С1, СЗ в SWR устанавливаются равными значениям трех младших битов значения частного /-/2/,/0. Ш Если полученная разность d больше 64, то бит SWR.C2 устанавливается в 1 (это означает, что вЩО) получен пока только частичный остаток, не удовлетворяющий требованию: остаток < < делителя, и потребуется повторить обращение к команде FPREM для получения истинного остатка, удовлетворяющего указанному требованию); переменной я присваивается значение из диапазона 32...63; выполняется деление 1= (ST(0)/ST(l))/2
Еще по теме FLD1 /FLDL2Т/FLDL2Е/FLDLG2/FLDLN2/FLDР1/FLDZ:
- Л.О. Доліненко, В.О. Доліненко, С.О. Сарновська. Цивільне право України, 2006
- ЦИВІЛЬНЕ ПРАВО УКРАЇНИ
- ПЕРЕДМОВА
- Частина І ПРОГРАМА КУРСУ «ЦИВІЛЬНЕ ПРАВО УКРАЇНИ»
- Розділ І. Загальні положення цивільного права
- Тема 1. Поняття цивільного права. Предмет та метод, система цивільного права. Функції та принципи цивільного права
- Тема 2. Цивільне законодавство України
- Тема 3. Поняття, елементи та види цивільних правовідносин
- Тема 4. Здійснення цивільних прав і виконання обов’язків
- Тема 5. Захист цивільних прав та інтересів
- Тема 6. Об’єкти цивільних прав
- Тема 7.ФІЗИЧНІ особи як суб’єкти цивільного права
- Тема 8. Юридичні особи
- Тема 9. Держава як суб’єкт цивільного права. Територіальні громади та Автономна Республіка Крим як суб’єкти цивільного права
- Тема 10. Правочини: поняття, види. Умови чинності правочину
- Тема 11. Представництво і довіреність
- Тема П.Строки. Позовна давність
- Нормативний матеріал: