标签: assembly lazarus freepascal
我希望bsr能够以64位数运行。但是,以下仅适用于输入的低32位:
function BSR64(const Val: Int64): Integer; begin asm bsr eax, [Val] ...
我该怎么做?
我正在使用Lazarus在64位模式下进行编译。
答案 0 :(得分:1)
按如下方式访问64位寄存器:
bsr rax, [val]
eax是低32位。 ax是低16,al是低8。
eax
ax
al