挑战408——组成原理(22)——指令系统刷题(2)

本节刷题内容:指令系统
题库参考:百度文库,王道考研,408真题
涉及的主要内容:

  1. 指令的分类
  2. 指令寻址方式
  3. 指令编码
第一题

挑战408——组成原理(22)——指令系统刷题(2)_第1张图片
**分析:**这类题目主要是用来判断寄存器中的内容。先读题目,某机器指令字长为16位,主存按字节编址。读到这里应该反应,一条指令应该占有两个字节。每取一字节,PC自动加一。所以是,每取一条指令,那么PC是加2.所以,取地址后,PC的值为 PC+2,也就是2000H。执行后,是PC+相对寻址中的形式地址,也就是2002H + 40H = 2042H。选C
类似的,看看下面这道真题:
挑战408——组成原理(22)——指令系统刷题(2)_第2张图片
分析: 这里对比上题,几乎是一个磨子印出来的,但是唯一不同的就是,没有告诉你哪个是PC的初始地址。这里就要回顾一下了,PC里面的内容,放的是下一条要执行的指令的地址。,也就是说,这里要去取某条转移指令,而这条转移指令的地址在2000H,所以我们现在要做的就是去2000H这个地址去取这样的一条指令,因此PC的初始地址就是2000H。如果说PC的变化过程,可以用下图来表示:
挑战408——组成原理(22)——指令系统刷题(2)_第3张图片

第二题

挑战408——组成原理(22)——指令系统刷题(2)_第4张图片
分析:这道题就比较的综合了,不仅考查指令寻址,还涉及一些数据的表示的内容,所以,思路一定要清晰。读题,32位定长指令,其中,OP字段有8位,显然地址码有24位。地址码有两个,其中第一个是寄存器直接寻址,也就是直接给出寄存器的编号,再这里,只有16个寄存器,所以占用4位二进制数,所以剩下20位。再者,基址寄存器不固定,所以又要从16个寄存器中选定,,所以基址寻址的地址实际上是基址+相对寻址地址。所以这里是20-4 =16.题目说了,这是补码表示,有一位符号位,所以表示起来是正负2^15.
这类题目画图起来就清晰多了:
挑战408——组成原理(22)——指令系统刷题(2)_第5张图片

第三题

在这里插入图片描述
分析:这道题目看起来比较抽象,实则很简单。先看条件转移指令的条件,无符号整数比较大的时候,才触发此条件,那么比较两个数的大小通常是相减或者是相除。假设有两个无符号的整数AB,那么比较AB就是A-B.要转移必须A-B>0.所以,进位标志肯定是0,也不存在借位。只有当A=B的时候才会有零标志。不是相加所以不可能出现溢出,无符号也不存在符号位,所以显然是C。

第四题

挑战408——组成原理(22)——指令系统刷题(2)_第6张图片
**分析:**首先,I为寄存器编号,先进行变址寻址,也就是要先找到变址寄存器。所以,第一步是找寄存器的编号I. 变址寻址是将变址寄存器中的内容与形式寄存器中的地址相加,所以变址寻址的内容为 (I)+D.而间址寻址是将地址作为下一个要寻找的内容的地址来处理的,换个方式也就是,在上一步的基础上加多个括号, ((I)+D)

第五题

挑战408——组成原理(22)——指令系统刷题(2)_第7张图片
**分析:**这里主要是注意后面的计算,前面的还是比较清晰的。占3个字节,那么取指令的时候PC一定要加3.然后以此为基准,加上相对的位移量,从而达到想要前往的主存单元。但是后面的是回退,主要注意这个时候,相对位移量是负的。而地址码在指令中是以补码的形式存在的(开篇提到过)。所以在进制的转换上,要注意。至于以低字节为自字地址存放方式,是指以高位扩展来区分正负,即用符号位填充,这个在强制类型转换的时候说过高位扩展。总体的过程如下:
挑战408——组成原理(22)——指令系统刷题(2)_第8张图片

你可能感兴趣的:(计算机理论基础,408组成原理)