笔记 指令系统
408背诵笔记

408背诵笔记
408背诵笔记:
1. 数据结构:
数据结构的基本概念:数据结构是数据元素的集合及定义在此集合上的基本操作。
线性结构:数组、链表、栈、队列。
非线性结构:树、图、散列表。
2. 算法:
算法的时间复杂度:描述算法运行时间随输入规模变化的规律。
算法的空间复杂度:描述算法所需存储空间随输入规模变化的规律。
3. 操作系统:
进程管理:进程的概念、状态、转换、创建与终止。
内存管理:内存的分配与回收、虚拟内存。
文件管理:文件的逻辑结构、物理结构及文件系统的功能。
4. 计算机组成原理:
CPU:指令系统、指令流水线、指令周期。
存储器层次结构:主存、高速缓存、辅存。
I/O 原理:I/O 设备分类、I/O 控制方式、设备驱动程序。
5. 计算机网络:
网络协议:TCP/IP 协议族、应用层协议(HTTP、FTP、SMTP)。
网络设备:路由器、交换机、网关。
网络安全:加密技术、数字签名、防火墙。
6. 数据库系统:
关系数据库模型:关系模型的基本概念、关系代数、关系演算。
数据库设计:需求分析、概念设计、逻辑设计、物理设计。
数据库管理系统:功能组件、数据字典、查询处理过程。
计算机组成原理第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
《计算机组成原理》教程第4章指令系统

4
二 指令的格式
即指令字用二进制代码表示的结构形式
包括 操作码:操作的性质 操作码 地址码:操作数(operand)的存储位置,即参加操作的 operand , 地址码 数据的地址和结果数的地址
操作码域(op) 地址码域(addr)
5
1.操作码 操作码
指令的操作码表示该指令应进行什么性质的操作。 组成操作码字段的位数一般取决于计算机指令系统的 规模。 固定长度操作码:便于译码,扩展性差 . 可变长度操作码:能缩短指令平均长度 操作码的的位数决定了所能表示的操作数,n位操 作码最多表示2n种操作
(2). 堆栈工作过程 .
(一)进栈操作 ① 建立堆栈,由指令把栈顶地址送入SP,指针 指向栈顶。 ② 进栈:(A)→Msp, (sp)-1→SP ;Msp:存储 器的栈顶单元 (二)出栈操作 (SP)+1→SP, (Msp)→A
22
五.指令类型
一个较完善的指令系统应当包括: 数据传送类指令: 例)move、load、store等 算术运算类指令: 例)add、sub、mult、div、comp等 移位操作类指令: 例) shl,shr,srl,srr 逻辑运算类指令: 例)and、or、xor、not等 程序控制类指令: 例)jump、branch、jsr、ret、int等 输入输出指令: 例)in、out等 字符串类指令: 例)如alpha中cmpbge、inswh、extbl等 系统控制类指令: 例)push、pop、test等
18
10) *段寻址方式 段寻址方式 Intel 8086 CPU中采用了段寻址方式(基址寻址的特例)。 由16位段寄存器和16位偏移量产生20位物理地址 11)*自动变址寻址 自动变址寻址 指在变址方式中,每经过一次变址运算时,都自动改变变址寄存 器的内容,以后在PDP-11中详讲.
计算机组成原理-第4章_指令系统

7. 段寻址方式(Segment Addressing)
方法:E由段寄存器的内容加上段内偏移地址而形成。
应用:微型机采用段寻址方式,20位物理地址为16位 段地址左移四位加上16位偏移量。
分类:① 段内直接寻址; ② 段内间接寻址; ③ 段间直接寻址; ④ 段间间接寻址;
9 堆栈寻址方式
堆栈:是一组能存入和取出数据的暂时存储单元。
*** 指令字长度
概念 指令字长度(一个指令字包含二进制代码的位数) 机器字长:计算机能直接处理的二进制数据的位数。 单字长指令 半字长指令 双字长指令
多字长指令的优缺点
优点提供足够的地址位来解决访问内存任何单元的寻址问题 ; 缺点必须两次或多次访问内存以取出一整条指令,降低了CPU的运 算速度,又占用了更多的存储空间。
*** 指令系统的发展与性能要求
*** 指令系统的发展
指令:即机器指令,要计算机执行某种操作的命令。
指令划分:微指令、机器指令和宏指令。
简单
复杂
指令系统:一台计算机中所有指令的集合;是表征
计算机性能的重要因素。
系列计算机:基本指令系统相同、基本体系结构相同 的一系列计算机。
*** 对指令系统性能的要求
(2)立即数只能作为源操作数,立即寻址主要用来给寄存 器或存储器赋初值。以A~F开头的数字出现在指令中时,前 面要加0。
(3)速度快(操作数直接在指令中,不需要运行总线周期)
(4)立即数作为指令操作码的一部分与操作码一起放在代 码段区域中。
(5)指令的长度(翻译成机器语言后)较长,灵活性较差。
【例】MOV AX, 10H 执行后(AX)=? 其中:这是一条字操作指令,源操作数为立即寻址 方式,立即数为0010H,存放在指令的下两个单元。
指令系统概念

指令系统概念
指令系统是计算机系统中重要的一部分,它定义了计算机所能执行的操作和指令集。
指令系统通常由机器语言指令、寄存器、标志位等组成,是计算机硬件和软件之间的桥梁。
指令系统的设计将直接影响到计算机的性能、功能和易用性。
指令系统的设计需要考虑多方面的因素,如指令的复杂度、可扩展性、编码方式、操作数类型、寻址方式等。
指令的复杂度是指指令的长度和执行时间,可以通过优化指令流程和硬件设计来提高性能。
可扩展性是指指令系统能够添加新指令和扩展操作的能力,便于支持新的应用和技术。
编码方式是指指令在计算机中的二进制表示方式,需要考虑指令的长度和解码效率。
操作数类型是指指令所涉及的数据类型,如整型、浮点型、逻辑型等。
寻址方式是指指令取操作数的方式,可以是直接寻址、间接寻址、寄存器寻址等。
指令系统的设计也需要考虑到编程的易用性和可读性。
指令系统应该提供简单易用的指令和语法,方便程序员编写高效的代码。
同时,指令系统也需要提供良好的调试和错误处理机制,方便程序员诊断和修复错误。
总之,指令系统是计算机系统中重要的组成部分,它的设计需要综合考虑多方面的因素,以提高计算机的性能和易用性。
- 1 -。
计算机组成原理知识点笔记

计算机组成原理知识点笔记第一课时1、指令分为操作码和地址码,操作码指明了操作类型,地址码指明了对哪两个数进行操作。
2、CPU的时钟频率也即是CPU的主频。
3计算机系统结构:概念性结构和功能特性。
是指硬件子系统的概念性结构和功能特性。
由指令系统所规定的所有属性,所以也称指令集体系结构。
主要研究计算机系统软件和硬件的功能分配,以及如何最佳地实现分配给硬件的功能。
例如:指令系统中是否包括乘法指令?4、计算机组织:也称计算机组成:计算机主要部件的类型、数量、组成方式、控制方式和信息流动方式以及相互连接而构成的而系统。
主要研究数据和指令的组织,数据的存取、传送和加工处理。
数据流和指令流的控制方式基本运算的算法例如:如何实现乘法指令?5计算机实现:计算机功能的物理实现。
6、加法指令执行速度因为加法指令能反映乘除等运算,而其他指令的执行时间也大体与加法指令相当。
7、CPI,执行一条指令所需时钟周期数,是主频的倒数。
8、等效指令速度法9存储器不仅能存放数据,而且也能存放指令,两者在形式上没有区别,但计算机应能区分数据还是指令。
10 有时我们说某个特定的功能是由硬件实现的,但并不是说不要编写程序,如乘法功能可由乘法器这个硬件实现,但要启动这个硬件(乘法器)工作,必须先执行程序中的乘法指令。
11 指令译码器是译指令的操作码。
而是在读出之前就知道将要读的信息是数据还是指令了12 在计算机领域中,站在某一类用户的角度,如果感觉不到某个事物或属性的存在,即“看”不到某个事物或属性,则称为“对xxxx用户而言,某个事物或属性是透明的”。
13程序控制器:(PC)是执行指令的机器。
14 机器字长定义为CPU中在同一时间内一次能够处理的二进制数的位数,实际上就是CPU中数据通路的位数15 浮点运算器的数据通路要宽得多。
16所以一般把定点运算器的数据通路宽度定为机器字长。
因为机器字长与内存单元的地址位数有关,而地址计算是在定点运算器中进行的。
计算机组成原理 指令系统
本章所讨论的指令,是机器指令
本章学习内容
4.1 指令格式 4.2 寻址技术 4.3 堆栈与堆栈操作 4.4 指令类型
本章学习要求
理解:指令的基本格式以及不同地址码(3、2、1 、0地址)的双操作数指令的区别 理解:规整型指令和非规整型指令的特点 掌握:扩展操作码的方法 理解:编址单位和指令中地址码的位数与主存容量 、最小寻址单位的关系 掌握:基本的数据寻址方式和有效地址EA的计算方 法 掌握:自底向上的存储器堆栈的概念及堆栈的进、 出栈操作 理解:常用指令的特点
当用一些硬件资源代替指令字中的地址码字段后
• 可扩大指令的寻址范围
• 可缩短指令字长 • 可减少访存次数 当指令的地址字段为寄存器时
三地址
二地址 一地址
OP R1, R2, R3
OP R1, R2 OP R1
• 可缩短指令字长 • 指令执行阶段不访存
EXP 某指令字长为16位,每个地址码为6位,扩 展操作码技术,设有14条二地址指令,100条一 地址指令,100条零地址指令: 1)画出扩展图 2)计算操作码平均长度 3)指令译码逻辑
1.规整型
操作码字段的位数和位置是固定的。 假定:指令系统共有m条指令,指令中操 作码字段的位数为N位,则有如下关系式: N≥log2 m 规整型编码对于简化硬件设计,减少指 令译码的时间是非常有利的。 IBM 370机(字长32位)的指令可分为 三种不同的长度,不论指令的长度为多少位,其 中操作码字段一律都是8位。
指令长度可以等于机器字长,也可以大于或 小于机器字长。 在一个指令系统中,若所有指令的长度都是 相等的,称为定长指令字结构;若各种指令的长 度随指令功能而异,称为变长指令字结构。
计算机组成原理自学笔记
计算机组成原理(计组)计算机分类:电子模拟计算机、电子数字计算机(电脑)数字计算机:专用计算机、通用计算机通用计算机:巨型机、大型机、中型机、小型机、微型机、单片机通用计算机:超级计算机、大型机、服务器、工作站、微型机、单片机计算机的硬件存储单元:保存一个数的16个寄存器为一个存储单元指令形式:操作码+地址码控制器的取指周期、执行周期字节:8个位字:一个以上字节,字节的整数倍,常见的有2个字节的,其长度称为字长计算机的发展:电子管、晶体管、小规模集成电路、大型集成电路、举行集成电路19世纪开始计算机软件计算机程序:系统程序、应用程序系统程序:各种服务性程序、语言程序、操作系统、数据库管理系统计算机程序:目的程序、汇编程序、源程序源程序翻译系统:编译系统、解释系统操作系统:批处理、分时、网络、实时计算机系统多级:微程序设计级、一般机器、操作系统级、汇编语言级、高级语言级运算方法和运算器数据表示:定点格式、浮点格式浮点数=阶符+阶码+数符+尾数整数转二进制除2,小数转二进制乘2十进制数串:字符串形式、压缩十进制数串形式另外还可以自定义数据:标识符数据表示、描述符数据表示标识符数据=标识符+数据描述符数据=描述符标识+特征标记+数据块长度+数据块起始地址机器码:原码、补码、反码、移码原码有+0和-0之分,即0000 和10000的补码只有一种形式反码也有+0和-0之分,即0000和1111[][]n2-x=x+补反移码的符号位与前三种相反,0表示负,1表示正主要采用补码,移码主要用来表示阶码ASII码由七位加一位偶校验码组成汉字的编码:1、汉字输入编码:数字编码、拼音编码、字形编码2、汉字内部处理:内码3、汉字输出:字模码从[y]补求[-y]补的法则是:对[y]补包括符号位“求反且最末位加1”,即可得到[-y]补上溢与下溢,同号的相加才可能溢出采用双符法表示溢出:01、10均为溢出行波进位加减器流水式阵列乘法器为并行乘法器原码乘法有两种:直接原码乘法,带求补的间接原码乘法器间接原码乘法,符号求补的阵列乘法器:当输入都是不带符号时,输入输出都不需要求补,而当输入是带符号时,输入两数求补,乘积结果求补再输出补码乘法的符号位参与运算,原码的符号的则要分开运算。
计算机指令系统
寻址方式
立即寻址:操作 数直接包含在指 令中
直接寻址:操作 数的地址包含在 指令中
间接寻址:操作 数的地址包含在 寄存器中
变址寻址:操作 数的地址包含在 变址寄存器中
相对寻址:操作 数的地址相对于 程序计数器PC
堆栈寻址:操作 数的地址包含在 堆栈中
简单性
指令功能单一,避 免复杂指令组合
● 复杂指令集计算机(CISC):指令丰富,执行效率高,但设计复杂,功耗较高 ● 精简指令集计算机(RISC):指令精简,执行效率较低,但设计简单,功耗较低 ● 超长指令字(VLIW):将多个指令组合成一个超长指令,提高执行效率 ● 单指令多数据流(SIMD):一条指令可以同时对多个数据进行操作,提高执行效率 ● 向量指令集(VLIW):将多个指令组合成一个向量指令,提高执行效率 ● 硬件线程指令集(HTISC):通过硬件线程技术,提高执行效率 ● 微程序控制指令集(Microcode):通过微程序控制技术,提高执行效率 ● 堆栈指令集(Stack):通过堆栈技术,提高执行效率 ● 流水线指令集(Pipeline):通过流水线技术,提高执行效率 ● 超线程指令集(Hyper-Threading):通过超线程技术,提高执行效率
应用:广泛应用于 4
各种处理器,如 CPU、GPU等
优点:提高指令执 行速度,减少指令
2 执行时间
3
实现方式:通过硬
件和软件的优化,
实现指令执行的并
行化
超线程技术
超线程技术是一种在单个处理器内 部实现多个线程的技术。
超线程技术可以减少处理器的空闲 时间,提高系统的性能。
超线程技术可以充分利用处理器பைடு நூலகம் 部的资源,提高处理器的利用率。
指令级并行可以通过流水线技术、分支预测技术、 指令级并行技术等实现。
计算机系统结构自考笔记
计算机系统结构自考笔记一、计算机系统结构概述。
1. 计算机系统的层次结构。
- 从底层到高层:硬件、操作系统、系统软件、应用软件。
- 各层次的功能及相互关系。
例如,硬件为软件提供运行平台,软件控制硬件资源的使用等。
2. 计算机系统结构的定义。
- 经典定义:程序员所看到的计算机属性,即概念性结构与功能特性。
- 包括指令系统、数据类型、寻址技术、I/O机制等方面的属性。
3. 计算机系统结构的分类。
- 按指令流和数据流的多倍性分类。
- 单指令流单数据流(SISD):传统的单处理器计算机。
- 单指令流多数据流(SIMD):如阵列处理机,适合进行数据并行处理。
- 多指令流单数据流(MISD):较少见的结构。
- 多指令流多数据流(MIMD):多处理器系统,如对称多处理机(SMP)。
- 按存储程序原理分类。
- 冯·诺依曼结构:程序和数据存储在同一存储器中,按地址访问。
- 哈佛结构:程序存储器和数据存储器分开,有各自独立的地址空间。
二、数据表示与指令系统。
1. 数据表示。
- 数据类型。
- 数值型数据(整数、浮点数):不同的表示格式,如定点数的原码、反码、补码表示;浮点数的IEEE 754标准表示。
- 非数值型数据(字符、字符串、逻辑数据等)。
- 数据的存储方式。
- 大端存储与小端存储:大端存储是高位字节存于低地址,小端存储是低位字节存于低地址。
2. 指令系统。
- 指令格式。
- 操作码:表示指令的操作类型,如加法、减法等操作。
- 地址码:指出操作数的地址或操作数本身。
有零地址、一地址、二地址、三地址等指令格式,每种格式的特点及适用场景。
- 指令类型。
- 数据传送指令:在寄存器、存储器等之间传送数据。
- 算术运算指令:加、减、乘、除等运算。
- 逻辑运算指令:与、或、非等逻辑操作。
- 控制转移指令:如无条件转移、条件转移、子程序调用与返回等,用于改变程序的执行顺序。
三、存储系统。
1. 存储器层次结构。
- 高速缓冲存储器(Cache) - 主存储器 - 辅助存储器的层次结构。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一.数据传送指令 MOV格式: MOV OPRD1,OPRD2功能: 本指令将一个源操作数送到目的操作数中,即OPRD1<--OPRD2.说明:1. OPRD1 为目的操作数,可以是寄存器、存储器、累加器.OPRD2 为源操作数,可以是寄存器、存储器、累加器和立即数.2. MOV 指令以分为以下四种情况:<1> 寄存器与寄存器之间的数据传送指令<2> 立即数到通用寄存器数据传送指令<3> 寄存器与存储器之间的数据传送指令<4> 立即数到存储器的数据传送3.本指令不影响状态标志位4.立即数不能直接送到段寄存器,立即数永远不能作为目的操作数5.两个操作数不能同时为段寄存器(如果需要借助通用寄存器进行传送)6.代码段CS不能作为目的操作数,指令指针IP不能作为原操作数也不能作为目的操作数7.两个操作数不能同时为存储单元(如果需要借助通用寄存器进行传送)8.源操作数与目的操作数类型要一致(位数要一致)9.MOV BX, OFFSET TABLE 把TABLE的偏移地址(有效地址)送到BX中二.数据交换指令 XCHG格式: XCHG OPRD1,OPRD2 其中的OPRD1为目的操作数,OPRD2为源操作数功能: 将两个操作数的内容相互交换位置,该指令把源操作数OPRD2与目的操数OPRD1交换.说明:1. OPRD1及OPRD2可为通用寄存器或存储器,两个操作数不能同时为段寄存器也不能同时为存储器(如果段寄存器之间、存储器之间、存储器语段寄存器之间交换时要借助通用寄存器进行交换);任何一个操作数不能为立即数。
2. 若要实现两个存储器操作数DATA1及DATA2的交换,可用以下指令实现:示例: PUSH DATA1 PUSH DATA2 POP DATA1 POP DATA23.源操作数与目的操作数类型要一致(位数要一致),同时为字节或者同时为字4.本指令不影响状态标志位.三.地址传送指令有效地址传送指令 LEA格式: LEA OPRD1,OPRD2功能: 将源操作数给出的偏移地址(有效地址)传送到指定的的寄存器(OPRD1为16位通用寄存器)中.说明:1. OPRD1 为目的操作数,必须为任意一个16位的通用寄存器.OPRD2 为源操作数,必须为存储器操作数,可为变量名、标号或地址表达式.示例: LEA BX,DATA1 LEA DX,BETA[BX+SI] LEA BX BX,[BP],[DI]2.本指令对标志位无影响。
四.堆栈操作指令堆栈的特点:1.堆栈栈底地址较大,栈顶地址较小;壹2.堆栈的段值在堆栈段寄存器SS中;堆栈指针寄存器SP始终指向栈顶;3.堆栈是后进先出的存取方式,是以字为单位进行操作的;堆栈操作指令 PUSH和POP格式: PUSH OPRD POP OPRD功能: 实现压入操作的指令是PUSH指令;实现弹出操作的指令是POP指令.说明: 1. OPRD为16位(字)操作数,可以是通用寄存器、段寄存器、存储单元.2.PUSH的操作过程是:(SP)<--(SP)-2,((sp))<--OPRD 即先修改堆栈指针SP(压入时为自动减2),然后,将指定的操作数送入新的栈顶位置,此处的((SP))<--OPRD。
3. PUSH和POP指令对状态标志位没有影响.堆栈操作指令 PUSH和POP格式: PUSH OPRD POP OPRD功能: 实现压入操作的指令是PUSH指令;实现弹出操作的指令是POP指令说明:1. OPRD为16位(字)操作数,可以是通用寄存器、段寄存器(不包括CS)、存储单元.2. POP指令的操作过程是: POP OPRD:OPRD<--((SP)),(SP)<--(SP)+2。
它与压入操作相反,是先弹出栈顶的数顶,然后再修改指针SP的内容.3. PUSH和POP指令对状态标志位没有影响.4.POP操作时目的操作数不能为CS;PUSH POP操作时操作时都不能为立即数;六.算术操作指令加法指令 ADD(Addition)格式: ADD OPRD1,OPRD2功能: 两数相加说明:1.OPRD1为任一通用寄存器或存储器单元.OPRD2只能为立即数或者任意一个通用寄存器操作数,不能为存储器,立即数只能用于源操作数.2. OPRD1和OPRD2中至少有一个是寄存器操作数;OPRD2为立即数时可以没有寄存器,OPRD1为存储器。
3. 加法指令运算的结果对CF、SF、OF、PF、ZF、AF都会有影响.以上标志也称为结果标志.加法指令适用于无符号数或有符号数的加法运算.带进位加法指令 ADC(Addition Carry)格式: ADC OPRD1,OPRD2功能: OPRD1<--OPRD1 + OPRD2 + CF说明:1. OPRD1为任一通用寄存器或存储器操作数.OPRD2只能为立即数,或者为任意一个通用寄存器操作数,不能为存储器,立即数只能用于源操作数.2.OPRD1和OPRD2中至少有一个是寄存器操作数;OPRD2为立即数时可以没有寄存器,OPRD1为存储器。
3. 加法指令运算的结果对CF、SF、OF、PF、ZF、AF都会有影响.以上标志也称为结果标志.4. 该指令对标志位的影响同ADD指令.5. 双精度数的加法,操作时先加低位的再加高位的,低位与低位加,高位遇高位相加,高位相加时考虑进位信号加1指令 INC(INCrement by 1)格式: INC OPRD贰功能: OPRD<--OPRD+1说明:1. OPRD 为寄存器或存储器操作数.2. 这条指令执行结果影响AF、OF、PF、SF、ZF标志位,但不影响CF标志位.3. 示例: INC SI;(SI)<--(SI)+1 INC WORD PTR[BX] INC BYTE PTR[BX+DI] INC CL;(CL)<--(CL)+1注意: 上述第二,三两条指令,是对存储字及存储字节的内容加1以替代原来的内容.加一指令主要用于调整地址指针,还相当于计数器例:写出把首地址为BLOCK的字数组的第六个字送到DX寄存器中的指令要求:1寄存器间接寻址MOV BX,OFFSET BLOCK(LEA BX,BLOCK)ADD BX,000FHMOV DX,[BX]2寄存器相对寻址MOV BX,OFFST BLOCKMOV DX[BX+000FH]减法指令SUB(SUBtract)格式: SUB OPRD1,OPRD2功能: 两个操作数的相减,即从OPRD1中减去OPRD2,其结果放在OPDR1中.说明:示例SUB DX,CX SUB [BX+25],AX SUB DI,ALFA[SI] SUB CL,20SUB DATA1[DI][BX],20A5H减法的OF位设置方法:若两个数的符号相反,而结果的符号与减数的相同OF=1;正数减负数结果为负溢出,负数减正数结果为正则溢出;加法的OF位设置方法:两个正数相加得负数,两个负数相加得正数,则结果溢出OF=1;否则OF=0;带借位减去指令 SBB(SuBtraction with Borrow)格式: SBB OPRD1,OPRD2功能: 是进行两个操作数的相减再减去CF进位标志位,即从OPRD1<--OPRD1-OPRD2-CF,其结果放在OPDR1中.用于多字节操作运算说明:示例SBB DX,CX SBB AX,DATA1 SBB BX,2000H SBB ALFA[BX+SI],SI SBB BETAP[DI,030AH 减一指令 DEC(Decrement by 1)格式: DEC OPRD功能: OPRD<--OPRD-1说明:1. OPRD 为寄存器或存储器操作数.2. 这条指令执行结果影响AF、OF、PF、SF、ZF标志位,但不影响CF标志位.3. 示例DEC AX DEC CL DEC WORD PTR[DI] DEC ALFA[DI+BX]取补指令 NEG(NEGate)格式: NEG OPRD功能: 对操作数OPRD进行取补操作,然后将结果送回OPRD.取补操作也叫作求补操作,就是求一个数的相反数的补码.说明:1. OPRD为任意通用寄存器或存储器操作数.2. 示例: (AL)=44H,取补后,(AL)=0BCH(-44H).3. 本指令影响标志位CF、OF、SF、PF、ZF及AF.只有对—128和—32768取补时OF为1,对其他数取补OF都为0;只有对0取补时CF=0,对其他数取补CF都是1;其他标志位具体判断例:写出存放在DX和AX中的双字长数的去不指令要先做高位的取反,在做地位的取反,再有高位的取反结果减区间为标志叁NEG DX NEG AX SBB DX,0比较指令 CMP(CoMPare)格式: CMP OPRD1,OPRD2功能: 对两数进行相减,进行比较.说明:1.OPRD1为任意通用寄存器或存储器操作数.OPRD2为任意通用寄存器或存储器操作数,立即数也可用作源操作数OPRD2.2. 对标志位的影响同SUB指令,完成的操作与SUB指令类似,唯一的区别是不将OPRD1-OPRD2的结果送回OPRD1,而只是比较.3. 在8088/8086指令系统中,专门提供了一组根据带符号数比较大小后,实现条件转移的指令.结果有标志位得知来判断,ZF=1则两个操作数相等,两操作数为无符号数时可以用CF判断,两个操作数位有符号数时可用SF和OF来判断;(下边会有介绍)无符号数乘法指令 MUL(MULtiply)格式: MUL OPRD功能: 乘法操作.说明:1. OPRD为通用寄存器或存储器操作数.2. OPRD为源操作数,即作乘数.目的操作数是隐含的,即被乘数总是指定为累加器AX或AL的内容.3. 16位乘法时,AX中为被乘数.8位乘法时,AL为被乘数.当16位乘法时,32位的乘积存于DX及AX中;8位乘法的16位乘积存于AX中.4.操作过程: 字节相乘:(AX)<--(AL)*OPRD,当结果的高半部分不等于0时,则CF=1、OF=1;否则CF=0、OF=0。
即结果为16位时,高8位不为0,结果为32位时,高16位不为0,则CF=1、OF=1;否则CF=0、OF =0。
无符号数除法指令 DIV(DIVision)格式: DIV OPRD功能: 实现两个无符号二进制数除法运算.说明:1. 其中OPRD为任一个通用寄存器或存储器操作数.2. 字节相除,被除数在AX中;字相除,被除数在DX,AX中,除数在OPRD中,被除数总是被隐藏.字节除法(除数为字节,8位): (AL)<--(AX)/OPRD,(AH)<--(AX)MOD OPRD 商放到AL余数放到AH 字除法(除数为字,16位)(AX)<-(DX)(AX)/OPRD,(DX)<-(DX)(AX) MOD OPRD 商放到AX中,余数放到DX中3.如果除数为0,或者在8位数除时商超过8位,或者在16位除时商超过16位,则认为是除法溢出,引起0号中断。