首页 > 试题广场 >

下面的C函数将类型为src_t的参数转换为类型为dst_t的

[问答题]

下面的C函数将类型为src_t的参数转换为类型为dst_t的返回值, 这里两种数据类型都用typedef定义:

dest_t cvt(src_t x)
{
  dest_t y = (dest_t) x;
 return y;
}

在x86-64上执行这段代码,假设参数x在%xmm0中,或者在寄存器%rdi的某个适当的命名部分中(即%rdi或%edi)。用一条或两条指令来完成类型转换,并把结果值复制到寄存%rax的某个适当命名部分中(整数结果),或%xmm0中(浮点结果)。给出这条或这些指令,包括源和目的寄存器。

 

Ty

指令

long

double

vcvtsi2sdq %rdi,%xmm0

double

int

 

double

float

 

long

float

 

float

long

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