首页 > 试题广场 >

一个函数的原型为 long decode2(longx,l

[问答题]
一个函数的原型为
long decode2(longx,long y,long z);
GCC产生如下汇编代码:
decode2:
  subq %rdx,%rsi
  imulq %rsi,%rdi
  movq %rsi,%rax
  salq $63,%rax
  sarq $63,%rax
  xorq %rdi,%rax
  ret
参数x、y和z通过寄存器%rdi、%rsi和%rdx传递。代码将返回值放在寄存器%rax中。
写出等价于上述汇编代码的decode2的C代码。

这道题你会答吗?花几分钟告诉大家答案吧!