Вопрос

Я изучаю исходный код GNU GRUB и в /grub-core/boot/i386/pc/*.S файлов, их много .= маркеры.Вот один из /grub-core/boot/i386/pc/boot.S файл (строки 409-414):

    /*
     *  Windows NT breaks compatibility by embedding a magic
     *  number here.
     */

    . = _start + GRUB_BOOT_MACHINE_WINDOWS_NT_MAGIC

Я хочу знать, что .= означает.

Это было полезно?

Решение

В ГАЗе, а возможно и в других ассемблерах, специальный символ . относится к текущему адресу, в который ассемблер будет выполнять ассемблирование.Оператор, подобный приведенному выше, определяет, где будут собираться байты для следующего кода.

Документация для . оператор здесь.

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