←上一题对于题 43 中的计算机 M,C 语言程序 P 包含的语句 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 指令的汇编形式应是什么?