[%rip]
потому что источник не переменная? Вроде бы как источником может быть только ячейка памяти.
Как через call реализуется аналогичное не очень понял.
Это ведь AT&T синтаксис?
Что такое RIP регистр по твоему?
регистр процессора - указатель на текущую инструкцию размерностью 64 бита.
Ну так вот напрямую читать и писать этот регистр тебе нельзя
Для чтения IP можно использовать CALL, он в стек заносит адрес возврата для ret, он и может являться IP: call .rip .rip: ; mov rax, qword[rsp] ; pop rax Были ещё другие способы. Помню тут шаманили. Доходило до того, что при самом запуске, Windows тоже МОЖЕТ заносить в регистр адрес точки входа (для инициализации). И ещё адрес возврата в стек, на системный модуль. Относительно него можно было вычислить твою точку входа и положение в памяти.
Что-то Телеграм строку ломает.. Ну не суть, да, можно и так тоже.
если это nasm, зачем тебе '%'?
на x86_64 можно его прочитать, через lea: 8D 05 00 00 00 00
Обсуждают сегодня