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函数有何不同?