LINUX.ORG.RU

Единицы и нолики.

anonymous
()

arbitrary data ))

в голову приходит только один случай когда там будет что-то конкретное - это на входе функций с атрибутом __attribute__((regparm(0)))__ (т.н. fastcall функции) там будет второй аргумент переданный этой функции.

Murr ★★
()

Если смотреть на код, который рожает gcc, то видно, что ebx все время
спасается, его значение никогда не теряется. Вот, а в некотором
gcc-compiled коде с помощью ebx добываются какие-то данные, здесь
ebx-то самое постоянное значение, в самом начале функции:

movl 0xc54(%ebx), %eax
movl 0xc40(%ebx), %ecx

и т.д. Мне очень хочется узнать настоящие адреса этих данных, но
программа эта не отлаживаемая. Так вот и интересует, что же такое
таскается в ebx.


anonymous
()

не совсем уверен что отвечу на вопрос, но при программировании на Ассм для работы с ядром ОС используется следующий порядок:
Помещаем в EAX указание выполнить системный вызов.
В EBX помещаем дескриптор(идентификатор) этого вызова - т.е. параметр вызова.
Потом сам системный вызов.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.