[room] objdump-дизассемблирование, странные call-конструкции

Sergey Stepanov =?iso-8859-1?q?dlagovna_=CE=C1_mail=2Eru?=
Вс Май 21 01:06:54 MSD 2006


Здравствуйте товарищи.


Если есть тута программеры, помогите плиз.

Вот мне потребовалось дизассемблировать несколько o-файлов,
и сразу наткнулся на непонятную вещь.

Дизассемблирование провожу через команду objdump -d ./file.o

И вот что вижу в коде (в других функциях тоже есть такие же конструкции)


Код

000012b8 <AllArraysInit>:
     12b8:       55                      push   %ebp
     12b9:       89 e5                   mov    %esp,%ebp
     12bb:       83 ec 08                sub    $0x8,%esp
     12be:       e8 fc ff ff ff          call   12bf <AllArraysInit+0x7>
     12c3:       c7 05 00 00 00 00 01    movl   $0x1,0x0
     12ca:       00 00 00
     12cd:       c7 05 00 00 00 00 01    movl   $0x1,0x0
     12d4:       00 00 00
     12d7:       83 ec 0c                sub    $0xc,%esp
     12da:       6a 01                   push   $0x1
     12dc:       e8 fc ff ff ff          call   12dd <AllArraysInit+0x25>
     12e1:       83 c4 10                add    $0x10,%esp
     12e4:       c7 05 00 00 00 00 00    movl   $0x0,0x0
     12eb:       00 00 00
     12ee:       c7 05 08 00 00 00 0d    movl   $0xd,0x8
     12f5:       00 00 00
     12f8:       c7 05 0c 00 00 00 00    movl   $0x0,0xc
     12ff:       00 00 00
...



Меня беспокоят конструкции "e8 fc ff ff ff". Какой-то странный call, 
который указывает на середину этой же иструкции - по идее, после этой
команды должен начать выполняться код "fc ff ff ff ...". Какой в этом
смысл? Что обозначают эти странные call - вызовы?

Сразу скажу, что исходный текст был написан на чистом C, без всяких
ухищрений в стиле анти-дебуггинга. Сейчас код утерян, а функции нужно
немного изменить, а я не могу начать из-за вот этой непонятки.

Может это какая-то хитрая оптимизация компилера? Тогда какому asm-коду
этоти команды call xxxx эквивалентны?


(В поисковиках нахожу только что народ декомпилирует o-шники
через objdump, что-то там рассматривает, у многих тоже всречается
эта конструкция, но никто не обращает на нее внимания).


-- 
Со всяческими пожеланиями, Сергей.
http://xi.net.ru



Подробная информация о списке рассылки smoke-room