有人可以解释一下使用%<在asm中意思是 我想要了解的指令是“%(%<%[%| sync \ n”
我理解(用于引用内存位置)。 但是无法理解<的用法。和[符号。
由于
答案 0 :(得分:0)
"%(%<%[%|sync\n"
不是任何语言的有效指令。但是,如果这是一个真实问题的乱码版本,那么我们来谈谈%[
......
GNU-style extended inline assembly中使用语法%[foo]
来引用“命名操作数”。例如:
#include <stdio.h>
int main()
{
int cvar = 42;
asm("incl %[name]"
: [name] "=r" (cvar)
: "0" (cvar));
printf("cvar is %d\n", cvar); // prints "cvar is 43"
}
那条装配线完全等同于
asm("incl %0"
: "=r" (cvar)
: "0" (cvar));
在asm
块开始变得复杂的情况下,它更具可读性。
至于%<
,%(
和%|
,我不知道任何汇编语言赋予这些意义。至于名为sync
的各种处理器指令,您可以在MIPS,PowerPC或您正在编程的任何处理器的任何参考手册中查找sync
。