计算机组成原理setb,计算机组成原理与汇编语言4

第四章指令系统

指令系统概述

指令系统是指某一种计算机所有指令的集合。

对计算机而言,这是一组二进制数的输入,实际上是一组电平的输入。这些输入能在一个指令周期内产生人们预先规定的动作。显然这不是一组随机的二进制数据输入。

指令系统是联系硬件和软件的桥梁。指令系统对计算机的作用相当于逻辑函数表对逻辑器件(门、触发器、加法器、移位寄存器)的作用。当然指令系统要比逻辑函数表复杂得多。

一种计算机指令系统设计的好坏,往往标志着该计算机功能的强弱,计算机的设计往往先从设计它的指令系统开始。

指令可以用两种不同语言形式来表示:机器语言和汇编语言。

机器语言指令即二进制代码,一般称作机器码。计算机能对其直接识别、分析解码和执行。

汇编语言指令是用助记符表示,它便于程序员编写、阅读和识别程序。

MCS-51单片机计有111条不同的指令。

机器语言指令格式

指令由操作码和操作数两部分组成,操作数可以是要被操作的数据本身(立即数),也可以是数据所在单元的地址或寄存器。指令格式包括指令长度和指令内部信息的安排等。一条长指令通常可以分成几段存放和处理,每一段的长度与微处理机的字长相等。8位微处理机是以8位二进制数(字节)为基础,MCS-51单片机采用变长指令,有单字节、双字节和三字节三种指令格式。

1.一字节指令(49条)

这类指令的二进制代码既包含了操作码信息,又包含了操作数信息。有两种情况:

⑴指令码中隐含着对某一个寄存器的操作。

ba5570a0c39dcf2d1a0fb18b4d7081d5.png

例如:指令码即A3H就表示INC DPTR,数据指针内容加1。

⑵由指令中的最后三位r r r(000~111)指定要操作的工作寄存器R0~R7。

b46281b01c3fbf92ce32ae345e3d819e.png

就表示MOV A,Rn ,把工作寄存器中的内容送A累加器。

2.二字节指令(46条)

这类指令的第一字节为操作码,第二字节为操作数或操作数的地址。

例如:74H,8AH,就表示MOV A,#8AH8AH送A累加器。

0e5823e899b663f9b7a9aa04e2d1f497.png

b12eabb4b645983910abd395d9784d26.png

其一般形式为MOV A,#DA TA,#DATA 表示立即数。

3.三字节指令(16条)

这类指令的第一字节为操作码,后跟两个字节的操作数。

例如:53H,3AH,48H就表示ANL 3AH,48H,即3AH单元的内容与立即数48H进行“与”操作,其结果送入3AH单元。

35293610818b903c6c99da07094a5d51.png

c9a74185111012c811d13bc5b62b76cc.png

06a583cf00286cfd98122e2cf2bf742c.png

其一般形式为ANL direct,#DATA

若按指令的执行时间可分为以下三类:

⑴单周期指令(65条)

⑵双周期指令(44条)

⑶四周期指令(2条)

若按指令的功能可分为以下五类:

⑴数据传送类指令(29条)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/348268.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

你活在一个计算机模拟中吗,一麻省理工教授认为,我们更有可能生活在计算机模拟宇宙中...

一位麻省理工学院的教授表示,我们“更有可能”生活在某种模拟宇宙中,因为我们自己离能够创造超现实的模拟也不远了。(参见在接受解释性网站Vox采访时,计算机科学家Rizwan Virk认为,如果我们生活在信息世界而不是物质世界中&#x…

服务器系统开机提示0xc000007b,0xc000007b蓝屏解决方法

0xc000007b是一种常见的蓝屏代码,导致出现此蓝屏代码的原因有很多,BIOS设置问题,驱动问题,硬件问题等等。硬件问题对于我们小白来说解决起来有点困难。我给大家带来了解决0xc000007b蓝屏软件问题的方法,赶紧来瞧瞧吧0x…

tms tck_记录合规性–关于TCK,规格和测试

tms tck使用软件规格非常困难。 不论在哪个地方提出; 您最终遇到了一个大问题:是否已实现所有指定的内容并对其进行了测试? 在瀑布驱动的方法学时代,这一直是一个问题,即使在撰写本文的今天,敏捷性和用户故…

3D环动画css3实现,CSS3 3D酷炫立方体变换动画的实现

我爱撸码,撸码使我感到快乐!大家好,我是Counter,本章微博主要利用了CSS3的一些新特性,主要用到关键帧来使3D图形运动起来,涉及到了一些抽象的思想,立体的想象。先给大家看看完成的效果&#xff…

Java的新视差控件(JavaFX)

介绍 视差是一种视觉效果,您可以组合以不同速度移动的两个分层图像以获得深度感。 想想一下,当您在道路上行驶时,您会看到附近的树木在快速移动,而距离较远的树木将沿相同的方向移动,但速度较慢,结果是您感…

mockito 静态方法_Mockito –带有注释和静态方法的额外接口

mockito 静态方法在代码中,我最近遇到了一段非常糟糕的代码,该代码基于对对象执行某些操作的类转换。 当然,代码需要重构,但是如果您首先没有对该功能进行单元测试,则有时您可能无法做到/或者不想这样做(这…

手机推送信息到本地服务器,服务器信息推送到手机

服务器信息推送到手机 内容精选换一换服务器的计费方式为“包年/包月”,如果在计费周期内不想再继续使用,请参考本节指导进行退订。执行退订操作前,请确保待退订的服务器数据已完成备份或者迁移,退订完成后资源将被完全删除&#…

Apache Camel 2.21发布–新增功能

我们刚刚发布了Apache Camel 2.21,我将在此博客中重点介绍值得注意的更改。 此版本不支持Spring Boot2。对Spring Boot 2的支持将在Camel 2.22中提供, 我们计划在2018年夏季之前发布。 1)处理大型JMS消息 我们在JMS组件中添加了更好的支持&…

linux下网站服务器,Linux下使用Apache搭建Web网站服务器(示例代码)

[[email protected] ~]# yum install elinks –y主配置文件[[email protected] ~]# ls/etc/httpd/conf/httpd.conf/etc/httpd/conf/httpd.conf#我们又是怎么知道httpd的注配置文件是在你那里的呢?查看httpd注配置文件位置[[email protected] ~]# rpm -pql/mnt/Packa…

程序内存泄露监视_监视和检测Java应用程序中的内存泄漏

程序内存泄露监视因此,您的应用程序内存不足,您日夜不停地分析应用程序,以期捕获对象中的内存漏洞。 后续步骤将说明如何监视和检测您的内存泄漏,以确保您的应用程序处于安全状态。 1.怀疑内存泄漏 如果您怀疑有内存泄漏&#xf…

服务器可以装两个系统吗,云服务器可以装多个系统吗

云服务器可以装多个系统吗 内容精选换一换示例:购买并登录Windows弹性云服务器示例:购买并登录Linux弹性云服务器云平台提供了多种实例类型供您选择,不同类型的实例可以提供不同的计算能力和存储能力。同一实例类型下可以根据CPU和内存的配置…

基于FPGA,如何用Verilog HDL实现64位宽的扰码器?附上仿真结果。

文章目录前言一、扰码器1、什么是扰码器2、扰码的原理3、产生扰码的多项式二、Scrambler的Verilog实现1、scrambler.v2、scrambler_tb.v三、仿真结果四、总结前言 在数字信号处理系统中,因为发送端的数字信号序列可能会出现很长一段都是“0”,或很长一段…

基于FPGA,解扰码器Verilog的实现,以及扰码器与解扰码器的联合仿真。附上仿真结果。

文章目录前言一、扰码器二、解扰码器三、Descrambler的Verilog实现1、descrambler.v2、descrambler_tb.v四、扰码器与解扰码器的联合仿真1、scrambler_test.v2、scrambler_test_tb.v3、联合仿真结果五、总结前言 在数字信号处理系统中,因为发送端的数字信号序列可能…

光纤通信系统简介

文章目录前言一、直接检测光通信系统二、相干光通信系统三、直接检测与相干检测1、直接检测2、相干检测3、相干检测的优缺点(1)相干检测的缺点(2)相干检测的优点总结参考文献前言 光通信系统的基本组成结构如下图所示。光通信系统…

OFDM仿真程序,可直接运行,注释详细(没人注释比我还详细了)

OFDM仿真程序 clc clear allIFFT_bin_length128; %IFFT点数128个 carrier_count50; %子信道(子载波)数目 bits_per_symbol2; %4进制符号 symbols_per_carrier200;%每个子信道或者说子载波有200个符号 SNR0:1:40; for num1:41baseband_out_lengthcarrie…

Delta-Sigma调制(DSM)技术

前言 数字信号处理和通信系统的性能很大程度上受到了模拟信号到数字信号转换接口——ADC的精度和分辨率的限制。而传统的线性脉冲编码调制(PCM)ADC受到了制造工艺的限制,无法达到很高的分辨率。但基于Delta-Sigma调制技术的ADC可以在现有工艺…

无载波幅度和相位调制(CAP)与QAM调制的详细解析(可见光通信应用场景),以及CAP matlab程序下载链接

文章目录前言一、QAM调制?二、无载波幅度和相位调制(CAP)三、CAP调制与QAM调制之间的联系(异同点)四、CAP调制相比于QAM调制的优缺点4.1、优点4.2、缺点五、无载波幅度和相位调制matlab程序五、Reference前言 目前的通信系统中&a…

Matlab中装载和存储实验数据的操作

一、装载实验数据 例如,以下程序,其中path是路径,strcat函数将后面的参数组合成一个字符串。load函数将由twoband_CAP4_400MBd_2000MSa_float_字符串与Tx.txt构成的: twoband_CAP4_400MBd_2000MSa_float_Tx.txt文件读取至matlab中。 numSam…

MATLAB中,信号的频谱图该怎么绘制?横坐标如何标注出频率值?

一、什么是频谱? 频谱的全称是频率谱密度。在对时域信号进行认识和研究的过程中非常不便,那我们该如何更直观地认识信号,更清楚地了解信号的特点呢? 利用傅里叶变换将时域信号变换到频域。 我们知道,在通信领域里傅…

Spring Security与Maven教程

1.简介 在这篇文章中,我们将演示如何针对非常特定的用例将Maven依赖项用于Spring Security。 我们使用的所有库的最新版本都可以在Maven Central上找到。 在项目中,了解Maven依赖项的工作方式和管理方式对于有效的构建周期非常重要,并且对于…