![]() |
|
![]() ![]() ![]() |
|
bugmenot |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 3.7.2006 Репутация: 1 Всего: 1 |
Добрый день
Visual C++ добавляет какие-то байты (prefixes? Так их называет OllyDbg) некоторым командам в inline asm-е, причем в своем коде он их не добавляет. Например: В какой-то функции скомпилировалась вот такая команда:
А вот так бы она скомпилировалась бы в inline asm-е:
Вопрос: что за 36, зачем он нужен? Такое было и в версии 6.0, и есть сейчас в версии 9.0 --------------------
доска объявленийвсе о горных велосипедах |
||||
|
|||||
GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: нет Всего: 26 |
36 - SS segment override prefix
потому что не надо в винде указывать сегмент в асме олька - показывает дизассемблированный код, а не тот который реально есть, поэтому чтобы получить 8B45 0C надо MOV EAX,DWORD PTR [EBP+C] а SS: в ольке показывается только потому что по умолчанию ebp адресует в сегменте стека |
|||
|
||||
bugmenot |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 3.7.2006 Репутация: 1 Всего: 1 |
Спасибо!
Давно задавался этим вопросом, но думал, что это Visual C++ самовольничает, и как-то забил. А щас вспомнилось, решил спросить. Оказывается самовольничает Олька =) --------------------
доска объявленийвсе о горных велосипедах |
|||
|
||||
GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: нет Всего: 26 |
просто вывод дизассемблера, в ольке или иде, не предназначен для того чтобы его ассемблировали
|
|||
|
||||
bugmenot |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 3.7.2006 Репутация: 1 Всего: 1 |
Вопрос на эту же тему
VC Добавляет комманду WAIT перед каждой FPU командой Например пишу:
Получается:
Как его от этого отучить? Свой код то он без WAIT-ов компилирует, значит не нужны они --------------------
доска объявленийвсе о горных велосипедах |
||||
|
|||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |