指令系统 —— 指令格式

2024-02-02 04:38
文章标签 指令 格式 指令系统

本文主要是介绍指令系统 —— 指令格式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、指令的定义

指令是指示计算机执行某种操作的命令,是计算机运行的最小功能单位。一台计算机的所有指令的集合构成该机的指令系统,也称指令集。

指令的长度是指一条指令中所包含的二进制代码的位数,因为主存一般是按字节编址的,所以指令的长度一般为字节的整数倍

指令长度与机器字长没有固定的关系,它可以等于机器字长,也可以大于或小于机器字长。根据指令长度与机器长度的大小关系,可以把指令分为

  • 单字长指令
  • 半字长指令
  • 双字长指令

根据指令的长度是否固定,可以把指令分为

  • 定长指令字结构
  • 变长指令字结构

根据操作码的长度是否固定,可以把指令分为

  • 定长操作码:n位,可以包含2^n条指令
  • 扩展操作码:操作码长度可变

二、指令的基本格式

在这里插入图片描述

(1)指令分类

在这里插入图片描述

(2)示例

在这里插入图片描述

为了增加指令操作数的直接寻址范围,我们可以对四地址指令进行优化,将下一个指令的地址按顺序存放在程序计数器 PC 中

在这里插入图片描述


三、定常操作码指令格式

定常操作码指令在指令字的最高位部分分配固定的若干位(定长)表示操作码。一般用 n 位操作码字段的指令系统最大能表示 2^n 条指令

优点:定长操作码对于简化计算机硬件设计,提高指令译码和识别速度很有利;
缺点:指令数量增加时会占用更多固定位,留给表示操作数地址的位数受限。

四、扩展操作码指令格式

全部指令的操作码字段的位数不固定,且分散地放在指令字的不同位置。在设计扩展操作码指令格式时,必须注意以下两点:

  1. 不允许短码是长码的前缀,即短操作码不能与长操作码的前面部分的代码相同,否则无法区分不同长度的操作码。
  2. 各指令的操作码一定不能重复。

优点:在指令字长有限的前提下仍保持比较丰富的指令种类
缺点:增加了指令译码和分析的难度,使控制器的设计复杂化。

通常情况下,对使用频率较高的指令,分配较短的操作码;对使用频率较低的指令,分配较长的操作码,从而尽可能减少指令译码和分析的时间。

示例1:

在这里插入图片描述

4 位基本操作码如果全部用于三地址指令,则有16条。但至少需要将1111留作扩展操作码来用,即三地址指令为15条。

1111 1111留作扩展操作码来用,即二地址指令为15条。

1111 1111 1111留作扩展操作码来用,即一地址指令为15条。

零地址指令为16条

故扩展操作码指令格式共可以表示 15+15+15+16=61 条指令

示例2:

在这里插入图片描述

这篇关于指令系统 —— 指令格式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/669499

相关文章

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

工作常用指令与快捷键

Git提交代码 git fetch  git add .  git commit -m “desc”  git pull  git push Git查看当前分支 git symbolic-ref --short -q HEAD Git创建新的分支并切换 git checkout -b XXXXXXXXXXXXXX git push origin XXXXXXXXXXXXXX

easyui同时验证账户格式和ajax是否存在

accountName: {validator: function (value, param) {if (!/^[a-zA-Z][a-zA-Z0-9_]{3,15}$/i.test(value)) {$.fn.validatebox.defaults.rules.accountName.message = '账户名称不合法(字母开头,允许4-16字节,允许字母数字下划线)';return fal

[数据集][目标检测]血细胞检测数据集VOC+YOLO格式2757张4类别

数据集格式:Pascal VOC格式+YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):2757 标注数量(xml文件个数):2757 标注数量(txt文件个数):2757 标注类别数:4 标注类别名称:["Platelets","RBC","WBC","sickle cell"] 每个类别标注的框数:

Android中如何实现adb向应用发送特定指令并接收返回

1 ADB发送命令给应用 1.1 发送自定义广播给系统或应用 adb shell am broadcast 是 Android Debug Bridge (ADB) 中用于向 Android 系统发送广播的命令。通过这个命令,开发者可以发送自定义广播给系统或应用,触发应用中的广播接收器(BroadcastReceiver)。广播机制是 Android 的一种组件通信方式,应用可以监听广播来执行

一步一步将PlantUML类图导出为自定义格式的XMI文件

一步一步将PlantUML类图导出为自定义格式的XMI文件 说明: 首次发表日期:2024-09-08PlantUML官网: https://plantuml.com/zh/PlantUML命令行文档: https://plantuml.com/zh/command-line#6a26f548831e6a8cPlantUML XMI文档: https://plantuml.com/zh/xmi

mysql中导入txt文件数据的操作指令

1 表tt的格式:    CREATE TABLE `tt` (   `ind` int NOT NULL auto_increment,   `name` char(100) default NULL,   PRIMARY KEY  (`ind`)  )   2 文件d.txt的内容示例:  1,a  2,b  3,c

可选择的反思指令微调

论文:https://arxiv.org/pdf/2402.10110代码:GitHub - tianyi-lab/Reflection_Tuning: [ACL'24] Selective Reflection-Tuning: Student-Selected Data Recycling for LLM Instruction-Tuning机构:马里兰大学, Adobe Research领

驱动安装注册表指令

HKCR: HKEY_CLASSES_ROOT HKCU: HKEY_CURRENT_USER HKLM: HKEY_LOCAL_MACHINE HKU: HEKY_USER HER: 相对根键

单精度浮点数按存储格式转为整数的程序

///#include<cstdio>//-----------------union int_char{unsigned char ch[4];float i;};void out_put(union int_char x)//x86是小端对其模式,即最数据的最低位存储在地址的最低位上。{printf("单精度浮点数值为:%f\n",x.i,x.i);printf("存储位置从左到右