Для функций, объявленных с naked атрибутом, компилятор создает код без пролога и кода эпилога. Эту возможность можно использовать, чтобы создавать свой собственный код на языке ассемблера и вставлять его в качестве пролога и эпилога. Функции с атрибутом naked особенно полезны для написания драйверов виртуальных устройств. Обратите внимание, что naked атрибут допустим только на платформах x86 и ARM и недоступен в x64.
Я знаю что разные ассемблеры под разные архитектура, но не очень понимаюПроцессор это такой мощный калькулятор с большим количеством слотов памяти и возможностью трактовать числа в памяти как инструкции для вычисления, работы с памятью, изоляции кода и т.д. Все процессоры разные, иногда даже очень разные и естественно у каждого свой числовой язык. Ассемблер это упрощённое представление этих процессорных инструкций. Изучение ассемблера это по сути изучение транслятора мнемоник в числовые инструкции конкретного процессора и трансляторов много и каждый немного отличается от другого, хоть и производят они идентичный результат. То, что мы называем архитектурой это легаси. Инструкции написанные для 8086 могут быть выполнены Core i9 десятого поколения. Но в них уже есть целых три архитектуры, хотя все они довольно схожи.