Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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

7)

6)

5)

4)

3)

2)

1)

Базовая арифметика FPU

5)

4)

3)

2)

1)

Команды пересылки данных FPU

 Команда: FLD источник
 Назначение: Загрузить вещественное число в стек

Команда помещает в стек содержимое источника (32-, 64- или 80-битная переменная или ST(n)). Команда FLD ST(0) делает копию вершины стека.

 

 Команда: FST приемник
 Назначение: Скопировать вещественное число из стека
 Команда: FSTP приемник
 Назначение: Считать вещественное число из стека

Копирует ST(0) в приемник (32- или 64-битную переменную или пустой ST(n) в случае FST; 32-, 64- или 80-битную переменную или пустой ST(n) в случае FSTP). FSTP после этого выталкивает число из стека (помечает ST(0) как пустой).

 

 Команда: FILD источник
 Назначение: Загрузить целое число в стек

Преобразовывает целое число со знаком из источника (16-, 32- или 64-битная переменная) в вещественный формат и помещает в вершину стека.

 


 Команда: FIST приемник
 Назначение: Скопировать целое число из стека
 Команда: FISTP приемник
 Назначение: Считать целое число из стека

Преобразовывает число из вершины стека в целое со знаком и записывает его в приемник (16- или 32-битная переменная для FIST; 16-, 32- или 64-битная переменная для FISTP). FISTP после этого выталкивает число из стека (помечает ST(0) как пустой).

 

 Команда: FXCH приемник
 Назначение: Обменять местами два регистра стека

Обмен местами содержимого регистра ST(0) и приёмника (регистр ST(n)). Если операнд не указан, обменивается содержимое ST(0) и ST(1).


Сопроцессор использует шесть основных типов арифметических команд:

Fxxx Используются ST(1) и ST(0). Первый операнд берется из верхушки стека (источник), второй - следующий элемент стека. Результат выполнения команды записывается в стек.
Fxxx память Источник берется из памяти, приемником является верхушка стека ST(0). Указатель стека ST не изменяется, команда действительна только для операндов с одинарной и двойной точностью.
FIxxx память Аналогично предыдущему типу команды, но операндами могут быть 16- или 32-битовые целые числа.
пр, ист. Fxxx ST, ST(i) Для этого типа регистр ST(i) является источником, а ST(0) - верхушка стека - приемником. Указатель стека не изменяется.
Fxxx ST(i), ST Для этого типа регитр ST(0) является источником, а ST(i) - приемником. Указатель стека не изменяется.
FxxxP ST(i), ST Регистр ST(i) - приемник, регистр ST(0) - источник. После выполнения команды источник ST(0) извлекается из стека.

Строка "xxx" может принимать следующие значения:

ADD Сложение

 

SUB Вычитание

 

SUBR Обратное вычитание, уменьшаемое и вычитаемое

меняются местами

 

MUL Умножение

 

DIV Деление

 

DIVR Обратное деление, делимое и делитель меняются местами

 Команда: FADD приемник,источник
 Назначение: Сложение вещественных чисел
 Команда: FADDP приемник,источник
 Назначение: Сложение вещественных чисел с выталкиванием из стека
 Команда: FIADD источник
 Назначение: Сложение целых чисел

Команда выполняет сложение источника и приемника и помещает результат в приемник. Команда FADDP после этого выталкивает ST(0) из стека (помечает ST(0) как пустой и увеличивает ТОР на один). Команды сложения могут принимать следующие формы:

· FADD источник, когда источником является 32- или 64-битная переменная, а приемником — ST(0);

· FADD ST(0),ST(n), FADD ST(n),ST(0), FADDP ST(n),ST(0), когда источник и приемник заданы явно в виде регистров FPU;

· FADD без операндов — эквивалентно FADD ST(0),ST(1); FADDP без операндов — эквивалентно FADDP ST(1),ST(0);

· FIADD источник, когда источником является 16- или 32-битная переменная, содержащая целое число, а приемником — ST(0).


 Команда: FSUB приемник,источник
 Назначение: Вычитание вещественных чисел
 Команда: FSUBP приемник,источник
 Назначение: Вычитание с выталкиванием из стека
 Команда: FISUB источник
 Назначение: Вычитание целых чисел

Выполняет вычитание источника из приемника и сохраняет результат в приемнике. Команда FSUBP после этого выталкивает ST(0) из стека (помечает ST(0) как пустой и увеличивает ТОР на один). Команды вычитания могут принимать следующие формы:

· FSUB источник, когда источником является 32- или 64-битная переменная, содержащая вещественное число, а приемником — ST(0);

· FSUB ST(0),ST(n), FSUB ST(n),ST(0), FSUBP ST(n),ST(0), когда источник и приемник заданы явно в виде регистров FPU;

· FSUB без операндов — эквивалентно FSUB ST(0),ST(1); FSUBP без операндов — эквивалентно FSUBP ST(1),ST(0);

· FISUB источник, когда источником является 16- или 32-битная переменная, содержащая целое число, а приемником — ST(0).

Если один из операндов — бесконечность, результат — бесконечность соответствующего знака. Если оба операнда — бесконечности одного знака, результат не определен (происходит исключение «недопустимая операция»).

 Команда: FSUBR приемник,источник
 Назначение: Обратное вычитание вещественных чисел
 Команда: FSUBRP приемник,источник
 Назначение: Обратное вычитание с выталкиванием
 Команда: FISUBR источник
 Назначение: Обратное вычитание целых чисел

Команды эквивалентны FSUB/FSUBP/FISUB, но выполняют вычитание приемника из источника, а не источника из приемника.


 Команда: FMUL приемник,источник
 Назначение: Умножение вещественных чисел
 Команда: FMULP приемник,источник
 Назначение: Умножение с выталкиванием из стека
 Команда: FIMUL источник
 Назначение: Умножение целых чисел

Выполняет умножение источника и приемника и помещает результат в приемник. Команда FMULP после этого выталкивает ST(0) из стека (помечает ST(0) как пустой и увеличивает ТОР на один). Команды умножения могут принимать следующие формы:

· FMUL источник, когда источником является 32- или 64-битная переменная, а приемником — ST(0);

· FMUL ST(0),ST(n), FMUL ST(n),ST(0), FMULP ST(n),ST(0), когда источник и приемник заданы явно в виде регистров FPU;

· FMUL без операндов — эквивалентно FMUL ST(0),ST(1); FMULP без операндов — эквивалентно FMULP ST(1),ST(0);

· FIMUL источник, когда источником является 16- или 32-битная переменная, содержащая целое число, а приемником — ST(0).


 Команда: FDIV приемник,источник
 Назначение: Деление вещественных чисел
 Команда: FDIVP приемник,источник
 Назначение: Деление с выталкиванием из стека
 Команда: FIDIV источник
 Назначение: Деление целых чисел

Выполняет деление приемника на источник и сохраняет результат в приемнике. Команда FDIVP после этого выталкивает ST(0) из стека (помечает ST(0) как пустой и увеличивает ТОР на один). Команды могут принимать следующие формы:

· FDIV источник, когда источником является 32- или 64-битная переменная, содержащая вещественное число, а приемником — ST(0);

· FDIV ST(0),ST(n), FDIV ST(n),ST(0), FDIVP ST(n),ST(0), когда источник и приемник заданы явно в виде регистров FPU;

· FDIV без операндов — эквивалентно FDIV ST(0),ST(1); FDIVP без операндов — эквивалентно FDIVP ST(1),ST(0);

· FIDIV источник, когда источником является 16- или 32-битная переменная, содержащая целое число, а приемником — ST(0).


 Команда: FCHS
 Назначение: Изменить знак

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

 Команда: FRNDINT
 Назначение: Округлить до целого
<== предыдущая лекция | следующая лекция ==>
FPU предоставляет восемь регистров для хранения данных и пять вспомогательных регистров | Константы FPU
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 606; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.