169 похожих чатов

Добрейшего вечера почему nasm может на такую инструкцию ругаться? lea %rax,

[%rip]
потому что источник не переменная? Вроде бы как источником может быть только ячейка памяти.
Как через call реализуется аналогичное не очень понял.

9 ответов

12 просмотров

Это ведь AT&T синтаксис?

Что такое RIP регистр по твоему?

Глупец- Автор вопроса
КТ315
Что такое RIP регистр по твоему?

регистр процессора - указатель на текущую инструкцию размерностью 64 бита.

Глупец
регистр процессора - указатель на текущую инструкц...

Ну так вот напрямую читать и писать этот регистр тебе нельзя

Глупец
регистр процессора - указатель на текущую инструкц...

Для чтения IP можно использовать CALL, он в стек заносит адрес возврата для ret, он и может являться IP: call .rip .rip: ; mov rax, qword[rsp] ; pop rax Были ещё другие способы. Помню тут шаманили. Доходило до того, что при самом запуске, Windows тоже МОЖЕТ заносить в регистр адрес точки входа (для инициализации). И ещё адрес возврата в стек, на системный модуль. Относительно него можно было вычислить твою точку входа и положение в памяти.

Aiwan \ (•◡•) / _bot
mov —> pop rax

Что-то Телеграм строку ломает.. Ну не суть, да, можно и так тоже.

если это nasm, зачем тебе '%'?

КТ315
Ну так вот напрямую читать и писать этот регистр т...

на x86_64 можно его прочитать, через lea: 8D 05 00 00 00 00

Похожие вопросы

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
короче сгенерила мне эта штука код на ассемблере: struc string val { common local .value dq .value .value: if ~val eq db val end if db 0 } fo...
Vi Chapmann Chapmann
12
Всем привет! Массив вводится с клавиатуры, кол-во элементов неизвестно, поэтому я указал arr db 100 dup(?) С нахождением максимума проблем нет, а вот минимум почему-то всегд...
En Vind Av Sorg
11
Помогите, пожалуйста, делаю программу для для подсчёта корней квадратного уравнения, знаю, что есть куча недочётов, недоработок, но основная проблема в том, что почему-то при ...
NYC
13
#include <stdio.h> int main(void) { int n; scanf("%d", &n); int digits1[n] = {0}; int digits2[n] = {0}; я не могу таким образом заранее массив нулями заполнить?
Linus
12
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
читать файл максимально быстро? странный вопрос))
zamtmn
53
я про форму записи. смысл указывать что 8 байтный регистр 8 байт?
Aiwan \ (•◡•) / _bot
10
Вроде бы вопрос уже заезжанный, но тем не менее У меня есть функция menu() которая выводит набор возможных действий, а затем спрашивает у пользователя что он хотел бы сделать....
David Golovatin
4
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Карта сайта