Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.129.39.55] |
|
Страницы: (2) 1 [2] все ( Перейти к последнему сообщению ) |
Сообщ.
#16
,
|
|
|
fmulp без операндов – вполне себе нормальная инструкция (фактически это fmulp st(1),st).
fmul без операндов превращается в fmulp (если компилятор не ругается), а вот fmul st(x) действительно инвалидная тема, т.к. одного операнда недостаточно, нужно писать fmul st(x),st (для fmulp тоже) или fmul st,st(x) (для fmulp второй операнд не может быть не st). Поэтому fstp тут у вас вообще бесполезная инструкция, т.к. она фактически удаляет st(1), который пуст после fmul (а фактически fmulp). Если нужно возвести в квадрат, делайте так: fld str1 fmul st,st ; результат в st(0) В куб: fld str1 fld st fmul st,st fmulp ; результат в st(0) Добавлено p.s. st то же самое, что и st(0), если что |