Аппаратное обеспечение IBM PC



         

Система команд сопроцессора - часть 2


Формат команды с обращением к численному регистру приведен на следующем рисунке:

¦1 байт ¦1 байт ¦ +-----T----+---T----T---+ ¦11011¦КОП1¦11 ¦КОП2¦STi¦ L-----+----+---+----+----

Видно, что это есть частный случай предыдущей команды, в которой поле MOD содержит значение 11 и отсутствуют байты смещения.

Самый простой формат имеют команды без явного обращения к операндам:

¦1 байт ¦1 байт ¦ +-----T----+---T--------+ ¦11011¦КОП1¦11 ¦ КОП2 ¦ L-----+----+---+---------

Разумеется, если вы пишете программу для сопроцессора на языке ассемблера, вы можете использовать мнемоническое обозначение команд. Все мнемоники команд сопроцесора начинаются с буквы F, поэтому их легко отличить от команд процессоров 8086/80286/80386/80486.

Все команды сопроцессора можно разделить на несколько групп:

  • команды пересылки данных;
  • арифметические команды;
  • команды сравнений чисел;
  • трансцендентные команды;
  • управляющие команды.
  • Команды пересылки данных предназначены для загрузки чисел из оперативной памяти в численные регитры, записи данных из численных регистров в операивную память, копирования данных из одного численного регистра в другой.

    Арифметические команды выполняют такие операции, как сложение, вычитание, умножение, деление, извлечение квадратного корня, нахождение частичного остатка, округление и т.п.

    Команды сравнения сравнивают вещественные и целые числа, выполняют анализ чисел.

    Трансцендентные команды предназначены для вычисления различных тригонометрических, логорифмических, показательных и гиперболических функций - sin(), cos(), tg() и т.п.

    Последняя группа команд - управляющие команды - обеспечивают установку режима работы арифметического сопроцессора, его сброс и инициализацию, перевод сопроцессора в защищенный режим работы и т.д.

    Следующие разделы будут посвящены детальному описанию различных групп команд сопроцессора.




    Содержание  Назад  Вперед