单项选择题
以下是C语言赋值语句“x=a*b+c;”对应的x86-64汇编代码:movslq %edx,%rdx movsbl %sil,%esi imull %edi,%esi movslq %esi,%rsi leaq (%rdx,%rsi),%rax已知x、a、b和c分别在RAX、RDI、RSI和RDX对应宽度的寄存器中,根据上述汇编指令序列,推测x、a、b和c的数据类型分别为()。
A.x—long,a—long,b—char,c—longB.x—long,a—int,b—char,c—intC.x—long,a—long,b—char,c—intD.x—long,a—int,b—char,c—long
单项选择题 假定变量x的类型为long,对于变量y的初始化声明“int y=(int)x;”,其对应的汇编指令不可能是()。
单项选择题 假定变量x的类型为int,对于变量y的初始化声明“long y=(long)x;”,其对应的汇编指令是()。
单项选择题 以下有关x86-64传送指令的叙述中,错误的是()。