概述
31 j
i 0
(31–j)位 31 0 (32–(j–i) )位
(j–i)位 (i+1)位 0 000 (j–i)位
参考答案:
可以先左移9位,然后右移15位,即:
sll $s2, $s0, 9 srl $s2, $s2, 15
思考:(1) 第二条用算术右移指令sra 行不行?
不行,因为不能保证高位补0!
(2) 若第一条指令中的$s2改成其他寄存器R,则会带来什么问题? 所用寄存器R的值被破坏!
9. 以下程序段是某个过程对应的指令序列。入口参数int a和int b分别置于$a0和$a1中,返回参数是该
过程的结果,置于$v0中。要求为以下MIPS指令序列加注释,并简单说明该过程的功能。
add $t0, $zero, $zero loop: beq $a1, $zero, finish add $t0, $t0, $a0 sub $a1, $a1, 1 j loop
finish: addi $t0, $t0, 100 add $v0, $t0, $zero
参考答案:
1:将t0寄存器置零
2:如果a1的值等于零则程序转移到finish处 3:将t0和a0的内容相加,结果存放于t0 4:将a1的值减1
5:无条件转移到loop处
6:将t0的内容加上100,结果存放于t0 7:将t0的值存放在v0
该程序的功能是计算“100+a×b” 10. 下列指令序列用来对两个数组进行处理,并产生结果存放在$v0中。假定每个数组有2500 个字,<
最后
以上就是开心身影为你收集整理的lw计算机组成,计算机组成习题答案(清华大学出版社)的全部内容,希望文章能够帮你解决lw计算机组成,计算机组成习题答案(清华大学出版社)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复