Решено: YASM in C (Функция на YASM в C)

Модератор: Модераторы разделов

BratSinot
Сообщения: 812
ОС: Slackware64

Решено: YASM in C

Сообщение BratSinot »

Доброго времени суток!

Как написать функцию на YASM чтоб её можно было использовать в C коде с GCC? Слинковать не проблема, проблема в том, что я так и не понял где находятся аргументы которые указываются в функции:

Код: Выделить всё

qwe=test(<аргументы>);

и куда "пихает" значение оператор return.
Пишем для x86_64.
P.S. GCC -S ничего путного не дал.
Спасибо сказали:
Аватара пользователя
Nazyvaemykh
Сообщения: 438
Статус: Подопытный участник

Re: Решено: YASM in C

Сообщение Nazyvaemykh »

http://x86-64.org/documentation/abi.pdf — вот тут содержится подробная документация, в том числе и о том, как вызываются функции, какие регистры используются, к картинками и примерами.
¡ Страсть к разрушению есть творческая страсть!
Спасибо сказали:
BratSinot
Сообщения: 812
ОС: Slackware64

Re: Решено: YASM in C

Сообщение BratSinot »

Nazyvaemykh писал(а):
01.07.2011 12:13
http://x86-64.org/documentation/abi.pdf — вот тут содержится подробная документация, в том числе и о том, как вызываются функции, какие регистры используются, к картинками и примерами.

Спасибо огромное. Очень полезный текст. Собственно проблема была не конкретно в передаче аргументов, а в том, что SIGSEGV случался, а оказывается нужно было просто RBX сохранить.
Спасибо сказали: