Объясните, как работает инструкция FFREE

http://en.wikipedia.org/wiki/X86_instruction_listings

как точно работает инструкция ffree? FFREE Бесплатная регистрация, когда у меня есть в стеке FPU:

  st2 5 , st1 2, st0 7

то после этих инструкций (ffree) у меня есть ..

   st 1 5, st0 2

это правильно?


person Kamil Witkowski    schedule 12.01.2014    source источник


Ответы (1)


Нет, он очищает регистр без изменения указателя стека. Какой бы регистр вы ни указали в качестве аргумента, он будет установлен как пустой, но остальные не изменятся.

http://www.website.masmforum.com/tutorials/fptute/fpuchap3.htm#ffree

person Jens Björnhager    schedule 12.01.2014
comment
хм, так что в моем примере, если я использую Ffree st1, то после этого у меня есть: st2 5, st1 0??, st0 7 - person Kamil Witkowski; 13.01.2014
comment
ПОЧТИ он не будет содержать 0, он будет содержать мусор. - person Jens Björnhager; 13.01.2014
comment
так я смогу использовать его снова? Или сначала я должен убедиться, что я превращаю st1 в «0»? с какой-то операцией? Например, я хотел бы иметь st1 '1' после операции ffree st1 - person Kamil Witkowski; 13.01.2014
comment
Вам нужно будет загрузить что-то в него, чтобы использовать его снова. Если вы хотите, чтобы st1 содержал значение, зачем вам ffree? - person Jens Björnhager; 13.01.2014
comment
нет, нет, я спрашиваю только из любопытства. тогда, например, я могу загрузить в него переменную jedynka: dd 1.0 ? - person Kamil Witkowski; 13.01.2014
comment
Вы не можете ничего загрузить в него, если спот не st0 - person Jens Björnhager; 13.01.2014
comment
так, например, я сначала использую fxch st1 - person Kamil Witkowski; 14.01.2014