Що таке функція ASM у C?
Заява asm дозволяє включати інструкції зі складання безпосередньо в код C. Це може допомогти вам максимізувати продуктивність чутливого до часу коду або отримати доступ до інструкцій зі складання, які недоступні для програм C.
Збірка найбільш корисна для продуктивності критичних частин вашого коду, тобто ви зазвичай пишете програму на C, а потім використовуєте ASM для частин коду, де важлива продуктивність тому що ASM створює менший і швидший код порівняно з C, якщо він написаний правильно.
вбудований асемблер Ключове слово __asm викликає вбудований асемблер і може з’являтися скрізь, де оператор C або C++ є законним. Він не може з'явитися сам по собі. За ним має слідувати інструкція зі складання, група інструкцій, укладених у дужки, або, як мінімум, порожня пара дужок.');})();(function(){window.jsl.dh('1P64ZpGnO4icptQP1YeMoQU__24' ,'
- У джерелі збірки оголосите код як глобальну функцію за допомогою . глобальний і .type : …
- У коді C оголосите зовнішню функцію за допомогою extern : …
- Переконайтеся, що ваш код складання відповідає стандарту виклику процедур для архітектури Arm (AAPCS). …
- Скомпілюйте обидва вихідні файли:
Щоб написати функцію в асемблері, просто:
- Напишіть прототип функції C. …
- Розмістіть свій код у блоці "__asm__" поза будь-якою підпрограмою.
- Помістіть назву функції на початку блоку складання як мітку.
- Якщо ви хочете викликати функцію поза цим файлом, використовуйте ".
Заява asm дозволяє включати інструкції зі складання безпосередньо в код C. Це може допомогти вам максимізувати продуктивність чутливого до часу коду або отримати доступ до інструкцій зі складання, які недоступні для програм C. Зверніть увагу, що розширені оператори asm повинні бути всередині функції.