首页 > 试题广场 >

3考虑下列的C语言代码: int comp(data_t

[问答题]

3考虑下列的C语言代码:

int comp(data_t a, data—t b) {
 return a COMP b;
}

它给出了参数a和b之间比较的一般形式,这里,参数的数据类型data_t(通过 typedef)被声明为表3-1中列出的某种整数类型,可以是有符号的也可以是无符号的comp通过#define来定义。

假设a在%rdi中某个部分,bS%rsi中某个部分。对于下面每个指令序列,确定哪种数据类型data_t和比较COMP会导致编译器产生这样的代码。(可能有多个正 确答案,请列出所有的正确答案。)
A.cmpl       %esi,%edi
   setl         %al
B.cmpw     %si,%di
   setge      %al
C.cmpb     %sil,%dil
    setbe    %al
D.cmpq    %rsi,%rdi
   setne    %a

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