某些内联程序集在 64 位模式下不起作用?

Some inline assembly doesn't work in 64 bit mode?

本文关键字:模式 不起作用 程序集      更新时间:2023-10-16

与32位相比,在64位模式下编译的技术优势是什么?我们是在谈论我的应用程序将能够使用的RAM吗?我将能够使用的CPU寄存器的大小?

我问,因为我正在读这个问题:

ICC内联汇编器不支持push/pop

一个家伙不能得到内联汇编指令POP编译,因为他在64位模式下编译,POP只在32位寄存器上工作(至少,这就是我如何阅读答案)。

我不能相信你不能使用POP汇编命令,如果你在64位模式下编译?

我的主要问题是-如果你选择64位编译-这是否意味着你不能使用"常规"内联汇编指令?

pushpop在64位模式下不能有32位操作数,只有16位或64位,pop不能只工作在32位寄存器上。一般来说,许多代码在32位和64位模式下工作相同,但一些很少使用的指令(十进制数学,与分割有关的指令)已完全从64位模式中删除。