我的任务是将x86-64汇编代码转换回简单的C函数。我正在使用的C函数采用4个参数(长a,长b,长c,长d)。如预期的那样,汇编代码的开头以
开头movq %rdi, -32(%rbp)
movq %rsi, -40(%rbp)
movq %rdx, -48(%rbp)
movq %rcx, -56(%rbp)
例如,稍后在代码中再次使用这些寄存器
movq -40(%rbp), %rax
imulq -48(%rbp), %rax
movq %rax, %rdx
movq -32(%rbp), %rax
addq %rdx, %rax
movq %rax, -24(%rbp)
我的问题是上面的代码在第三行上是否正在为(长c)分配一个值,或者该寄存器是否在第一个代码段中被清空,并且在这种情况下仅用作通用寄存器。 >
我的任务是将x86-64汇编代码转换回简单的C函数。我正在使用的C函数采用4个参数(长a,长b,长c,长d)。如预期的那样...
否,它没有为c
分配值。