我在 Delphi XE3 中使用 64 位内联汇编程序遇到了这个问题,我不明白。
我试过这个,它适用于 32 位和 64 位
function test(a, b: integer): integer; assembler; register;
asm
mov eax, a
add eax, edx
end;
但是,这仅适用于 32 位而非 64 位,在 64 位中它可以编译,但不会返回两个整数之和的正确结果。
function test(a, b: integer): integer; assembler; register;
asm
add eax, edx
end;
我知道以前的 FPU 代码,如 FLD、STP 可以在 32 位上运行,但在 64 位编译器上会出现编译错误。知道如何处理 64 位浮点数吗?