考虑以下程序段。这里 R1、R2 和 R3 是通用寄存器。
假设内存位置3000的内容是10,寄存器R3的内容是2000,2000到2010的内存位置的内容都是100,程序从内存位置1000加载,所有的数字都在十进制。假设存储器是可字寻址的。完全执行程序时访问数据的内存引用次数为:
(一) 10
(乙) 11
(三) 20
(四) 21答案: (D)
说明:说明:
是内存引用 R1←M[3000] 然后在运行 10 次的循环中,因为内存位置 3000 的内容是有问题的 10 并且循环将运行 10 次作为
R2← M[R3]
M[R3]←R2
每次迭代有两个内存引用
10*2=20
总计=20+1=21
所以(D)是正确的选项。
这个问题的测验