6.47 Как использовать язык ассемблера встраиваемого кода C
Ключевое слово asm позволяет вам встраивать инструкции ассемблера в код C. GCC предоставляет две формы встроенных asm инструкций. Инструкция основного типа asm не имеет операндов (см. Basic Asm), в то время как инструкция расширенного типа asm содержит один или несколько операндов (см. Extended Asm). Расширенная форма предпочтительна для смешивания C и ассемблерного кода внутри функции, но для вставки ассемблерного кода на верхнем уровне необходимо использовать основную форму asm.
Вы также можете использовать ключевое слово asm для переопределения имени ассемблера для C-символа или для размещения C-переменной в определенном регистре.
| • Basic Asm: | Инструкции встроенного ассемблера без операндов. | |
| • Extended Asm: | Инструкции встроенного ассемблера с операндами. | |
| • Constraints: | Ограничения для asm операндов |
|
| • Asm Labels: | Указание имени ассемблера для использования C-символа. | |
| • Explicit Register Variables: | Определение переменных, находящихся в указанных регистрах. | |
| • Размер блока asm: | Как GCC вычисляет размер блока asm. |
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-12.2.0/gcc/Using-Assembly-Language-with-C.html