0

我正在尝试将我的一个片段转换为使用类似于 gcc 的内联 asm 语法的编译器。我阅读了文档,一切都很好,直到遇到这一行:

mov eax, dword ptr fs:[0x20]

我将其转换为:

movl 0x20(%fs:), %eax

编译的翻转,告诉我 fs 不是 32 位寄存器,这个操作是无效的。我应该如何在 at&t 语法中访问 fs?

4

1 回答 1

0

找到了答案,看来gcc或者at&t很不一致。

movl %fs:0x20, %eax
于 2012-10-16T18:07:01.950 回答