Ввести три числа одинарной точности A, B и C, и вычислить формулу A/(B*C), именно в таком порядке — сначала умножение, затем деление. Для каждого действия (умножения и деления) проверять состояние четырёх флагов fcsr — NX, UF, OF и DZ, в указанном порядке, и выводить соответствующую строку из двух букв, если флаг ненулевой. Не забыть очистить fcsr перед вторым действием! Затем вывести результат.

12
5e-41
0.000000000003

Если кто запамятовал, прямо в помощи RARS написано, что «очистить fscr» можно так: csrci fscr биты_для_стирания.

NX
UF
DZ
Infinity

Здесь NX и UF приехали из умножения (получился ноль), а потом на этот ноль поделили, приехал DZ и получилось Infinity (это число такое☺).


CategoryHomework

LecturesCMC/ArchitectureAssembler2024/Homework_FRFlags (последним исправлял пользователь FrBrGeorge 2024-03-06 17:02:08)