汇编代码`movl%1,%% ebx`是什么意思?

时间:2011-04-06 19:27:38

标签: gcc assembly linux-kernel inline-assembly

我正在尝试了解一些汇编代码:

movl $244, %eax
movl %1, %%ebx

第一个意味着将数字244放入寄存器eax,但第二个意味着什么?提前感谢您的帮助

P.S see the difference %1 and $244 and %eax and %%ebx

2 个答案:

答案 0 :(得分:4)

gcc内联汇编使用%1来指定参数。 您将在此处找到有关内联汇编的一些提示:

http://www.ibiblio.org/gferg/ldp/GCC-Inline-Assembly-HOWTO.html#s4

答案 1 :(得分:3)

movl %1, %%ebx

movl会将第一个参数移动到第二个参数。第一个参数是变量%1。第二个参数是寄存器%%ebx。编译器会将双百分号更改为单个百分号,这样您就可以写好:

movl %1, %ebx