Главная » Просмотр файлов » Volume 5 64-Bit Media and x87 Floating-Point Instructions

Volume 5 64-Bit Media and x87 Floating-Point Instructions (794099), страница 38

Файл №794099 Volume 5 64-Bit Media and x87 Floating-Point Instructions (Intel and AMD manuals) 38 страницаVolume 5 64-Bit Media and x87 Floating-Point Instructions (794099) страница 382019-04-28СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 38)

Unlike the FPREM1instruction, FPREM does not compute the partial remainder as specified in IEEE Standard 754.MnemonicFPREMOpcodeD9 F8DescriptionCompute the remainder of the division of ST(0) by ST(1) andstore the result in ST(0).ActionExpDiff = Exponent(ST(0)) - Exponent(ST(1))IF (ExpDiff < 0){SW.C2 = 0{SW.C0, SW.C3, SW.C1} = 0}ELSIF (ExpDiff < 64){Quotient = Truncate(ST(0)/ST(1))ST(0) = ST(0) - (ST(1) * Quotient)SW.C2 = 0{SW.C0, SW.C3, SW.C1} = Quotient mod 8}ELSE{N = 32 + (ExpDiff mod 32)Quotient = Truncate ((ST(0)/ST(1))/2^(ExpDiff-N))ST(0) = ST(0) - (ST(1) * Quotient * 2^(ExpDiff-N))SW.C2 = 1{SW.C0, SW.C3, SW.C1} = 0}Related InstructionsFPREM1, FABS, FRNDINT, FXTRACT, FCHSrFLAGS AffectedNone282FPREMInstruction Reference26569—Rev. 3.08—July 2007AMD64 Technologyx87 Condition Codex87 Condition CodeValueDescriptionC0MSet equal to the value of bit 2 of the quotient.0x87 stack underflow, if an x87 register stack fault was detected.MSet equal to the value of bit 0 of the quotient, if there was no fault.0FPREM generated the partial remainder.1The source operands differed by more than a factor of 264, so the resultis incomplete.MSet equal to the value of bit 1 of the quotient.C1C2C3Note: A flag set to 1 or cleared to 0 is M (modified).

Unaffected flags are blank. Undefined flags are U.ExceptionsVirtual8086 ProtectedExceptionRealCause of ExceptionDevice not available,#NMXXXThe emulate bit (EM) or the task switch bit (TS) of the controlregister (CR0) is set to 1.x87 floating-pointexception pending,#MFXXXAn unmasked x87 floating-point exception was pending.x87 Floating-Point Exception Generated, #MFXXXA source operand was an SNaN value or an unsupportedformat.XXXST(0) was ±infinity.XXXST(0) and ST(1) were both ±zero.XXXST(1) was ±zero.Invalid-operationexception (IE) withstack fault (SF)XXXAn x87 stack underflow occurred.Denormalizedoperand exception(DE)XXXA source operand was a denormal value.Underflow exception(UE)XXXA rounded result was too small to fit into the format of thedestination operand.Invalid-operationexception (IE)Instruction ReferenceFPREM283AMD64 Technology26569—Rev.

3.08—July 2007FPREM1Floating-Point Partial RemainderComputes the IEEE Standard 754 remainder obtained by dividing the value in ST(0) by that in ST(1),and stores the result in ST(0). Unlike FPREM, it rounds the integer quotient to the nearest even integerand returns the remainder corresponding to the back multiply of the rounded quotient.If the exponent difference between ST(0) and ST(1) is less than 64, the instruction computes all integeras well as additional fractional bits of the quotient to do the rounding. The remainder returned is acomplete remainder and is less than or equal to one half of the magnitude of the divisor.

If the exponentdifference is equal to or greater than 64, it computes only the subset of integer quotient bits numberingbetween 32 and 63, returns the partial remainder, and sets the C2 condition code bit to 1.Rounding control has no effect. FPREM1 results are exact.MnemonicOpcodeFPREM1D9 F5DescriptionCompute the IEEE standard 754 remainder of the division ofST(0) by ST(1) and store the result in ST(0).ActionExpDiff = Exponent(ST(0)) - Exponent(ST(1))IF (ExpDiff < 0){SW.C2 = 0{SW.C0, SW.C3, SW.C1} = 0}ELSIF (ExpDiff < 64){Quotient = Integer obtained by rounding (ST(0)/ST(1))to nearest even integerST(0) = ST(0) - (ST(1) * Quotient)SW.C2 = 0{SW.C0, SW.C3, SW.C1} = Quotient mod 8}ELSE{N = 32 + (ExpDiff mod 32)Quotient = Truncate ((ST(0)/ST(1))/2^(ExpDiff-N))ST(0) = ST(0) - (ST(1) * Quotient * 2^(ExpDiff-N))SW.C2 = 1{SW.C0, SW.C3, SW.C1} = 0}Related InstructionsFPREM, FABS, FRNDINT, FXTRACT, FCHS284FPREM1Instruction Reference26569—Rev.

3.08—July 2007AMD64 TechnologyrFLAGS AffectedNonex87 Condition Codex87 Condition CodeValueDescriptionC0MSet equal to the value of bit 2 of the quotient.0x87 stack underflow, if an x87 register stack fault was detected.MSet equal to the value of the bit 0 of the quotient, if there was no fault.0FPREM1 generated the partial remainder.1The source operands differed by more than a factor of 264, so the resultis incomplete.MSet equal to the value of bit 1 of the quotient.C1C2C3Note: A flag set to 1 or cleared to 0 is M (modified). Unaffected flags are blank.

Undefined flags are U.ExceptionsVirtual8086 ProtectedExceptionRealCause of ExceptionDevice not available,#NMXXXThe emulate bit (EM) or the task switch bit (TS) of thecontrol register (CR0) is set to 1.x87 floating-pointexception pending,#MFXXXAn unmasked x87 floating-point exception was pending.x87 Floating-Point Exception Generated, #MFXXXA source operand was an SNaN value or an unsupportedformat.XXXST(0) was ±infinity.XXXST(0) and ST(1) were both ±zero.Invalid-operationexception (IE) withstack fault (SF)XXXAn x87 stack underflow occurred.Zero-divideexception (ZE)XXXST(1) was ±0 and ST(0) was not ±zero or ±infinity.Denormalizedoperand exception(DE)XXXA source operand was a denormal value.Underflow exception(UE)XXXA rounded result was too small to fit into the format of thedestination operand.Invalid-operationexception (IE)Instruction ReferenceFPREM1285AMD64 Technology26569—Rev.

3.08—July 2007FPTANFloating-Point Partial TangentComputes the tangent of the radian value in ST(0), stores the result in ST(0), and pushes a value of 1.0onto the x87 register stack.The source value must be between –263 and +263 radians. If the source value lies outside the specifiedrange, the instruction sets the C2 bit of the x87 status word to 1 and does not change the value in ST(0).MnemonicFPTANOpcodeD9 F2DescriptionReplace ST(0) with the tangent of ST(0), then push 1.0 ontothe x87 register stack.Related InstructionsFCOS, FPATAN, FSIN, FSINCOSrFLAGS AffectedNonex87 Condition Codex87 Condition CodeValueC0UDescription0x87 stack underflow, if an x87 register stack fault was detected.1x87 stack overflow, if an x87 register stack fault was detected.0Result was rounded down, if a precision exception was detected.1Result was rounded up, if a precision exception was detected.0Source operand was in range.1Source operand was out of range.C1C2C3UNote: A flag set to 1 or cleared to 0 is M (modified).

Unaffected flags are blank. Undefined flags are U.286FPTANInstruction Reference26569—Rev. 3.08—July 2007AMD64 TechnologyExceptionsExceptionRealVirtual8086 ProtectedCause of ExceptionDevice notavailable, #NMXXXThe emulate bit (EM) or the task switch bit (TS) of the controlregister (CR0) is set to 1.x87 floating-pointexception pending,#MFXXXAn unmasked x87 floating-point exception was pending.x87 Floating-Point Exception Generated, #MFInvalid-operationexception (IE)XXXA source operand was an SNaN value or an unsupportedformat.XXXA source operand was ±infinityInvalid-operationexception (IE) withstack fault (SF)XXXAn x87 stack underflow occurred.XXXAn x87 stack overflow occurred.Denormalizedoperand exception(DE)XXXA source operand was a denormal value.Overflow exception(OE)XXXA rounded result was too large to fit into the format of thedestination operand.Underflow exception(UE)XXXA rounded result was too small to fit into the format of thedestination operand.Precision exception(PE)XXXA result could not be represented exactly in the destinationformat.Instruction ReferenceFPTAN287AMD64 Technology26569—Rev.

3.08—July 2007FRNDINTFloating-Point Round to IntegerRounds the value in ST(0) to an integer, depending on the setting of the rounding control (RC) field ofthe x87 control word, and stores the result in ST(0).If the initial value in ST(0) is ∞, the instruction does not change ST(0). If the value in ST(0) is not aninteger, it sets the precision exception (PE) bit of the x87 status word to 1.MnemonicOpcodeFRNDINTD9 FCDescriptionRound the contents of ST(0) to an integer.Related InstructionsFABS, FPREM, FXTRACT, FCHSrFLAGS AffectedNonex87 Condition Codex87 Condition CodeValueC0UDescription0No precision exception occurred.0x87 stack underflow, if an x87 register stack fault was detected.0Result was rounded down, if a precision exception was detected.1Result was rounded up, if a precision exception was detected.C1C2UC3UNote: A flag set to 1 or cleared to 0 is M (modified).

Unaffected flags are blank. Undefined flags are U.288FRNDINTInstruction Reference26569—Rev. 3.08—July 2007AMD64 TechnologyExceptionsVirtual8086 ProtectedExceptionRealCause of ExceptionDevice not available,#NMXXXThe emulate bit (EM) or the task switch bit (TS) of thecontrol register (CR0) is set to 1.x87 floating-pointexception pending,#MFXXXAn unmasked x87 floating-point exception was pending.x87 Floating-Point Exception Generated, #MFInvalid-operationexception (IE)XXXA source operand was an SNaN value or an unsupportedformat.Invalid-operationexception (IE) withstack fault (SF)XXXAn x87 stack underflow occurred.Denormalizedoperand exception(DE)XXXA source operand was a denormal value.Precision exception(PE)XXXThe source operand was not an integral value.Instruction ReferenceFRNDINT289AMD64 Technology26569—Rev. 3.08—July 2007FRSTORFloating-Point Restore x87 and MMX™ StateRestores the complete x87 state from memory starting at the specified address, as stored by a previouscall to F(N)SAVE.The FRSTOR instruction takes a memory operand that specifies the starting address of either a 94-byteor 108-byte area in memory.

Характеристики

Тип файла
PDF-файл
Размер
1,38 Mb
Материал
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6392
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее