返回主页

[计算机组成原理 P1618] 对于题43中的计算机M,C语言程序Р包含的语句"sum+=a[i];",在M中对应的指令序列S如下:

 
学习人数: 438
 
正确率: ??%
答案解析

题目描述
未通过

对于题43中的计算机M,C语言程序Р包含的语句"sum+=a[i];",在M中对应的指令序列S如下:

slli r4, r2, 2  //R[r4] <- R[r2]<<2
add r4, r3, r4  //R[r4] <- R[r3]+R[r4]
lw r5, 0(r4)    //R[r5] <- M[R[r4]+0]
add r1, r1, r5  //R[r1] <- R[r1]+R[r5]

已知变量i,sum和数组a都为 int 型,通用寄存器r1 - r5的编号为01H-05H。请回答下列问题。

(1)根据指令序列s中每条指令的功能,写出存放数组a的首地址、变参i和sum的通用寄存器编号(3分)

(2)已知M为小端方式,计算机采用页式存储管理方式。页大小为4KB。若执行到指令序列s中第1条指令时,i=5且r1和r3的内容分别为0000 1332H和0013 DFF0H。从地址0013 DFF0H开始存储单元,内容如题44图所示。则执行"sum+=a[i]:"语句后。a[i]的地址、a[i]和 sum 的机器数分别是什么(用十六进制表示)?a[i]所在页的页号是多少?在此次执行中,数据组a至少存放在几页中?(5分)

(3)指令"slli r4, r2, 2"的机器码是什么(用十六进制表示)?若数组a改为short类型,则指令序列存到S中slli指令的汇编形式应是什么?


上一题
下一题
加入错题本
个人笔记
已有1条笔记

登录后提交答案


暂无评论,来抢沙发