1

在阅读 linux 0.01 内核时,我会抛出一些难以解码的内联气体:

__asm__("movl $0x3ff000,%%eax\n\t"
            "movl %%eax,%%db0\n\t"
            "movl $0x000d0303,%%eax\n\t"
            "movl %%eax,%%db7"
            :::"ax")

或者

__asm__("push %%fs;mov %%ax,%%fs;movl %%fs:%2,%%eax;pop %%fs" \
        :"=a" (__res):"0" (seg),"m" (*(addr))); \
__res;})

我不明白如何解释“:”之间的内容。

有没有人有关于它的一些文件?

谢谢

4

1 回答 1

1

http://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html

Google 搜索“gcc 内联汇编”的第 6 个结果。

于 2010-07-22T06:05:15.737 回答