首页 > 试题广场 >

考虑下面的C语言代码: int test (data_t

[问答题]

考虑下面的C语言代码:

int test (data_t a) {
 return a TEST 0;
} 

它给出了参数a和0之间比较的一般形式,这里,我们可以用typedef来声明data_t,从而设置参数的数据类型,用# define来声明TEST,从而设置比较的类型。对于下面每个指令序列,确定哪种数据类型data_t和比较TEST会导致编译器产生这样的代码。(可能有多个正确答案,请列出所有的正确答案。)

A. testq  %rdi, %rdi
    setge  %al
B. testw  %di, %di
    sete    %al
c.testb    %dil, %dil
   seta     %al
D. testl    %edi, %edi
    setne  %al

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