КАТЕГОРИИ: Архитектура-(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
Команда помещает в стек содержимое источника (32-, 64- или 80-битная переменная или ST(n)). Команда FLD ST(0) делает копию вершины стека.
Копирует ST(0) в приемник (32- или 64-битную переменную или пустой ST(n) в случае FST; 32-, 64- или 80-битную переменную или пустой ST(n) в случае FSTP). FSTP после этого выталкивает число из стека (помечает ST(0) как пустой).
Преобразовывает целое число со знаком из источника (16-, 32- или 64-битная переменная) в вещественный формат и помещает в вершину стека.
Преобразовывает число из вершины стека в целое со знаком и записывает его в приемник (16- или 32-битная переменная для FIST; 16-, 32- или 64-битная переменная для FISTP). FISTP после этого выталкивает число из стека (помечает ST(0) как пустой).
Обмен местами содержимого регистра ST(0) и приёмника (регистр ST(n)). Если операнд не указан, обменивается содержимое ST(0) и ST(1). Сопроцессор использует шесть основных типов арифметических команд:
Строка "xxx" может принимать следующие значения: ADD Сложение
SUB Вычитание
SUBR Обратное вычитание, уменьшаемое и вычитаемое меняются местами
MUL Умножение
DIV Деление
DIVR Обратное деление, делимое и делитель меняются местами
Команда выполняет сложение источника и приемника и помещает результат в приемник. Команда 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).
Выполняет вычитание источника из приемника и сохраняет результат в приемнике. Команда 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). Если один из операндов — бесконечность, результат — бесконечность соответствующего знака. Если оба операнда — бесконечности одного знака, результат не определен (происходит исключение «недопустимая операция»).
Команды эквивалентны FSUB/FSUBP/FISUB, но выполняют вычитание приемника из источника, а не источника из приемника.
Выполняет умножение источника и приемника и помещает результат в приемник. Команда 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).
Выполняет деление приемника на источник и сохраняет результат в приемнике. Команда 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).
Изменяет знак ST(0), превращая положительное число в отрицательное, и наоборот.
Дата добавления: 2014-01-07; Просмотров: 641; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |