序号占位符

序号占位符

Content #

序号占位符是输入/输出操作约束的数值映射,每个内嵌汇编表达式最多只有10 条输入/输出约束,这些约束按照书写顺序依次被映射为序号0~9。如果指令部分想引用序号占位符,必须使用百分号%前缀加以修饰,例如序号占位符%0对应第1个操作约束,序号占位符%1对应第2个操作约束,依次类推。指令部分为了区分序号占位符和寄存器,特使用两个百分号(%%)对寄存器加以修饰。在编译时,编译器会将每个占位符代表的表达式替换到相应的寄存器或内存中。

指令部分在引用序号占位符时,可以根据需要指定操作位宽是字节或者字,也可以指定操作的字节位置,即在%与序号占位符之间插入字母b表示操作最低字节,或插入字母h表示操作次低字节。

输出操作数按照顺序从%0开始,然后是输入操作数接着输出操作数的数量继续编号。例如,如果有一个输出操作数和四个输入操作数,那么输出是%0,输入是%1、 %2、%3、%4。

From #

一个64位操作系统的设计与实现