Вот ситуация. Я выполняю инструкцию FMSUB.S на упомянутом в названии оборудовании. Я использую значения операндов как таковые: 0xB3800000 * 0x00500000-0x80800000, с округлением до ближайшего-четного. Если я правильно GRS после этой операции будет 0x5, следовательно, происходит округление и конечный результат является нормальным значением 0x00800000, но устанавливается флаг недостаточного значения. Вторая попытка, но на этот раз с округлением в сторону + бесконечность (вверх). Та же операция, тот же результат, однако флаг недостаточного значения на этот раз не устанавливается. Неточный флаг в обоих случаях устанавливается. Та же операция, что и при округлении до ближайших связей до максимальной величины, ведет себя так же, как и при ближайшей четности. Округление -infinity с операндами 0x33800000 * 0x00500000-0x00800000 (изменение знаков в основном) действует так же, как + бесконечность с предыдущими операндами.
Мой вопрос: откуда взялась эта разница в флаге недостаточного значения?