Вопрос

При чтении ядра 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;})
.

Я не понимаю, как интерпретировать вещи между «:».

У кого-нибудь есть какая-то документация по этому поводу?

Спасибо

Это было полезно?
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top