[工学]专题四指令系统
计算机组成原理第4章指令系统课件
4.2 指令的格式
4.2.1 指令的编码格式
操作码OC
AC1
AC2
(1)把保存操作前原来操作数的地址称为源点地址(SS), 把保存指令执行结果的地址称为终点地址或目的地址(DD)。
(2)将源点与终点操作数进行操作码规定的操作后,将 结果存入终点地址。通常二地址指令又称为双操作数指令。
ADD R0,R1表示将R0寄存器的内容和R1寄存器的内容相加以
5 异或XOR
XOR指令对两个操作数进 行按位异或运算。
4.4 指令的种类
4.4.4 移位、循环类指令
CF
位移指令SAL/SHL操作示意图
CF
SAR操作示意图
CF 0
SHR操作示意图
4.4 指令的种类
4.4.4 移位、循环类指令
不带进位标志的循环左移指令ROL MSB 操作数 LSB
CF
不带进位标志的循环右移指令ROR MSB 操作数 LSB
例如:在IBM-PC指令系统中
MOV
AX,05FFH
4.3 寻址方式
4.3.2 常用的寻址方式
2.直接寻址方式
(1)含义: 是指地址字段直接指明操作数在存储器内的位置的寻址 方法。即形式地址等于有效地址。 (2)优缺点: A、优点:简单,不需要进行加法运算。 B、缺点:地址空间指令地址字段长度的限制。
4.2 指令的格式
4.2.3 指令助记符
通常采用一些符号来代表二进制数据,这些符号即指 令助记符。
指令助记符 ADD SUB MUL DIV
助记符示例
含义
指令助记符
相加
AND
相减
OR
相乘
LOAD
相除
STORE
计算机原理第四章指令系统
、寄存器寻址、间接寻址、基址寻址、变址
寻址等。
指令系统的设计原则与技术
设计原则
指令系统的设计需要遵循一系列原则,包括完备性、 一致性、简单性、高效性等。完备性是指指令系统应 该能够完成所有需要的操作;一致性是指指令系统的 设计应该保持风格的一致性;简单性是指指令系统的 设计应该尽可能简单明了;高效性是指指令系统应该 能够高效地完成各种操作。
02
优点是操作数存放在寄存器中,可以快速访问。
03
缺点是寄存器的数量有限,不是所有数据都能存放在寄存器 中。
间接寻址方式
操作数的地址通过寄存器间接给出。 优点是可以间接访问内存单元,扩大寻址范围。 缺点是需要多一个间接寻址的步骤,访问速度较慢。
基址寻址方式
01
操作数的有效地址是基址寄存器和位移量之和。
计算机原理第四 章指令系统
目录
• 指令系统概述 • 指令格式 • 指令系统中的寻址方式 • 指令系统中的控制指令 • 指令系统中的数据处理指令 • 指令系统中的输入输出指令
01
指令系统概述
指令系统的定义与功能
指令系统的定义
指令系统是指一台计算机所能执行的所有指令的集合,包括各种指令、寻址方 式、寄存器名称等。
输入输出指令是计算机与外部环境交互的重要手段,对于实现计算机的输 入输出功能至关重要。
输入输出指令的实现方式
直接内存访问(DMA)
DMA是一种实现高速数据传输的方法,通过直接在内存和 外部设备之间传输数据,而不需要经过CPU的干预。
中断
中断是一种处理输入输出请求的方法,当外部设备完成数据传输或需要CPU处 理某些事件时,会向CPU发送中断信号,CPU会暂停当前任务并转去处理中断 事件。
《指令系统》课件
不同的指令系统针对不同的应用领域进行优化,以满足各 种复杂的应用需求。
例如,针对高性能计算领域的处理器,其指令系统会更加 注重浮点运算和并行处理;针对嵌入式领域的处理器,其 指令系统会更加注重低功耗和实时性。
指令系统与其他技术的融合
随着技术的发展,指令系统与其他技术 的融合成为一种趋势。
为了减少访问主存的延迟,指 令系统使用缓存来存储经常访 问的数据和指令。通过缓存管 理技术,系统可以更快地访问 这些数据和指令。
为了降低能耗和提高能源效率 ,指令系统采用了一系列节能 技术,如动态电压调节、动态 频率调节、休眠模式等。
为了提高系统的安全性,指令 系统可以提供加密和解密功能 ,保护数据的机密性和完整性 。此外,还可以通过权限控制 和访问控制机制来限制对敏感 资源的访问。
03 指令系统的实现方式
汇编语言实现指令系统
汇编语言概述
汇编语言是一种低级语言,与机器语言有很高的相似度。 它使用助记符表示指令,易于理解和编写。
汇编指令系统
汇编语言中的指令系统通常与特定的处理器架构相关联, 包括算术、逻辑、控制和输入/输出指令。
汇编程序
汇编程序是一种将汇编语言代码转换为机器语言的编译器 。它逐条将汇编指令翻译为对应的机器码,并生成可执行 文件。
例如,与人工智能技术的融合,使得处 理器能够更好地支持人工智能算法和应 用;与网络技术的融合,使得处理器能 够更好地支持云计算和边缘计算等应用
。
通过与其他技术的融合,指令系统的功 能和应用领域得到了进一步拓展,同时
也促进了相关技术的发展和创新。
谢的任务, 确保各个任务按照预定的顺序或优先级执行 。
D
指令系统
第 4 章 指令系统华南理工大学 黄钦胜 编 本章重点: 本章重点:指令格式,功能及分类。
指令和数据的寻址方式。
堆栈及其实现。
RISC 和 RISC 的特点。
4.1 指令1. 概述:(1) 指令系统 指令:指挥计算机执行某种操作的命令。
指令系统:某计算机所能执行的全部指令,称为该机的指令系统。
(2) 指令系统的类型 ① 复杂指令系统计算机 CISC ② 精简指令系统计算机 RISC (3)指令系统与软硬件的关系 按指令系统功能构造硬件组织;硬件支持指令系统功能 的实现;在指令系统的基础上构造系统软件。
2. 对指令系统性能的要求指令系统的设计是计算机系统设计中的一个核心问题。
(1) 完备性: 要求指令系统丰富,功能齐全,使用方便。
(2) 有效性: 指编写出的程序能高效率运行,占存储空间小,执行速度快。
(3)规整性: 包括对称性、匀齐性、指令格式和数据格式的一致性。
①对称性:指令系统中所有的寄存器和存储器单元都可同等对待,所有指 令都可使用各种寻址方式。
②匀齐性:一种操作性质的指令可支持各种数据类型。
③一致性:指令的长度和数据的长度有一定的关系,以便处理和存取,通 常为字节长度的整数倍。
④兼容性:系列机各机种之间具有相同的基本结构和共同的基本指令集, 而且“向上兼容” 。
4.1.1 指令的基本格式OP 操作码字段 A 操作数地址字段1. 操作码 OP——用于指示指令的操作性质及功能。
n≥log2N 或 N≤2n 式中,N——指令系统基本指令的条数。
n——OP 的二进制位数。
2. 地址码 A——指示操作数或指令的地址。
A 的位数越多,访问内存的范围(寻址范围)越大。
通常还包含寻址方式码。
3. 指令字长——一条指令含有的二进制位数。
指令字长和机器字长通常是整倍数关系。
4. 决定指令格式的主要因素。
操作种类、地址个数、寻址方式。
4.1.2 地址码格式1. 三地址指令 OP A1 A2 A3指令意义:(A1) OP (A2) A3 优点:适用于需保留操作数的场合。
计算机组成原理之 指令系统
15
16
按操作数的物理位置分类
访问内存 存储器 存储器-存储器( 存储器(SS)型 访问寄存器 寄存器 寄存器-寄存器( 寄存器(RR)型 访问内存和寄存器型 寄存器 寄存器-存储器( 存储器(RS)型
指令字长度
指令字中包含二进制代码的位数,称为指令字长度。 指令字中包含 进制代码的位数,称为指令字长度 机器字长是指计算机能直接处理的二进制数据的位数 ,它决定了计算机的运算精度。 指令字长度=机器字长度的指令称为单字长指令 指令字长度=半个机器字长度的指令称为半字长指令 指令字长度=两个机器字长度的指令称为双字长指令 指令字长度 两个机器字长度的指令称为双字长指令 用多字长指令的目的? 优点是提供足够的地址位来解决访问内存任何单元 的寻址问题。 缺点是必须两次或多次访问内存以取出整条指令, 缺点是必须两次或多次访问内存以取出整条指令 这就降低了CPU的运算速度,同时又占用了更多的存 储空间。
详见Intel CPU文档:Intel 64 and IA-32 Architectures Software Developer's Developer s ManualVolume 2A: Instruction Set Reference
23
24
[例1] ] 指令格式如下所示,其中 令 式 OP为操作码,试分析指令格式的特点。 令 式 15 9 7 4 3 0 OP -------源寄存器 目标寄存器 [解 ]: (1)单字长二地址指令。 (2)操作码字段OP可以指定128条指令。 (3)源寄存器和目标寄存器都是通用寄存器(可分别指定16个),所以是RR 型指令,两个操作数均在寄存器中。 (4)这种指令结构常用于算术逻辑运算类指令。 这种指令结构常用于算术逻辑运算类指令 [例2] 指令格式如下所示,OP为操作码字段,试分析指令格式特点。 15 10 7 4 3 0 OP -------- 源寄存器 变址寄存器 位移量(16位) [解 ]: (1)双字长二地址指令,用于访问存储器。 (2)操作码字段OP为6位,可以指定64种操作。 (3)一个操作数在源寄存器(共16个),另一个操作数在存储器中(由变址寄 存器和位移量决定)所以是RS型指令。
计算机组成原理-04指令系统
第4章 指令系统
多地址指令
在性能较好的大中型机甚至高档小型机中, 设置的一些功能很强的,用于处理成批数 据的指令,如字符串处理指令,向量、矩 阵运算指令等
第4章 指令系统
指令操作码的扩展技术
指令操作码的长度决定了指令系统中完成不同操作的指 令条数 若机器的操作码长度为K位,则它最多只能有2K条不同 指令 指令操作码的编码有2种
单元内容
FEH
1111 1111
FFH
高地址
((01H))=?
数据寄存器
D7D6
D1D0
数据总线
((01H))=(03H)=02H
读/写命令
第4章 指令系统
3、数据信息的表达单位
计算机中信息的单位
二进制位bit:存储一位二进制数:0或1 字节Byte:8个二进制位,D7-D0 字Word:16位,2个字节,D15-D0 双字DWord:32位,4个字节,D31-D0
OP
操作码
AD1,(AD2,AD3)
地址码
第4章 指令系统
操作码(operation code)
表示该指令所要完成的操作 操作码是指令功能的二进制编码 操作码的长度决定指令系统中的指令数
第4章 指令系统
地址码
操作数 源操作数的地址 目的操作数的地址 结果操作数的地址 地址偏移量 程序转移到的下个地址
第4章 指令系统
指令操作码的扩展技术
例:某计算机模型有7条指令(I1-I7),它们在程序中 出现的概率用Pi表示,则可考虑下表所示的方案
指令
概率(%)
操作码
操作码长度(位)
I1
45
00
名词解释 指令系统
名词解释指令系统
指令系统是指计算机系统用于向计算机执行特定任务发出指令的一套规则
和机制。
指令系统是计算机硬件和软件的重要组成部分,决定了计算机能够做什么、如何执行特定任务。
指令系统由多个层次组成。
首先是汇编语言,它是用汇编语言编写的程序,
能够让计算机直接执行。
汇编语言通常使用简单的指令集,只涉及计算机寄存器和内存的使用,以及数据的操作。
接下来是高级语言,高级语言编写的程序需要通过编译器或解释器翻译成汇编语言或机器语言,才能被计算机执行。
高级语言通常使用更复杂的指令集,涉及更多的操作,例如文件读写、网络通信等。
指令系统还可以包括硬件指令和软件指令。
硬件指令是由计算机硬件直接控制的指令,例如CPU中的寄存器和内存。
软件指令是由操作系统和应用程序编写的指令,例如读写文件的指令,以及网络通信的指令。
指令系统的设计非常关键,它能够影响计算机系统的性能和效率。
优化指令系统可以提高计算机系统的处理能力和响应速度,也可以降低硬件成本和复杂度。
指令系统的错误或缺陷可能导致计算机系统出现错误或崩溃,因此必须保证指令系统的稳定性和可靠性。
指令系统是现代计算机系统的重要组成部分,对于计算机系统的性能和效率有着至关重要的作用。
第四章-指令系统PPT课件
指令字结构简单,且指令字长度是不变的 ;
采用非等长指令的的优点:各种指令字长度随指令功能而异,结
构灵活,能充分利用指令长度,但指令的控制较复杂 。
.
16
五、指令助记符
由于硬件只能识别1和0,所以采用二进制操作 码是必要的,但是我们用二进制来书写程序却 非常麻烦。
指令前缀 段取代 操作数长度取代 地址长度取代
操作码 Mod Reg或操作码 R/M S I B 位移量 立即数
.
19
七、 Pentium指令格式
指令前缀中的重复前缀指定串的重复操作,这样使 Pentium处理串比软循环快得多。
LOCK前缀用于多CPU环境中对共享存储器的排他性 访问
段取代用于改变默认段寄存器的情况
提供一个常数。
.
31
3、直接寻址
指令中地址码字段给出的地址A就是操作数的 有效地址EA(Effective Address),即EA=A。
.
32
3、直接寻址
操作数地址是不能修改的,与程序本身所在的位置 无关,所以又叫做绝对寻址方式
在早期的计算机中,主存储器的容量较小,指令中 地址码的位数要求不长,采用直接寻址方式简单快 速,也便于硬件实现,因此,常被作为主要的寻址 方式。
本章所讨论的指令,是机器指令。 一台计算机中所有机器指令的集合,称为这台计算机的指令系
统。 指令系统是表征一台计算机性能的重要因素,它的格式与功能
不仅直接影响到机器的硬件结构,而且也直接影响到系统软件, 影响到机器的适用范围
.
3
4.1 指令系统的发展与性能要求
3、发展情况
复杂指令系统计算机,简称CISC。但是如 此庞大的指令系统不但使计算机的研制周期 变长,难以保证正确性,不易调试维护,而 且由于采用了大量使用频率很低的复杂指令 而造成硬件资源浪费。
计算机组成原理-指令系统
1 2
早期计算机的指令系统
以简单指令为主,操作码短,地址码少,寻址方 式简单。
现代计算机的指令系统
以复杂指令为主,操作码长,地址码多,寻址方 式多样化。
3
未来计算机的指令系统
随着技术的发展,指令系统将更加智能化、自动 化和个性化。
02
指令的格式与寻址方式
ቤተ መጻሕፍቲ ባይዱ
指令的格式
操作码字段
表示指令的操作类型,如加、减、乘、除等。
提高指令执行速度
优化操作码与地址码的设计,可以减少指令的解码 时间,从而提高指令的执行速度。
支持更多的操作和寻址方 式
通过扩展操作码和优化地址码的设计,可以 支持更多的操作和寻址方式,从而增强指令 系统的功能和灵活性。
04
指令系统的功能与性能分析
指令系统的功能分析
指令集架构
定义了计算机的基本操作和功能,包括数据类型、 操作码、寻址方式等。
指令执行单元
指令执行单元是计算机硬件的核心组件之一,负责执行解码后的指令。它包括算术逻辑单元 (ALU)、控制单元(CU)和寄存器文件等组件。
指令系统的软件实现技术
汇编语言
汇编语言是一种低级语言,与机器语言相对应。它使用助记符表示指令,方便程序员编写底层程 序。汇编语言编译器将汇编语言程序转换成机器语言程序。
能技术的发展,指令系统将更加注重智能优化能力,以提高程序的执行
效率和准确性。
06
指令系统实例分析
x86指令系统实例
指令集特点
x86指令系统是复杂指令集计算机(CISC)的代表,指令数量庞大, 寻址方式多样,支持多种数据类型和操作。
指令格式
x86指令格式多样,包括单字节、双字节和多字节指令,以及可变 长度的指令。
计算机组成原理第四章指令系统[一]
例如:Intel8086 中的立即寻址指令.
MOV Ax,2000H; 将立即数2000H存入累加器AX中
2.存储器直接寻址(Memory direct addressing):指令的地
4.1 指令格式
1.指令格式
操作码 地址码
• 操作码(Operation code):指明该指令执行 什么性质的操作,不同的指令有不同的操作 码.其位数反映了机器操作种类,即机器允许 的指令条数.
• 地址码:指明操作数所在的地址(Source operand reference),结果存放的地址(Result operand reference)以及下一条指令的地址 (Next instruction reference).
• 变长指令字结构:一个指令系统中,各种指令字 长度随功能而异.CISC采用变长指令字结构. 优点:使用灵活,充分利用指令的每一位,指令平均 长度短,码点冗余少,易于扩展; 缺点:指令格式不规整,取指令时需要多次访存,从 而导致不同指令的执行时间不同,硬件控制系统 复杂.
2.地址码结构
设计指令的地址码格式时需解决:
XXXX XXXX 0000 1 1 01 1110 1110 1110 1111 1111 1111 1111
YYYY YYYY YYYY YYYY 0000 0001 1111 0000 1110 1111 1111
ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ
ZZZZ 0000 1111
指令格式为:
设Data为操作数
第4章-指令系统
注:
a. 直接寻址的操作过程与立即寻址不同。 为表示它们的区别,直接寻址的偏移量用一 对 “[ ]”表示。
立即寻址:MOV AX,1234H
直接寻址:MOV AX,[1234H]
b. 段基值乘以16,相当于段基值(二进
制表示)左移4位,或段基值(十六进制
表示)在末尾添一个0H。
-
23
(2) 间接寻址方式 以间接的方式得到有效地址EA,有几个专用 的寄存器可用于间接寻址:BX,BP,SI,DI。 a. 基址寻址方式 • 以BX作为基址寻址寄存器,操作数在数据段中。 • 以BP作为基址寻址寄存器,操作数在堆栈段中。
程序的执行一般是按指令的先后次序一条一 条执行,但遇到转移类指令时则可能改变指令的 执行次序。
-
5
四、指令包含的基本内容
1. 做什么操作 由指令的操作码字段规定。
2. 操作数的来源 操作数来自于什么地方。由指令的操作
数字段规定。
-
6
操作数的来源可以是:
a. CPU内的某个寄存器; b. 存储器内的某一个或几个单元; c. I/O端口; d. 立即数。
-
21
MOV AX, [1234H]
...
EA=1234H
A1
本例执行完后,
34
AX=3050H
12
...
设DS=3000H
DS16
= 3000H×16
=30000H
30000H
...
+ 1234H
31234H
31234H 50
30
5360 7580 AX
...
AH AL
-
指令 代码段
EA=1234H 数据段
关于指令系统的描述
关于指令系统的描述
x
一、关于指令系统
指令系统是一种用于控制计算机的硬件指令集,不同的指令有不同的功能。
指令系统包括编程语言、指令码和微程序,它们构成了计算机的指令集。
指令系统有助于指定机器按预定方式运行,以及在操作系统和其他软件之间进行适当的数据交换。
指令系统也是一种指令处理机制,其作用是捕获指令,发送给控制器,控制器通过这些指令控制硬件的运行。
它是一种协作机制,它能够实现机器和操作系统之间的协作,以及清晰的指令处理流程,这对于实现计算机的高效运作非常重要。
二、指令系统的组成
指令系统由四部分组成,即指令码、通用寄存器、指令子系统和状态控制器。
1、指令码:指令码是机器指令的文本表示,用于控制机器的操作,它由一系列数字和字母组成。
2、通用寄存器:通用寄存器是用于存储操作的内存空间,它可以存储指令和数据,是指令的主要存储位置。
3、指令子系统:指令子系统负责执行指令,它可以识别指令码并将其转换为机器指令,从而实现指令的操作。
4、状态控制器:状态控制器负责跟踪计算机的运行状态,并根据需要更改其配置。
总之,指令系统是一种用于在硬件和软件之间进行数据交换的机制,它不仅是操作系统和计算机应用软件的重要组成部分,而且是对机器的操作和数据处理的基础。
第四篇指令系统
指令系统
三根地以址运据指算一单令器地条字中址指中累指令有加令中三寄又个有存称操器几为作A单个C数操中操地作的作址数数数。指据地令为址。被通,操常可作这数将种,该指指指令令令通字常称的
为几地操址作码字数段指所令指或(明A几1的)地数O为址P操指作(令A数2。),操→作结A果3又放回累加寄 三础地同器种上址样中存(址数一,,,通器A为字器A)1也用A,般后AOA段 中为1表C的P称寄因来的分通,二中被表A示通终存别用2而操又地。操示,内用点器A指寄址就作发作操(3存寄A(的明存(既指数作A形数展C中存目地参器1可)令地性地器成有成)的址与的以常址质O址中)。了二被O操地是称P,;为的P操三地操作址内为也(数A作(的,地址作存双A的称A(;A数)两AC中操址格数存源21)地→)个的作作储操→指式、表址表数单数存单作令、操→示;示在元指放元数A格一作累把A内C地令操中地3加操式A地数存址,为作的址1寄作中。址及,它存结数;存(或也在格操的放果或A器运运可两2结的运此式作A为算算以个果地算C基和结操)是中地的址器零果作结运的址地。中数地这果算数码址地;。 址格传式送,到指如定下的图地所方示。:
指令格式和数据格式的一致性是指指令长度和
数据长度有一定的关系,以方便处理和存取。
指令系统
4.1.3 低比较级内语容 言与硬件高级结语言构的关低系级语言
对程序员的训练要求
计算机语言(1)具通有用高算级法语言和低级语言之有分。
有
1 高级语言(2)如语C言,规F则ORTRAN等,其较语句少和用法与具体较机多器
因此,执行此类指令时,既要访问内存单元,又要访问寄存 器。
4.2.3 指令长度
指令系统
指令例字如长,度IB:M一37个0指系令列字,中它包的含指二令进格制式代有码16的位位(数半。 字的)。机的在器P,e字有n长t3iu2:m位计系(算列单机机字能中)直,的接指,处令还理格有的式4二8也位进是(制可一数变个据的半的:字位有) 数8位,、它1决6定位了、计32算位机、的64运位算不精等度。。
第四章 指令系统(new).ppt
(1) 三个容易混淆的基本概念
• 指令字长:一条指令中包含二进制代码的位数. • 存储字长:存储单元中二进制数的位数. • 机器字长:计算机能直接处理的二进制数据的位 数,通常与主存单元的位数一致.
(2) 指令的长度
• 单字长指令:指令字长等于机器字长. • 双字长指令: 指令字长等于两个机器字长的指令.
指令系统既是计算机硬件设计的主要依据,又 是计算机软件设计的基础,所以,一台计算机 指令系统的优劣直接影响着计算机系统的性能。
学习指令系统的目的:对于了解计算机的工作过 程和控制方法有重要的作用。 主要学习内容:
4.1 指令系统的发展与性能要求 4.2 指令格式 4.3 指令和数据的寻址方式 4.4 CISC和RISC
引入系列机的概念:基本指令相同、基本体系结构相同的 一系列计算机,如IBM 370系列、VAX-11系列、IBM PC 系列等。
(1)为软件兼容的需要,使已经开发的软件能够被继承, 在同一系统的计算机中,新开发机型的指令系统需要包 含先前开发的机器的所有指令和寻址方式。这样,导致 计算机指令系统越来越庞大,某些机器的指令系统包含 几百种指令,如DEC公司的VAX-11/780有18种寻址方式, 9种数据格式,303种指令。
第四章 指令系统
指令(instruction): 计算机硬件能识别并直接 执行的操作命令(如加、减、传送、转移等), 即机器指令(Machine Instruction)。 指令系统(指令集:instruction sets):一台计算机 能执行的全部指令的集合。
指令系统反映了计算机具有的基本功能,是计 算机系统硬件、软件的主要分界面。
• 一条指令中指明几个地址(与指令所涉及的操作数个 数有关);
• 如何给出地址(显地址--地址信息明显地给出;隐地 址--地址信息依据某种事先约定, 用隐含的式给出)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
形式上是BCD码时:
CY AC
调整原则
0
0
不调整
0
1
+06H
1
0
+60H
1
1
+66H
[例3-19] 编写程序完成78+93的BCD加法程序,并对调整 过程进行分析。 解:相应BDC加法程序为
ORG 3000H MOV A ,#78H;(A)←78H ADD A ,#93H;(A)←78H+93H=0BH , Cy=1 DA A SJMP $ END
这是重点——不同于高级语言
2、加法指令
不带进位的加法指令 带进位的加法指令 加 1 指令 二-十进制调整指令
1)不带进位的加法指令
ADD A,Rn ; (A)<--(A)+(Rn) ADD A, direct ;(A)<--(A)+(direct) ADD A,@Ri ;(A)<--(A)+((Ri)) ADD A,#data ;(A)<--(A)+#data
解:程序如下:
ORG MOV MOV MOV ADD MOV
2000H R0 ,#20H R1 ,#30H A ,@R0 A ,@R1 @R0 ,A
INC R0
INC R1 MOV A ,@R0 ADDC A ,@R1 MOV @R0 ,A
SJMP $
END
(21H) (20H) R0
+ (31H) (30H) R1
;取被加数低8位 ;求和的低8位
Cy(21H) (20H)
;存和的低8位 ;指向被加数高8位
ADDC ADD
;指向加数高8位
;取被加数高8位 运算结果
;求和的高8位 ;存和的高8位 ;停机
高8位存于21H单元, 低8位存于20H单元。
4、二-十进制调整指令
DA A
调整原则:
形式上非BCD码 需要加 06H、60H、66H调整
;(A)(A)+1 ;(Rn)(Rn)+1 ;(direct)(direct)+1 ;((Ri) )((Ri) )+1 ;(DPTR)(DPTR)+1
[例3-13] 设20H~21H单元存放一个16位二进制数X1(高8位存于21H 单元),30H~31H单元存放另一个16位二进制数X2(高8位存于31H单 元)。求X1+X2,和存于20H~21H,设两数之和不超过16位。
[例3-10] 试分析8031执行如下指令后累加器A和 PSW中各标志位的变化状况。
MOV A ,#9EH ;9EH =158 ADD A ,#71H ;71H =113
OV=C8⊕C7=1⊕1=0 Cy=1 Cy AC F0 RS1 RS0 OV - P 10 0 0 0 0 0 0
若把两个操作数看 成无符号数,Cy=1, 表示结果超出(0~ 255),运算结果为 10FH,即271;
3.3.3逻辑运算指令
例 3-23 3-24 3-25
3.3.4 位操作指令
例 3-27
注意:对PSW的影响
3.3.2 算数运算指令
1、加法指令
1)不带进位的加法指令 ADD
2)带进位的加法指令 ADDC
3)加1指令
INCபைடு நூலகம்
2、减法指令
1)带借位减法指令 SUBB
2)减1指令
DEC
3、乘法指令
MUL
4、除法指令
指令助记符
影响标志
指令助记符
影响标志
ADD (加) ADDC (带进位加) SUBB (带借位减)
Cy OV AC ××× ××× ×××
MUL (乘) DIV (除) DA (二十进制调整)
Cy OV AC 0× 0× ×
注意:P352附表2 INC 指令 和 DEC指令对Cy 没有影响 凡是A 累加器作目的操作数的指令均影响P标志
若把两个操作数看成 带符号数,OV=0, 无溢出,结果正确, (A)=0FH=15。
9EH=[-98]补
-98+113=15
2)带进位的加法指令
ADDC A,Rn ;(A)<--(A)+(Rn)+(C) ADDC A,direct ;(A)<--(A)+(direct) +(C) ADDC A,@Ri ;(A)<--(A)+((Ri)) +(C) ADDC A,#data ;(A)<--(A)+#data +(C)
Hebei University of Technology
河北省级精品课
课程名称:计算机硬件技术基础 课程内容:MCS-51单片机原理及应用 本讲内容: 专题四 MCS-51指令系统 主讲教师: 赵晓安
河北工业大学计算机科学与软件学院计算机基础教学部
本讲的教学目标和教学方法
教学目标:
使学生掌握MCS-51单片机指令的算数运算、逻 辑运算、位操作、控制转移指令,为后续学习计算程 序打好基础。
3.3.2 算术运算类指令
1、程序状态字 PSW
D7 D6 D5 D4 D3 D2 D1 D0 Cy AC F0 RS1 RS0 OV -- P
Cy:进位标志;布尔累加器 AC:辅助进位标志(半进位) F0:用户标志 RS1/RS0:寄存器选择 OV:溢出标志 P:奇偶标志
算术运算类指令对PSW的影响
执行结果: (A)=71H,考虑进位标志(Cy)=1,操作结果为171H。
教学方法:
1、比较法:与高级语言比较不同点 2、比喻法 3、启发式
重点、难点
重点: 1、算数运算指令 2、逻辑运算指令 3、位操作指令 4、控制转移指令
难点: 1、BCD码减法的调整; 2、位操作与字节操作的区别。 3、子程序调用与返回
本讲基本内容
3.3.2 算术运算指令:
例3-13 2个字节数求和 例 3-16 DEC 例 3-19 例 3-20 (统招)
[例3-12] 设(A)=0AAH,(R0)=55H,Cy=1,执行 指令ADDC A,R0,求 (A),Cy,AC,OV,P,(PSW)
解:竖式:
1
1 (A)=00H,Cy=1,AC=1,OV=0,P=0 (PSW)=11000000B=0C0H
3、加 1 指令
INC A INC Rn INC direct INC @Ri INC DPTR
DIV
5、二—十进制调整指令 DA A
3.3.3 逻辑运算指令
3.3.4 位操作指令
1、逻辑“与”、“或”、“异或” 1、位传送指令
指令
MOV
ANL 、ORL、XRL
2、位变量修改指令
2、移位指令
CLR、SETB、CPL
RL、RLC、RR、RRC
3、位逻辑运算指令
3、清零、取反指令
ANL、ORL
CLR、CPL