文章介绍GCC内联汇编:基本asm可直接嵌入汇编指令,但无法读写C变量;扩展asm通过输出、输入约束和clobber列表实现汇编与C变量交互。约束“r”表示使用通用寄存器,“=r”表示只写寄存器;若汇编修改其他寄存器,须在clobber列表声明,避免GCC错误优化。
本文介绍C语言内联汇编。基本asm语法为asm(汇编指令),隐式volatile,但GCC不解析指令。扩展asm可读写C变量,语法含汇编模板、输出约束、输入约束和clobber列表。约束“r”表示用通用寄存器,“=r”用于输出。若汇编有副作用,需用clobber列表显式列出被修改的寄存器,避免GCC误用。
完成下面两步后,将自动完成登录并继续当前操作。