Прочитал тут такое, Регистры FPU (8 штук) реализованы в виде стека: st=st(0), st(1), st(2), st(3), st(4), st(5), st(6), st(7). Когда мы загружаем число в сопроцессор, оно загружается в st(0), а все другие регистры сдвигаются.
Что значит сдвигаются куда сдвигаются как сдвигаются зачем сдвигаются? Обычные регистры никуда не сдвигаются кто нить знает как это работает? :)
по сути там не сдвиг происходит а переименование регистров, для пользователя это выглядит как сдвиг значений по регистрам. в этом механизме еще учавствует голова (top, в х86 это аналог esp), то значение которое указывает какой регистр на данный момент является нулевым (st0).