我正在用 nasm 编写一个函数,该函数将从 32 位 ansi C 调用。
C 中的函数原型如下所示:
long double scalar(int n, long double *x)
其中 x 是指向long doubles
.
当我尝试将单个加载long double
到 FPU 时会出现问题:
mov ecx, [esp+8] ; n
mov eax, [esp+12] ; *x
fld [eax] ; ERROR: operation size not specified
我应该如何指定尺寸?我的 C 编译器使用 12 字节的长双精度,如何将其放入 80 位?