首页 > 试题广场 >

在下面的C函数中,我们对OP操作的定义是不完整的: #de

[问答题]

在下面的C函数中,我们对OP操作的定义是不完整的:

#define OP    /* Unknown operator*/
long arith(long x) { 
    return x OP 8;
}

当编译时,GCC会产生如下汇编代码:

long arith(long x)
x in %rdi

arith:
leaq    7(%rdi), %rax
testq    %rdi, %rdi
cmovns %rdi, %rax 
sarq $3, %rax 
ret

A. OP进行的是什么操作?

B.给代码添加注释,解释它是如何工作的。

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