UNIX下的汇编语法问题:__asm__("bsfl %1,%0":"=r" (word):"r" (word));

时间:2023-01-21 04:06:05
static inline int ff_one(uint32 word)
{
__asm__("bsfl %1,%0"
:"=r" (word)
:"r" (word));
return word;
}
这是一条向前位扫描指令的语法,嵌入c语言中,请问语法是怎样的?看源码遇到的。
更复杂的多条的指令应该如何写?
哪为仁兄能提供详细的资料或说明?

2 个解决方案

#1


你看什么源码看到的?
这个函数干什么用的?原操作数和目的操作数一样?
AT&T语法《Linux源代码情景》里有些说明,www.linuxforum.net内核分析计划里也有一些,但完整的手册我也没见过

#2


knightcap3.6,一个国际象棋程序。我已找到了一些资料。谢谢!

#1


你看什么源码看到的?
这个函数干什么用的?原操作数和目的操作数一样?
AT&T语法《Linux源代码情景》里有些说明,www.linuxforum.net内核分析计划里也有一些,但完整的手册我也没见过

#2


knightcap3.6,一个国际象棋程序。我已找到了一些资料。谢谢!