GNU 内联汇编

1. 约束

1.1  寄存器约束

1.2 内存约束

 

1.3 立即数约束

1.4 通用约束

 

2. 修饰符意义 

 

3. 占位符

  下图中%0与%1就是占位符。GCC规定一个内敛汇编语句最多可以有10个input/output操作表达式,然后按照他们被列出的顺序呢依次赋予编号0到9。GCC在编译的时候,会将占位符替换为对应的Input/Output操作表达式指定的寄存器或者内存地址或者立即数。下图中%0对应表达式“=a(__out)”,而"=a“(__out)指定的寄存器为%eax,所以编译器将占位符%0替换为%eax。

 

posted @ 2015-08-03 14:05  szqxzh  阅读(428)  评论(0编辑  收藏  举报