【发布时间】:2021-11-21 04:30:08
【问题描述】:
我目前正在使用 Delphi 开发一个包含一些内联汇编的遗留产品,我需要帮助了解该函数的作用以及如何将其转换为 Pascal。
代码是:
function lswap(i : longint) : longint; assembler;
asm
{$IFDEF CPU64}
mov eax,ecx
{$ENDIF CPU64}
db $0f,$c8 {bswap eax !! requires at least 486 CPU!!}
end;
【问题讨论】:
-
您可以在这里找到更多信息,stackoverflow.com/q/33586049/576719
-
你可以在网上搜索一下 bswap 的作用,这就是我会做的。只需在搜索引擎中输入 bswap。
-
@DavidHeffernan - 在代码中 bswap 似乎被注释掉了 - 那么为什么 OP 会考虑搜索 bswap 的作用呢?
-
@RobLambden,
bswap指令可能不包含在实际的 Delphi 版本中,但使用db您也可以表达该指令。所以评论是用 intel 助记符描述内联命令。
标签: delphi assembly pascal cpu-registers translate