计算机组成原理
写这个博客主要是怕忘记,下次复习好回来看。
课本
3.
这一题主要考察的就是对于寻址方式的理解。(H表示十六进制)
(1) 第一问问的是直接寻址,**直接寻址就是直接从寄存器中读取地址,取地址对应的内容。**那么这个题目给了地址,那么他的内容就是地址对应的内容。
(2)第二问问的是寄存间接寻址的方式,**指令中给出寄存器号,指定的寄存器中存放的是操作数的有效地址,按照有效地址访问主存,读取或者写入操作数。INC(R0)
表示:将寄存器的内容作为有效地址,从主存中读取操作数,再将+1;(课本)**知道了这些,先取数,然后+1;
(3)与第二问类似,但是减法是,先**-1**在取数 ,
(4)第四问问的是变址寻址方式 ,指令中分别给出一个 寄存器号和一个形式地址,寄存器中的内容作为偏移量,形式地址作为基准地址,将基准地址和偏移量相加得到操作数有效地址,有效地址=形式地址+偏移量,这一题的基准地址就是1000H,那么有效地址就是 ,内容就是 F03CH
参考答案:
【答】
(1)操作数是 。
(2)操作数是,指令执行后 的内容变为 。
(3)操作数是 ,指令执行后 的内容为 。
(4)操作数为 。
17
老师的讲解:
一开始,rs,rt,rd,offset,label的十进制转化成 二进制表示寄存器的地址。
(1)add指令,执行PC+4的指令,所以PC寄存器是00000004H,是rs+rt然后存到rd中,rd=rs+rt=30;
(2)lw指令是,PC+4;rs+imm --> rt,所以这时候 rt=10;(这里的imm和题目中的offset是一样的,由题目给出的格式可以知道)
(3)
所以