ощущаю в воздухе. Всё, что когда-то существовало ушло, и не осталось больше тех, кто помнит об этом.» (Эпиграф.)
В 90-е годы, когда я изучал Ассемблер для DOS (tasm) в книгах и учебниках было много написано про системные вызовы. Чтобы вызвать джина ОС надо было подготовить дары значения в регистрах и воспользоваться специальной командой. И таблица прерываний и необходимых значений всегда прилагалась к книге.
Когда я решил продолжить свои опыты с Ассемблером, я выбрал x86_64 под Linux (fasm), так как именно такой системой и пользуюсь сейчас. И столкнулся с тем, что информации о системных вызовах практически недоступна. Такое впечатление, что самый доступный источник информации — исходный код ядра.
Все это вызывает у меня ощущение, что повторять подход из 90-х годов сейчас неправильно. Но как тогда надо делать? Где сейчас надо искать информацию о том, как взаимодействовать с ОС?
man читать или чтото похожее на это https://ru.manpages.org/syscalls/2
эту жуть читать? UPD: а, ну тут ещё хоть что-то понятно
есть книги посвящённые апи
Но тут даже нет ни одного упоминания регистров!
такие как rfc, которые умудрились json на 30 страниц описать?
ты сам сказал что надо подготовить "дары", а они имеют всем известную структуру
для этого ищите abi для amd64
https://en.m.wikibooks.org/wiki/X86_Assembly/Interfacing_with_Linux
Обсуждают сегодня