首页 > 试题广场 >

函数fun_a有如下整体结构: long fun_a(un

[问答题]

函数fun_a有如下整体结构:

long fun_a(unsigned long x) { 
  long val = 0; 
  while(...){
      .
      .
      .
  }
  return ...;
}

GCC C编译器产生如下汇编代码:


  long fun_a(unsigned long x)
  x in %rdi
fun_a:
    movl   $0,%eax
    jmp    .L5
.L6:
      xorq   %rdi,%rax
      shrq   %rdi
.L5;
      testq  %rdi,%rdi
      jne    .L6
       andl   $q,%eax
ret


逆向工程这段代码的操作,然后完成下面作业:

A. 确定这段代码使用的循环翻译方法。

B. 根据汇编代码版本填写C代码中缺失的部分。

C. 用自然语言描述这个函数是计算什么的。

//答案:A
longfun_a(unsigned long x) { 
  longval =0; 
    x=0;
  while(longval==0){
    longval+=x;
     x=7;
    x++;
     System.Out.println(longval);
   
  }
  return longval;
}

发表于 2019-07-14 19:54:01 回复(0)