Он просит ассемблер сгенерировать код, который добавляет или вычитает разницу между адресом текущей инструкции и адресом объекта к указателю инструкции.
Это дает адрес объекта без генерацииабсолютный адрес (и, как правило, смещение помещается в 16 или 32 бита, поэтому результирующий код также короче и, следовательно, быстрее).
Это добавляет ограничение, что расстояние между обоими элементами остается постоянным, поэтомуиспользуется только для данных в том же загружаемом объекте;компоновщик отметит ошибку, если это условие не будет выполнено.