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