«Неправильный тип операнда» с MSVC __asm - PullRequest
0 голосов
/ 31 марта 2012

Я провожу некоторые случайные эксперименты и хочу распечатать адрес, по которому программа находится в данный момент.Я попытался сделать следующее, но это не работает:

void foo() {
    DWORD blah;
    __asm {
        mov blah, eip
    }
    std::cout << blah << "\n";
}

и вместо этого дает «неправильный тип операнда» в строке mov.

Я пробовал несколько типов дляblah.

Кто-нибудь знает, что я делаю не так?

1 Ответ

1 голос
/ 31 марта 2012

Нет инструкции mov, которая может касаться регистра eip. Вам придется использовать какой-то трюк, чтобы получить его значение.

Как проверить значение EIP на языке ассемблера?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...