Все ссылки на статьи и ролики моего канала Old Programmer, распределенные по темам найдете здесь:
Программирование. Тематическое оглавление моего Zen-канала (Old Programmer) Интеграция ассемблера и языка C в ОС Linux Подходим к очень интересному вопросу об интеграции языка ассемблера с языком C. Идея здесь очень проста. На втором этапе трансляции вместо компоновщика ld нужно использовать компилятор gcc. Он автоматически пытается интегрировать объектный модуль со стандартной библиотекой C. И если вы в команде call используете имя, которое есть в этой библиотеке, то gcc попытается связать ваш вызов с библиотечной функцией. Важно передавать параметры согласно соглашению о вызовах Linux 64 (см. здесь). Пример вызова библиотечной функции C и программы на языке ассемблера Пример программы на ассемблере дан в asm10.s. Мы вызываем стандартную функцию C puts, которая имеет один параметр - адрес, выводимой на стандартное устройство, строки. Адрес на начало строки я передаю через регистр rdi.