1

谁能解释一下这段代码对ARM的含义是什么?

__asm__ __volatile__("mov %0, pc \n":"=r"(val)::"memory")

我认为它将程序计数器的值存储在变量val中。我对么?

4

1 回答 1

3

没错,就是把程序计数器放到val.

=r意味着它是一个输出只写变量。"memory"告诉编译器不要在内联程序集中缓存值。我不是 100% 确定为什么"memory"在这里使用。

于 2012-10-23T09:27:51.737 回答