嵌入汇编语句的基本格式:
asm(“汇编语句”
:输出寄存器
:输入寄存器
:会被修改的寄存器);
嵌入式编程规定把输出和输入寄存器统一按顺序编号,
顺序是从输出到输入,从左到右,从上到下,以“%0”开始。
“=a”中a为加载代码,“=”表示这是输出寄存器;
如输入寄存器的代码是0或为空时,则说明使用与输出一样的寄存器。
在执行代码时,如果不希望汇编语句被GCC优化而作修改,就需要在asm符号后面添加关键词volatile:
asm volatile(....);
或 __asm__ __volatile__(....);
组合语句({.....})中最后一条语句必须是后面跟随一个分号的表达式,且这个表达式的值即作整个圆括号括住语句的值。