Assembler - язык неограниченных возможностей


Базовая арифметика FPU - часть 4


Различие между FPREM и FPREM1 заключается в разном определении значения частного. Сначала эти команды выполняют вещественное деление ST(0) на ST(1), округляют результат (FPREM1 — к ближайшему целому, FPREM — к нулю), а затем, если частное меньше 64, вычисляяют точный остаток, а если больше — частичный.

  • Команда:
  • FABS
  • Назначение:
  • Найти абсолютное значение
  • Процессор:
  • 8087

    Если ST(0) был отрицательным числом — переводит его в положительное.

  • Команда:
  • FCHS
  • Назначение:
  • Изменить знак
  • Процессор:
  • 8087

    Изменяет знак ST(0), превращая положительное число в отрицательное, и наоборот.

  • Команда:
  • FRNDINT
  • Назначение:
  • Округлить до целого
  • Процессор:
  • 8087

    Округляет значение ST(0) до целого числа в соответствии с режимом округления, заданным битами RC.

  • Команда:
  • FSCALE
  • Назначение:
  • Масштабировать по степеням двойки
  • Процессор:
  • 8087

    Умножает ST(0) на два в степени ST(1) и записывает результат в ST(0). Значение ST(1) предварительно округляется в сторону нуля до целого числа. Эта команда выполняет действие, обратное FXTRACT.

  • Команда:
  • FXTRACT
  • Назначение:
  • Извлечь экспоненту и мантиссу
  • Процессор:
  • 8087

    Разделяет число в ST(0) на мантиссу и экспоненту, сохраняет экспоненту в ST(0) и помещает мантиссу в стек, так что после этого ТОР уменьшается на 1, мантисса оказывается в ST(0), а экспонента — в ST(1).

  • Команда:
  • FSQRT
  • Назначение:
  • Извлечь квадратный корень
  • Процессор:
  • 8087

    Вычисляет квадратный корень из ST(0) и сохраняет результат в ST(0).





    Начало  Назад  Вперед