Re: c & asm (unix)
info gcc -> C Extensions -> Extended Asm
это про buit-in функции
а что нибуть с extern ?
а что нибуть с extern ?
Это про inline asm.
Но ты, маза, хочешь вызывать внешние на функции из C и не знаешь, как передать параметры и т.п?
Если да, то тебе нужен ELF ABI, поищи в папочке
Но ты, маза, хочешь вызывать внешние на функции из C и не знаешь, как передать параметры и т.п?
Если да, то тебе нужен ELF ABI, поищи в папочке
ну вобщемя хочу в с программе вызвать asm функцию, описанную в другом файле
я просто не работал с С & asm, и, честно говоря, не знаю как описывать всё это
хотелось бы како нибуть док с примерами почитать
я просто не работал с С & asm, и, честно говоря, не знаю как описывать всё это
хотелось бы како нибуть док с примерами почитать
Маза почитай код ядря - там примеров использования C & asm больше чем достаточно. И ман никакой не понадобится.
Доки есть в инете.
Тебе нужно в .S
В .c (.h) как обычно для любой внешней функции
Как работать в коде на асме с переданными параметрами, смотри в указанной выше папке.
Тебе нужно в .S
.global kal
kal:
трали-вали-код на ассемблере
В .c (.h) как обычно для любой внешней функции
void kal(void);
[...]
kal;
Как работать в коде на асме с переданными параметрами, смотри в указанной выше папке.
не, .S это понятно
но как эту функцию в .S из C программы вызвать ?
инета нет
но как эту функцию в .S из C программы вызвать ?
инета нет

> но как эту функцию в .S из C программы вызвать ?
Как любую другую, если ты соблюдаешь ABI (третий раз намекаю на папочку).
> инета нет
Я в курсе. Вижу, что ты переключился на другую задачу, попроще.
Как любую другую, если ты соблюдаешь ABI (третий раз намекаю на папочку).
> инета нет
Я в курсе. Вижу, что ты переключился на другую задачу, попроще.

я не понмиаю при чём тут вообще ABI, если честно
то что я спрашиваю - простая вещь
откуда в C программа узнает о существовании ф-ии в .S
а задачи идут по порядку
то что я спрашиваю - простая вещь
откуда в C программа узнает о существовании ф-ии в .S
а задачи идут по порядку

> откуда в C программа узнает о существовании ф-ии в .S
Прототип напиши - узнает.
Прототип напиши - узнает.
> откуда в C программа узнает о существовании ф-ии в .S
Об этом должен знать редактор связей (линкер). А он узнает потому что ты объявил символ kal как global.
Об этом должен знать редактор связей (линкер). А он узнает потому что ты объявил символ kal как global.
спасибо огромное - разобрался 

Оставить комментарий
kondel33
Где можно почитать про использовании asm-а в с программах под Unix ?спасибо