A-A+
有一个含有100个元素的数组A 其在内存中的首地址存放在寄存器$s3中。已知编译器给变量f分
问题详情
有一个含有100个元素的数组A,其在内存中的首地址存放在寄存器$s3中。已知编译器给变量f分配的寄存器为$sl。则C语句f=A[10]编译后生成的汇编代码不可能是()。
A.1w$s1,10($s3)
B.1w$s1,20($s3),
C.1w$sl,30($s3)
D.1w$sl,40($s3)
请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:C
“1w”是“Loadaword(装入一个字)”指令的助记符,“数字(寄存器号)”表示基址寻址,其中数字等于欲访问的数组元素与数组在主存中起始地址的距离,这个距离等于数组下标乘以数组元素的长度。本题中数组下标为10,数组元素的长度可以是1、2或4,但基本上不可能是3。