计算机中指令的操作数可以从哪里来?

 我来答
xyz5819
高粉答主

2023-01-29 · 醉心答题,欢迎关注
知道顶级答主
回答量:7.8万
采纳率:63%
帮助的人:3.1亿
展开全部
  你好
  .
  计算机指令中要用到的操作数一般可以来自:

  1.CPU 内部的通用寄存器,此时应在指令字中给出用到的寄存器编号(寄存器名), 通用寄存器的数量一般为几个、十几个,故在指令字中须为其 分配 2、3、4、5 或更多一点的位数来表示一个寄存器;该寄存器的内容,可以是指令 运算用到的数据,也可能用作为一个操作数的地址。

  2.可以是外围设备(接口)中的一个寄存器,通常用设备编号或设备入出端口地址或设 备映像地址来表示;

  3.可以是内存储器的一个存储单元,此时应在指令字中给出该存储单元的地址。

  计算机的寻址方式:

  1.立即数寻址:操作数直接给出在指令字中,即指令字中直接给出的不同再是操作数地 址,而是操作数本身。

  2.直接寻址:操作数地址字段直接给出操作数在存储器中的地址。

  3. 寄存器寻址:指令字中直接给出操作数所在的通用寄存器的编号。

  4. 寄存器间接寻址:指令字中给出通用寄存器的编号,在寄存器中给出的不是一个操 作数,而是操作数地址时,就可以用这一地址去读写存储器。

  5. 变址寻址:指令字中给出的一个数值(变址偏移量)与指定的一个寄存器(变址寄 存器)的内容相加之和作为操作数的地址,用于读写存储器。

  6.相对寻址:指令字中给出的一个数值(相对寻址偏移量)与程序计数器 PC 的内容相 加之和作为操作数的地址或转移指令的转移地址。

  7. 基地址寻址:把在程序中所用的地址与一个特定的寄存器(基地址寄存器)的内容 相加之和作为操作数的地址或指令的地址。

  8.间接寻址:指令字的地址字段给出的既不是一个操作数的地址,也不是下一条指令的 地址,而是一个操作数地址的地址,或一条指令地址的地址。

  9.堆栈寻址:堆栈是存储器中一块特定的按“后进先出”原则管理的存储区,该存储区中被读写单元的地址是用一个特定的寄存器命同的,该寄存器被称为堆栈指针(SP)。如果有些指令,其操作码部分已经指明一个操作数为堆栈中的一个单元的内容,则它已经约定将使用SP访问该单元,故不必在指令的操作数地址字段中另加说明.

  祝顺利,如有帮助,还望及时采纳.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式