<<
>>

FLD1 /FLDL2Т/FLDL2Е/FLDLG2/FLDLN2/FLDР1/FLDZ

• FLD1/FLDL2T/FLDL2E/FLDLG2/ FLDLN2/FLDPI/ 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
<< | >>
Источник: В. И. Юров. Assembler. Учебник для вузов. 2-е изд. 2003

Еще по теме FLD1 /FLDL2Т/FLDL2Е/FLDLG2/FLDLN2/FLDР1/FLDZ:

  1. Л.О. Доліненко, В.О. Доліненко, С.О. Сарновська. Цивільне право України, 2006
  2. ЦИВІЛЬНЕ ПРАВО УКРАЇНИ
  3. ПЕРЕДМОВА
  4. Частина І ПРОГРАМА КУРСУ «ЦИВІЛЬНЕ ПРАВО УКРАЇНИ»
  5. Розділ І. Загальні положення цивільного права
  6. Тема 1. Поняття цивільного права. Предмет та метод, система цивільного права. Функції та принципи цивільного права
  7. Тема 2. Цивільне законодавство України
  8. Тема 3. Поняття, елементи та види цивільних правовідносин
  9. Тема 4. Здійснення цивільних прав і виконання обов’язків
  10. Тема 5. Захист цивільних прав та інтересів
  11. Тема 6. Об’єкти цивільних прав
  12. Тема 7.ФІЗИЧНІ особи як суб’єкти цивільного права
  13. Тема 8. Юридичні особи
  14. Тема 9. Держава як суб’єкт цивільного права. Територіальні громади та Автономна Республіка Крим як суб’єкти цивільного права
  15. Тема 10. Правочини: поняття, види. Умови чинності правочину
  16. Тема 11. Представництво і довіреність
  17. Тема П.Строки. Позовна давність
  18. Нормативний матеріал: