c++loop指令_计算机组成原理学习笔记(六):指令系统

本文详细介绍了计算机指令系统,包括指令系统概述、指令格式、操作类型、数据寻址方式等内容。具体讨论了数据传送、运算、移位、转移、输入输出和其他指令,以及立即寻址、直接寻址、隐含寻址等多种寻址方式。
摘要由CSDN通过智能技术生成

第六章 指令系统

6.1 指令系统概述

6.1.1 指令系统

物理的计算机只能够执行机器语言程序,组成程序的每一条语句称作一条机器指令,一种计算机能够执行的机器指令的集合就是这种计算机的指令系统。

6.1.2 机器指令格式

指令的一般格式

c9f3d244b5c37421414b26ee0dafcf84.png
操作码

操作码位数反映机器指令数目,内容反映机器做什么操作。

操作码类别:

  • 长度固定,如 RISC 机器,指令规整,译码简单
  • 长度可变,操作码分散在指令字的不同字段中,控制器设计复杂
地址码

地址码用来指定该指令操作数的地址、结果的地址,以及(可能有的)下一条指令的地址。

例如指令: MOV AX, [40],其中 “40” 指明了要操作的源操作数的地址,AX 指明了目的操作数的地址。

操作码扩展技术

通过操作码扩展(对应的地址码长度收缩)技术,能够有效地缩短指令的平均长度。

6.1.3 操作码设计举例

例题

假设一台计算机指令字长 16 位,操作码与地址码都为 4 位,请列出几种可能的操作码设计方法。

固定操作码

a6a1003e4e84eb214e15bdef5043807f.png
扩展操作码

扩展方案非常多,下面给出两种扩展方式。

e31e1c5e7428e7ba34e38cfa560db0f9.png

690785b2653ea2e2167d8c5a90726c1b.png

6.1.3 指令字长

  • 指令字长取决于操作码长度、地址码长度和地址码个数。指令按照字长是否可变分为两种:
    • 指令字长固定: 指令字长 = 存储字长
    • 指令字长可变: 按字节的倍数变化
  • 指令字长可变,导致控制电路复杂,多字长指令需要多次访存,应尽量把常用指令设计为单字长或短字长指令。

6.2 操作类型

6.2.1 数据传送类指令

数据传送类指令主要分为 “源地址” 和 “目的地址” 两个部分。

  1. 寄存器-寄存器 MOV AX, BX
  2. 寄存器-存储器 MOV [20], AX(STORE指令)
  3. 存储器-寄存器 MOV AX, [20]&#x
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值