Мне трудно поверить, что следующий код является наиболее эффективным способом перемещения значения из стека в ST (0):
.data
var dd 4.2
tmp dd ?
.code
mov EAX, var
push EAX
; top of stack now contains a value
; move it to ST(0)
pop EAX
mov tmp, EAX
fld tmp
Действительно ли временная переменная необходима?Кроме того, есть ли более простой способ получить значение из стека в ST (0)?
Обновление: В приведенном выше примере я перемещаю с плавающей точкой значения вокруг - не целые числа.