leaq c 汇编语言,大会:有人可以用leaq指令解释这行吗?
你的等效C代码是这样的:extern int32 arr[];int my_func(int32 n, ...) {int32 a=n;...arr[a];...}n作为单个32位寄存器esi传递,存储到本地堆栈帧.然后该参数用于评估64位表达式4 * a.如果它应该被链接器重新定位到地址’arr’,则可以解释’0′.然后我的猜测是汇编代码不是由生成的gcc -S foo.c,但是由gcc -c ...