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