Насм отклоняет FST TWORD [Mem] --- ошибка? - PullRequest
0 голосов
/ 25 апреля 2018

fst tword [mem] генерирует ошибку компиляции под nasm (генерирует «ошибка: недопустимая комбинация кода операции и операндов»).

fst qword [mem] принимается насм.

fstp tword [mem] и fstp qword [mem] оба приняты nasm.

Это ошибка в насме?

1 Ответ

0 голосов
/ 25 апреля 2018

Из руководства Intel:

FST/FSTP—Store Floating Point Value

Opcode   Instruction  64-Bit   Compat/Leg  Description
                      Mode     Mode
----------------------------------------------------------------------
D9 /2    FST m32fp   Valid     Valid       Copy ST(0) to m32fp.
DD /2    FST m64fp   Valid     Valid       Copy ST(0) to m64fp.
DD D0+i  FST ST(i)   Valid     Valid       Copy ST(0) to ST(i).
D9 /3    FSTP m32fp  Valid     Valid       Copy ST(0) to m32fp and pop register stack.
DD /3    FSTP m64fp  Valid     Valid       Copy ST(0) to m64fp and pop register stack.
DB /7    FSTP m80fp  Valid     Valid       Copy ST(0) to m80fp and pop register stack.
DD D8+i  FSTP ST(i)  Valid     Valid       Copy ST(0) to ST(i) and pop register stack.

Как видите, FST (то есть tword) вариант *1006* отсутствует, но есть для FSTP.

...