经典指数          
原因
1278
浏览数
0
收藏数
 

66a:  push   %rbp66b:  mov    %rsp,%rbp66e:  mov    %rdi,-0x18(%rbp)672:  mov    %rsi,-0x20(%rbp)676:  movl   $0x0,-0x4(%rbp)67d:  mov    -0x4(%rbp),%eax680:  movslq %eax,%rdx683:  mov    -0x20(%rbp),%rax687:  add    %rdx,%rax68a:  mov    -0x4(%rbp),%edx68d:  movslq %edx,%rcx690:  mov    -0x18(%rbp),%rdx694:  add    %rcx,%rdx697:  movzbl (%rax),%eax69a:  mov    %al,(%rdx)69c:  mov    -0x4(%rbp),%eax69f:  movslq %eax,%rdx6a2:  mov    -0x20(%rbp),%rax6a6:  add    %rdx,%rax6a9:  movzbl (%rax),%eax6ac:  test   %al,%al6ae:  je     6b6 6b0:  addl   $0x1,-0x4(%rbp)6b4:  jmp    67d 6b6:  nop6b7:  mov    $0x0,%eax6bc:  pop    %rbp6bd:  retq  注: 题中gnu形式的汇编代码右侧为目的操作数, 左侧为源操作数%rdi,%rsi分别对应第一个参数与第二个参数问:1, 该代码最有可能是哪个string函数(strcpy, strlen, strcmp等), 写出分析过程. 2, 该函数与c标准库中的string函数有何不同?

     举报   纠错  
 
切换
暂时还没有答案,欢迎分享你的解答 . . .
撰写答案
扫描后移动端查看本题