nasm: символ rip не определен - как использовать lea-инструкцию относительно регистра rip?

Я хотел бы использовать инструкцию lea rax, [rip + 0x1020304] с NASM, но похоже, что это не позволяет использовать rip.

GAS (ассемблер GNU) допускает этот синтаксис как для чисел, так и для символов (Как работают связанные с RIP ссылки на переменные, такие как [RIP + _a] в синтаксисе x86-64 GAS Intel?). Как я могу добиться этого с помощью NASM?


person phip1611    schedule 21.07.2021    source источник
comment
nasm использует ключевое слово rel, но, по-видимому, вы не можете применить его к числовому абсолютному адресу. Обычно это выглядело бы как lea rax, [rel foo]. Если вам действительно нужно, вы можете использовать обходной путь в соответствии с lea rax, [rel $+0x1020304+7]   -  person Jester    schedule 21.07.2021