计算机的基本概念.ppt

上传人:s****8 文档编号:69405731 上传时间:2023-01-03 格式:PPT 页数:118 大小:532KB
返回 下载 相关 举报
计算机的基本概念.ppt_第1页
第1页 / 共118页
计算机的基本概念.ppt_第2页
第2页 / 共118页
点击查看更多>>
资源描述

《计算机的基本概念.ppt》由会员分享,可在线阅读,更多相关《计算机的基本概念.ppt(118页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、绪论绪论计算机的基本概念 冯体系:二进制的优势 存储程序的工作方式:(事先编制程序,事先存储程序,自动连续的执行程序)硬件系统的组成:五大部件计算机系统的软硬件组成 硬件的组成:五大部件,总线,接口 CPU主存接口接口I/OI/O 计算机系统的软件组成:系统软件:操作系统:处理机调度 存储器的管理 I/O设备的管理 文件管理 作业管理 编译程序,解释程序 各种软件平台 应用软件:应用程序 系统组成的层次 用户程序 语言处理程序及各种软件资源 操作系统 机器语言 指令微操作级 数字逻辑电路计算机工作的过程:系统分析 建立数学模型,设计算法 编写应用程序 编译为目标代码 由硬件来执行目标程序指令执

2、行的过程:取指和指令分析 读操作数 运算 后继指令地址 计算机的特点和性能指标 程序控制下自动连续的工作 运算速度快 运算精度高 很强的信息存储能力 通用性强,应用领域极其广泛 基本字长 数据通路宽度 运算速度 主存储器的容量 外存容量 系统的软件配置计算机中的信息表示计算机中的信息表示数值型数据的进位制和相互转换的方法 带符号数的表示 小数点的表示 字符的表示 指令信息的表示数值型数据的进位制和相互转换的方法数值型数据的进位制和相互转换的方法进位计数制:权 基数计算机中常用的进位制和他们之间的转换二进制 八进制 十六进制 BCD码整数部分:整数部分:十进制数转化为二进制数:除2取余法十进制数

3、转化为十六进制数:除16取余法十进制向X进制转换:除X取余法小数部分小数部分:十进制数转化为二进制数:乘2取整法十进制数转化为十六进制数:乘16取整法十进制向X进制转换:乘X取整法整数部分和小数部分都一样整数部分和小数部分都一样二进制转换为十进制:按权相加法八进制转换为十进制:按权相加法十六进制转换为十进制:按权相加法带符号数的表示带符号数的表示真值:正负符号加上绝对值表示的数值 机器数:连同数符一起数码化了的数+1101 01101 -1101 11101原码表示法:最高位为符号位,符号位为0表示该数为正,为1表示该位为负;有效数值部分用二进制绝对值表示例:设机器字长为8位 真值 原码 10

4、11 00001011 -1011 10001011 0.1011 0.1011000 -0.1011 1.1011000字长:一个字中的位数或字符数,对于CPU来说,是它能直接处理二进制数据的位数 原码中的符号位不是数值的一部分,是人为的约定,所以,用原码进行运算的时候需要将符号位和有效数值部分分开来处理,即取绝对值来进行运算而符号位单独处理。补码表示法:补码运算的核心思想是让符号位参与运算,并且花减为加在有模的运算中,一个负数可以用一个与它互为补数的正数来代替计算机的运算部件和存储部件都有一定的字长来限制,所以它的运算是一种有模运算补码规则:1。正数的补码是原码的本身2。负数的补码,原码的

5、符号位不变,其余各位变反加1反码表示法反码表示法正数的反码与原码,补码相同负数的反码规定为:符号位为1,尾数由原码位数按位变反。数的定点表示与浮点表示数的定点表示与浮点表示如何固定小数点的位置:无符号定点整数带符号定点整数带符号定点小数浮点表示法浮点表示法字符表示字符表示指令信息的表示:指令信息的表示:指令格式:按地址结构指令的分类按地址结构指令的分类三地址指令二地址指令一地址指令0 地址指令操作码结构操作码结构:固定长度操作码可变长度操作码单功能型或复合型操作码OPAOPOPOPOPA1AA1A2A2A3指令字长指令字长变字长指令固定字长指令1。立即寻址方式。立即寻址方式 立即寻址方式用来表

6、示常数,它经常用于给寄存器赋初值,并且只能用于源操立即寻址方式用来表示常数,它经常用于给寄存器赋初值,并且只能用于源操 作数字段,不能用于目的操作数字段作数字段,不能用于目的操作数字段 MOV AL ,5 MOV AX ,05H 指令指令操作数操作数2。寄存器寻址。寄存器寻址 MOV AX,BX 指令指令 寄存器寄存器 寄存器号寄存器号操作数操作数3。直接寻址方式。直接寻址方式 MOV AX,2000H 段段寄存器寄存器 AX 指令指令 存储器存储器 32000EA操作数操作数段地址段地址+OP0020。50304。寄存器间接寻址。寄存器间接寻址 MOV AX,BX 段寄存器段寄存器 指令指令

7、 寄存器寄存器 存储器存储器 20000 21000寄存器寄存器EA段地址段地址操作数操作数+50A0AX5。直接变址寻址(寄存器相对寻址方式)。直接变址寻址(寄存器相对寻址方式)寄存器寄存器位移量位移量地址地址+段地址段地址操作数操作数指令指令 段寄存器段寄存器 存储器存储器寄存器寄存器 6。基址变址寻址方式。基址变址寻址方式基址寄存器基址寄存器变址寄存器变址寄存器基地址基地址变址值变址值+段地址段地址操作数操作数7。相对基址变址寄存器。相对基址变址寄存器基址寄存器基址寄存器变址寄存器变址寄存器位移量位移量变址值变址值基地址基地址+段地址段地址操作数操作数模拟机数据通路结构模拟机数据通路结构

8、地址总线地址总线数据总线数据总线控制总线控制总线MARMDRDCR0R1R2R3IRPCPSWSPALUZ主存I/O接口I/O设备微操作信号发生器时序系统译码器IRPSW寄存器:存放控制信息的寄存器:指令寄存器,程序计数器,程序状态字寄存器存放所处理数据的寄存器:通用寄存器,暂存器所有的寄存器都是16位,数据代码输入至D端,由CP端脉冲打入,输出由门控制。PSW的特征位由R,S断置入,系统总线对MDR的输入也是由R,S断置入。通用寄存器:R0 R1 R2 R3可编程访问,具有多种功能。本质上只有接受信息,存储信息和发送信息的能力,但通过编程可实现为ALU提供操作数并存放运算结果,也可作为变址寄

9、存器,地址指针和计数器l暂存器:C,D,ZlC用来存放从主存储器中读出的数据,这个数据不能存放在通用寄存器中,否则将破坏原来的内容。l由于ALU是单总线结构,所以还要在ALU的输入断设一个暂存器D,用来存放一个操作数,在Z中存放结果。D还可以暂存从主存中读出的数据,并设有左移和右移的功能。l暂存器没有分配编号,因此不能编程访问。l指令寄存器IRl存放当前正在执行的一条指令。当执行一条指令的时候,应当将指令从主存中读出到IR中。IR的输出是控制器产生控制信号的主要依据。l程序计数器PCl又叫指令指针IP,它的作用是存放后继指令的地址,一种特殊的情况是转移指令,是由转移指令形成转移地址作为后继地址

10、送往PC。l程序状态字寄存器PSl用来存放现行程序的运行状态和工作方式,其内容是PSW,是参与控制程序执行的重要依据。l堆栈指针SPl用来指示堆栈栈顶的位置,其内容是堆栈栈顶单元的地址。SP也是可以编程访问的寄存器l与主存接口的寄存器MAR,MDRl地址寄存器MAR用来存放CPU访问主存和接口设备的地址。MAR用来连接总线的输出门是三态门,当微命令EMAR为高电平时,MAR输出送往地址总线。当EMAR为低电平时,MAR输出呈高阻态,与地址总线断开。l数据寄存器MDR用于存放CPU与主存或I/O接口设备之间传送的数据,MDR向总线方向的输出也是采用三态门。lCPU对主存的控制信号有两个,分别是R

11、D和WR,对主存的读操作和写操作l运算部件lALU的输入端A来自暂存器D,输入端B来自ALU总线,运算结果输出到Z。l总线与数据通路结构lALU总线lALU总线是由16根双向数据传送线组成,单总线,CPU中任何两个部件的数据传送都要通过ALU总线,控制比较简单。l挂接在ALU总线上的设备都有三态门的设置和打入脉冲的设置。输出门打开,就将寄存器上的信息传送到ALU上,但每次只允许一个部件向ALU总线传送信息,反过来,同时可允许多个部件接受信息。l系统总线l包括16根数据线,16根地址线和控制总线。控制方式是同步方式l控制命令及微命令的形成l微命令是基本的控制信号,直接作用于电路门等,可分为脉冲型

12、微命令和电位型微命令。脉冲信号随时间的分布不连续,维持的时间较短,通常利用跳变进行打入;电位信号(电平信号)维持的时间较长。脉冲型微命令包括对寄存器打入的脉冲信号。l控制器l控制器的主要部件有:指令寄存器,指令指针,程序计数器,状态字寄存器,时序系统和微操作信号发生器。现在趋向于将控制器和CPU作为整体来加以讨论。l微操作信号发生器的输入是IR中的指令经指令译码器后的输出,PSW中的状态位,时序信号及外部的控制信号组成。依据输入产生指令执行需要的微操作信号(控制信号)l数据传送l寄存器之间:RRALU总线RI OUT CP RIl主存数据传送到CPUMCPUMAR地址总线地址总线MDR数据总线

13、数据总线PC MAR (PCOUT,CPMAR)M MDR IR (EMAR,RD,SMDR)lCPU数据传送主存MARMDRMR1 MAR (R1OUT CPMAR)R2 MDR (R2OUT CPMDR)MDR M (EMAR EMDR WR)l执行算术逻辑操作l当执行算术和逻辑操作:一个操作数送Dl 另一个直接由ALU送到B端l 结果送Zl 时序控制方式时序控制方式l指令的执行过程l读取指令 分析指令 执行指令MMDRPCIR改变PC的内容,使之指向下一条指令地址或紧跟现行指令的立即数或地址码分析指令的两种方式分析指令的两种方式l分析指令组合逻辑控制器组合逻辑控制器微程序控制器微程序控制

14、器译码电路译译码电路译出出IR的内容的内容根据指令的操作码根据指令的操作码和标志位转向控制和标志位转向控制存储器读取微程序存储器读取微程序产生微操作命令序列产生微操作命令序列指令的执行过程指令的执行过程l执行指令l取操作数l现行指令可能要从主存中取操作数l现行指令可能要从主存中取双操作数l现行指令可能是变址寻址方式,则要取操作数之前进行计算l执行操作l对运算复杂性的估计,分配响应的节拍l对计算结果的回送,也需要分配相应的节拍l形成下一条指令的地址指令的衔接方式指令的衔接方式l指令之间的衔接方式l串行的顺序安排方式和并行的重叠处理方式l目的只有一个:就是为了避免处理器和存储器忙闲不均,主要的技术

15、是预取指令时序控制方式时序控制方式l每条指令的执行可分为几个阶段,每个阶段又可分为若干步操作,每步操作由控制器产生相应的控制信号,所以,每条指令都可分为一个控制信号序列,指令的执行过程就是一定顺序执行一个确定的控制信号序列的过程l执行指令有先后的区别,每个控制信号也有长短之分,所以要引入时序信号对它们进行控制l同步控制:采用统一的时序信号进行同步控制,这就意味着各个微操作必须是在规定时间完成。同步控制是将操作时间划分成若干长度相等的时间周期(也称为节拍),要求在一定单位的时间周期内完成各个微操作。这就导致了这种时间周期长度的确定只能以最耗时的微操作为准,就不可避免的导致了时间的浪费。l同步方式

16、的优点是时序关系简单同步控制方式实现的多级时序系统同步控制方式实现的多级时序系统l同步控制中,通常将时序信号划分成几级l指令周期:是指从取址,分析指令直到指令执行完成所需的时间,不同的指令指令 周期不一样,所以不能将指令周期作为作为时序的一级l机器周期:(CPU工作周期或基本周期)是将指令周期划分成几个不同的阶段,取 址周期,存储器读周期,存储器写周期等等l节拍:(时钟周期)一个机器周期分为若干时间相等的段落,每个时间段落完 成一步基本操作,一个时间段和一个电平命令对应,称为节拍和或时 钟周期。一条指令对应一段微程序(微指令序列),指令的分步执行 是由执行不同的微指令来实现的,每条微指令的执行

17、时间为一个节拍l时钟脉冲信号 节拍的长度确定之后,时钟脉冲信号的频率也就随之确定了。在时序 系统中采用时钟发生器产生时钟脉冲信号,作为时序系统的基本信号,在节拍的配合下完成将运算结果打入寄存器。(前沿打入结果,后沿实现周期切 换)三级时序的关系三级时序的关系三级时序之间的关系:指令周期是一条指令的全过程机器周期是对指令周期的一种划分时钟周期对应节拍频率的获得频率的获得l晶体振荡器的频率叫做主频,经分频后形成CPU时钟频率(时钟脉冲信号)l启动控制线控制时钟频率的发与不发,形成若干的节拍信号l这就是计数译码电路的构成模型机的时序系统模型机的时序系统l模型机的时序系统主主 频频时钟发生器时钟发生器

18、节拍发生器节拍发生器周期触发器周期触发器ON OFF指令的执行与组合逻辑控制电路指令的执行与组合逻辑控制电路l组合逻辑控制器产生微命令,控制器一旦制作完成逻辑电路之间的连接关系就固定下来。l指令格式l寻址方式l操作类型指令格式指令格式操作码操作码12-15 寄存器号寄存器号9-11 寻址方式寻址方式6-8 寄存器号寄存器号3-5 寻址方式寻址方式 0-2 操作码操作码12-15 寄存器号寄存器号3-5 寻址方式寻址方式 0-2 操作码操作码12-15 寄存器号寄存器号9-11 寻址方式寻址方式6-8 -N Z V C双操作数指令双操作数指令 单操作数指令单操作数指令 转移指令转移指令 l可编程

19、寄存器7个:通用寄存器R0-R3:000-011 堆栈指针SP 100 程序状态字寄存器PSW 101 程序计数器PC 111(留有一种编码没用,可扩展)l寻址方式:模型机的编址按字编址,字长16位,主存每个单元16位采用字长指令格式,指令字长16位,操作数字长16位(这种约定可以使指令计数变得更加的简单)l 立即数寻址 (操作数在指令代码中)l 寄存器寻址 (操作数在寄存器中)l 直接寻址 (操作数在主存中)l 寄存器间址l 自增型寄存器间址l 自减型寄存器间址l 变址寻址模型机寻址方式简表模型机寻址方式简表类型寻址方式汇编符号可指定寄存器定义简述0寄存器寻址RR0R3,SP,PSW操作数在

20、寄存器中1寄存器间址(R)R0-R3,SP地址在指定的寄存器中2自减型寄存器间址-(R)R0-R3,SP寄存器内容减1后为操作数地址3立即/自增型寄存器间址(R)+R0-R3,SP,PC寄存器内容为操作数地址,操作后加14直接寻址DIPC操作数地址紧跟指令5变址寻址X(R)R0-R3,SP,PC变址寄存器内容与紧跟指令的位移量相加,为操作数地址指令代码000001010011100101操作类型指令操作码功能传送指令MOV0000预置寄存器或存储单元内容,实现R-R R-M M-M的信息传送及I/O操作。系统结构是外围寄存器与主存统一编址。双操作数算术逻辑指令ADD(加)0001可用逻辑运算指

21、令实现检测,位清除,位修正等位操作功能,所用屏蔽字可由立即寻址方式提供,异或指令可实现叛断符号的操作SUB(减)0010AND(与)0011OR (或)0100EOR(异或)0101单操作数算术逻辑指令COM(求反)0110NEG(求补)0111INC (加一)1000DEC(减一)1001SL (左移)1010SR (右移)1011程序控制指令JMP(转移)1100转移指令的0-3位与PSW中的0-3位对应,其中一位为1,表明以某一特征为转移条件。第5位决定转移条件为0转还是1转。RST(返回)1100指定(SP)+提供返回地址,然后修改堆栈指针为SP+1JSR(转子)1101先将返回地址压

22、栈保存,按寻址方式找到转移地址,送入PC模型机的时序系统模型机的时序系统l工作周期的划分l时序信号划分为工作周期,时钟周期(节拍),工作脉冲l模型机设置6种工作周期对应6个周期状态触发器,任一时刻只允许一个触发器为1,表明CPU现在所处的工作周期状态,为该阶段的工作提供时间标志与依据工作周期划分任务取指周期FT每条指令必经,在FT中完成取指操作,取指后转向哪个工作周期与指令类型有关源周期ST如需要从主存中读取源操作数则进入ST目的周期DT如需要从主存中读取目的操作数或目的地址则进入DT执行周期ET依据IR中的操作码进行运算中断响应周期IT响应中断请求后进入中断周期,关中断,保存断点,转入服务程

23、序入口DMA传送周期响应DMA请求后进入DMA周期,CPU交出系统总线控制权,MAR,MDR与系统总线脱钩,呈现高阻抗状态。DMA:直接访问存储器方式,在主存储器与I/O设备之间建立直接的数据传送通路,由专门的DMA控制器控制两者之间的数据传送。lCPU控制流程FTSTDTETDMATITDMA请求中断请求l双操作数指令,两个操作数均在主存中,则经历的工作周期变化为 FT ST DT ET(FT。)l单操作数指令,数在主存中,则经历的工作周期变化为 FT DT ET(FT。)l双操作数指令,数均在CPU寄存器中,则经历的工作周期的变化为 FT ET(FT。)l在每一周期结束前,都要判断下一个周

24、期状态是什么,并为此作好准备,如发出电位信号1-ST。由于DMA周期实现的是高速数据直传,所以让DMA请求优先中断请求。一条指令结束时,首先判断有没有DMA请求,有,插入DMAT。如果一个DMAT结束前又提出新的DMA请求,则允许安排若干的DMA周期。如果没有DMA请求,则判断有无中断请求,有,则进入IT。在IT中完成必要的准备工作之后,转入新的FT,这才是中断服务程序的开始。l工作周期的操作一般要划分成几步来完成,所以将工作周期划分成几个节拍,在模型机中,CPU的操作和主存的操作统一考虑,节拍的宽度是最长微操作所需要的时间,既访问主存的时间。l在同一个工作周期中,不同的指令所需要的节拍数是不

25、一样的,因此模型机设置的节拍发生器产生的节拍数是可变的。节拍发生器有计数器T和节拍译码器组成。l工作脉冲TP工作脉冲的前沿作为打入寄存器的定时信号标志一次数据通路的完成。P的后沿作为节拍与工作周期的切换定时信号,在此刻对节拍计数器T记数,打入新的工作周期状态l指令流程的分析是重点,是为了在寄存器这一层次分析指令序列的读取和执行过程。通常采用寄存器传送语句的形式描述指令流程分析和描述指令流程分析和描述指令流程PCMARMMDRIRPC+1PCFT0FT1PC OUTT+1EMAR,RD,SMDRMDROUTPC+1T=01ST1DT1ETCPMARCPTCPIRCPPCCPTCPSTCPDTCP

26、ETMOV 指令流程图指令流程图RICRI-1ZRIMARRIMARPCMARPCMARZMAR,RIMMDRCMMDRCMMDRDPC+1PCMMDRMARPC+1PCMMDRCRI+1ZD+RIZMMDRCZRIZMARMMARCRJ-1ZRJMARRJMARPCMARPCMARZMAR,RJRJ+1ZMMDRDPC+1PCMMDRMARPC+1PCZRJD+RJZZMARCRJCMDRMDRM R (R)-(R)I/(R)+DI X(R)几个应该注意的问题几个应该注意的问题l在ST中得到的源操作数都安排送入C中暂存l位移量一般放在D中l存储器进行计算后的结果一般放在Z中lDT和ST没有太

27、大的分别,对于MOV指令而言,则DT周期只需要到取得目的地址为止lET周期只需要考虑两个问题:是送入主存还是送入寄存器。lMOV指令流程图是对MOV指令各种情况的全面分析,具体到某种情况时只需要找出对应的流程分支即可双操作数指令,单操作数指令,跳转指令双操作数指令,单操作数指令,跳转指令l双操作数指令中的取指和取源操作数周期与MOV指令相同,目的周期DT和MOV指令相似,但多了一步操作,即访寸读取目的操作数,其余完全相同。l单操作数指令只有一个操作数,处理后放在原处,故不需要源周期,取指后直接进入目的周期,执行周期ET的流程也只分两类。l转移指令和返回指令的主要任务事获得转移地址和返回地址,安

28、排在执行周期中完成,故在FT中读得指令之后直接进入ET,根据指令转移的条件和PSW相应的位的状态决定是否转移,相应的完成转移成功和转移不成功。l转子指令是指在寄存器寻址,寄存器间址和自增型寄存器间址中允许将子程序的入口地址存放在寄存器或主存,堆栈中。所指定的寄存器可以是通用寄存器,堆栈指针或是程序计数器。返回地址都是压入堆栈保存。中断响应周期和中断响应周期和DMA周期以及键盘操作周期以及键盘操作l执行周期的最后一拍应当判断是否响应中断请求,如响应则向请求源发出中断响应信号INTA,并在ET结束的时候将IT置1,即转入中断响应周期l进入IT后,将断点和PSW压入堆栈,然后关中断,最后形成中断服务

29、程序的入口地址送入PC,IT结束后就切换到取指周期FT,即开始执行中断服务程序。lDMA周期的处理方式是:一条指令结束时查询有无DMA请求,有,则CPU与总线段开,即CPU交出对总线的控制权,交给DMA控制器,转入DMA周期。DMAT不影响PC的内容和现场的环境。l主存的第一条指令是无条件转移指令所以第一个周期FT将无条件转向操作系统的入口。微程序控制的基本概念微程序控制的基本概念l将机器指令分解成基本的微命令序列,编成微指令,多条微指令形成微程序l一条微指令包含的微命令控制实现一步(一个节拍操作)l微命令:构成控制信号序列的最小单位,例如脉冲的打入l微操作:由微命令实现的最基本的操作l微指令

30、:若干个微命令的组合,控制实现一步微操作。给出完成指令某步操作所需的微操作控制信息和后继微指令地址信息l微周期:从控制寄存器中读取一条微指令并执行相应的微操作所需的时间l微程序:一系列微指令的有序集合主存储器的特点和堆栈的构造主存储器的特点和堆栈的构造l逻辑地址l物理地址l有效地址l偏移量l位移量l堆栈底部字单元的物理地址l堆栈底部物理地址l堆栈深度lSP的初始值lSP的初始值指向的物理地址8086/8088的寻址方式的寻址方式l寄存器寻址方式:1.指令所需的操作数存放在指令所需的操作数存放在CPU的寄存器中(通用寄存器或段寄存器),的寄存器中(通用寄存器或段寄存器),通过指令中给出的寄存器地

31、址去找到操作数。通过指令中给出的寄存器地址去找到操作数。2.特点是,寄存器在特点是,寄存器在CPU的内部,不需要经过总线周期,所以寻址的速度的内部,不需要经过总线周期,所以寻址的速度相当的快。相当的快。3.在汇编指令中,直接使用寄存器的名作为寄存器的地址,如使用在汇编指令中,直接使用寄存器的名作为寄存器的地址,如使用AX,BX,CX,DX,AL,DS,ES。l立即数寻址方式1.立即数寻址方式是指,指令所需的操作数直接在指令码中,随着指令一起取立即数寻址方式是指,指令所需的操作数直接在指令码中,随着指令一起取出到出到BIU单元的指令队列中。单元的指令队列中。2.在寻址的过程中无须占用另外的总线周

32、期,所以速度也相当快。在寻址的过程中无须占用另外的总线周期,所以速度也相当快。3.立即数如果是数值常数可直接书写,如果是字符常数则应加上引号。立即数如果是数值常数可直接书写,如果是字符常数则应加上引号。4.立即数经常用于给存储单元赋值或给寄存器赋值,并且只能作为源操作数而立即数经常用于给存储单元赋值或给寄存器赋值,并且只能作为源操作数而不能作为目的操作数。不能作为目的操作数。5.立即数如是以立即数如是以A,F开始的十六进制数则必须在数前加上开始的十六进制数则必须在数前加上06.不加说明,汇编指令中的数值是十进制的不加说明,汇编指令中的数值是十进制的l存储器寻址方式 存储器的寻址有一个重要的特点

33、:操作数都是在主存中,段基址由某个段寄存器来提供,而提供段基值的寄存器一般都是隐含了来源,实际上要考虑的是偏移量的问题,偏移量是由位移量、基地址、变址量三个分量的某种组合形成,所以,寻址的方式是它们的组合方式。l直接寻址1.指令所需的操作数在存储单元中,操作数的有效地址由指令所需的操作数在存储单元中,操作数的有效地址由EA直接由指令代码中的位移直接由指令代码中的位移量来提供。量来提供。2.位移量的表示方式可以是数值的,也可以是符号地址。位移量的表示方式可以是数值的,也可以是符号地址。3.如果用数值来表示有效地址,则操作数所在段的段寄存器必须指明,不能缺省。如果用数值来表示有效地址,则操作数所在

34、段的段寄存器必须指明,不能缺省。4.用符号地址表示存放操作数的存储单元则操作数存放在数据段中则不需给出段寄存用符号地址表示存放操作数的存储单元则操作数存放在数据段中则不需给出段寄存器名,隐含使用器名,隐含使用DS,如果操作数不是存放在数据段中则必须给出段寄存器的名。如果操作数不是存放在数据段中则必须给出段寄存器的名。l寄存器间接寻址1.指令所需的操作数在存储单元中,操作数的有效地址从指令所需的操作数在存储单元中,操作数的有效地址从BP,BX;SI,DI中获得。中获得。2.若以若以BX,SI或是或是DI间接寻址时,隐含使用的段寄存器是间接寻址时,隐含使用的段寄存器是DS3.若以若以BP间接寻址时

35、,隐含使用的段寄存器是间接寻址时,隐含使用的段寄存器是SS4.间接寻址时,要用间接寻址时,要用“”将间址寄存器括起来将间址寄存器括起来l变址寻址和基址寻址1.指令所需的操作数在存储单元中,操作数的有效地址是由变址寄存器或基址寄存器指令所需的操作数在存储单元中,操作数的有效地址是由变址寄存器或基址寄存器中的内容和指令给出的位移量(中的内容和指令给出的位移量(8、16位)之和来提供。位)之和来提供。2.使用使用SI,DI称为变址寻址;使用称为变址寻址;使用BP,BX称为基址寻址称为基址寻址3.变址寻址和基址寻址方式中对段寄存器的隐含使用和寄存器间接寻址中的方法是一变址寻址和基址寻址方式中对段寄存器

36、的隐含使用和寄存器间接寻址中的方法是一样的。样的。4.位移量部分可以使用数值也可使用符号地址。位移量部分可以使用数值也可使用符号地址。5.将指令中无法修改的位移量作为基准地址,将可修改的的变址寄存器内容和基址寄将指令中无法修改的位移量作为基准地址,将可修改的的变址寄存器内容和基址寄存器内容作为修改量,实现对一维数组的访问。存器内容作为修改量,实现对一维数组的访问。l基址变址寻址1.指令所需的操作数在主存单元中,操作数的有效地址由三个分量构成:基址寄存器指令所需的操作数在主存单元中,操作数的有效地址由三个分量构成:基址寄存器内容、变址寄存器内容、指令中的位移量三者之和构成。内容、变址寄存器内容、

37、指令中的位移量三者之和构成。2.BP,BX在前,在前,SI,DI在后。在后。3.基址寄存器选用基址寄存器选用BP,则隐含使用的是则隐含使用的是SS4.基址寄存器选用基址寄存器选用BX,则隐含使用的是则隐含使用的是DS5.位移量可用符号地址表示也可用数值表示位移量可用符号地址表示也可用数值表示l通常存储器操作数存放在隐含指定的段中,因此指令中不必给出短寄存通常存储器操作数存放在隐含指定的段中,因此指令中不必给出短寄存器名。操作数也可存放在非隐含指定的段中,这时就必须使用段超越前器名。操作数也可存放在非隐含指定的段中,这时就必须使用段超越前缀来指定操作数所在的段。缀来指定操作数所在的段。l另外,特

38、别的是串操作寻址方式,这些指令所用的操作数也是存放在存另外,特别的是串操作寻址方式,这些指令所用的操作数也是存放在存储器中的,但它们不是用上述寻址方式,而是隐含使用变址寄存器储器中的,但它们不是用上述寻址方式,而是隐含使用变址寄存器SI,DI。l串操作中,隐含使用串操作中,隐含使用SI的内容作为数据段中的源串的有效地址,使用的内容作为数据段中的源串的有效地址,使用DI的内容作为附加段中目的串的有效地址。的内容作为附加段中目的串的有效地址。l完成一次串操作后,指令自动修改目的串和源串的指针内容,指向下一完成一次串操作后,指令自动修改目的串和源串的指针内容,指向下一个串元素。个串元素。1.数据传送

39、指令数据传送指令MOV,指令的格式是指令的格式是MOV DEST,SRC 指令的功能是指令的功能是将源操作数传送到目的地址中。将源操作数传送到目的地址中。MOV指令中可以同是字或字节(两个操指令中可以同是字或字节(两个操作数,但必须一致),不影响标志位。作数,但必须一致),不影响标志位。汇编指令汇编指令段寄存器DS ES SS存储器CS通用寄存器AX BX CX DXSI DI BP SP立即数l2 交换指令交换指令EXCHANGE 指令的格式是指令的格式是XCHG DEST,SRC。指令的功能是将源地址的内容指令的功能是将源地址的内容 与目的地址的内容相交换,不影响标志位。交换的内容可以是字

40、也与目的地址的内容相交换,不影响标志位。交换的内容可以是字也可以是字节。数据交换只能在通用寄存器之间或通用寄存器和存储可以是字节。数据交换只能在通用寄存器之间或通用寄存器和存储单元之间进行。交换指令不能使用立即数和段寄存器。单元之间进行。交换指令不能使用立即数和段寄存器。存储器通用寄存器AX BX CX DXSI DI BP SPl3 标志位传送指令标志位传送指令 这种指令用于对标志寄存器进行存取操作,共这种指令用于对标志寄存器进行存取操作,共4条,都是无操作数指令。条,都是无操作数指令。1.取标志位指令取标志位指令 LAHF,将标志寄存器的低将标志寄存器的低8位传送到位传送到AH寄存器中。寄

41、存器中。2.存标志位指令存标志位指令 SAHF,将将AH寄存器的内容传送到标志位寄存器寄存器的内容传送到标志位寄存器FR的低的低8位中。位中。3.标志位压栈指令标志位压栈指令 PUSHF,将将16位的标志寄存器的所有内容送到位的标志寄存器的所有内容送到SP指向指向的新的栈顶字单元中。的新的栈顶字单元中。4.标志位出栈指令标志位出栈指令 POPF,将将SP指向的栈顶字单元的内容弹出到标志寄存指向的栈顶字单元的内容弹出到标志寄存器中。器中。l4 地址传送指令地址传送指令1.装入有效地址指令装入有效地址指令 LEA DEST,SRC 将源操作数的有效地址送入到目将源操作数的有效地址送入到目的地址(的

42、地址(16位的通用寄存器)。位的通用寄存器)。LEA的源操作数必须是存储器操作数,可的源操作数必须是存储器操作数,可以是字也可是字节,但目的操作数必须是以是字也可是字节,但目的操作数必须是16位的通用寄存器名。位的通用寄存器名。2.装入地址指针指令装入地址指针指令 一个存储单元的逻辑地址是由一个存储单元的逻辑地址是由16位的段基值和偏移量位的段基值和偏移量组成,可用组成,可用4个字节来存放这个逻辑地址。段基值放在个字节来存放这个逻辑地址。段基值放在2个高字节单元中,个高字节单元中,偏移量放在偏移量放在2个低字节单元中。个低字节单元中。LDS的功能是将地址指针的功能是将地址指针4个字节同时取出个

43、字节同时取出,将,将SRC指定的指定的32位地址指针中的偏移量送入位地址指针中的偏移量送入DEST指定的通用寄存器中,指定的通用寄存器中,将段基值送入将段基值送入DS中。中。LES的功能和的功能和LDS类似,指是用类似,指是用ES来代替来代替DS。3.装入地址指针指令实际上是刷新了当前的数据段和附加段。装入地址指针指令实际上是刷新了当前的数据段和附加段。l加法运算指令加法运算指令1.ADD DEST,SRC 源操作数可以是字也可是字节。源操作数可存放在源操作数可以是字也可是字节。源操作数可存放在通用寄存器中,也可存放在存储单元中,还可是立即数。目的操作数只能通用寄存器中,也可存放在存储单元中,

44、还可是立即数。目的操作数只能存放在通用寄存器中或存储单元中不能是立即数。并且两个操作数不能同存放在通用寄存器中或存储单元中不能是立即数。并且两个操作数不能同时为存储器操作数。重要的是要根据相加的结果来设置寄存器的时为存储器操作数。重要的是要根据相加的结果来设置寄存器的OF,SF,ZF,AF,PF,CF标志位。标志位。2.带进位的加法指令带进位的加法指令 ADC DEST,SRC 完成两个操作数相加的同时,将完成两个操作数相加的同时,将标志位标志位CF加上。加上。3.加加1指令指令 INC DEST 目的操作数加目的操作数加1后送回目的地址中。并根据执行的后送回目的地址中。并根据执行的结果来设置

45、结果来设置OF,SF,ZF,AF,PF但不影响但不影响CF。INC指令的操作数只有指令的操作数只有一个,可以是存储器或存储单元,但不能是立即数。一个,可以是存储器或存储单元,但不能是立即数。4.减法的指令略去,和加法实现的功能类似。减法的指令略去,和加法实现的功能类似。l求负指令求负指令1.求负指令可以看作是求补的操作求负指令可以看作是求补的操作2.影响符号位影响符号位 比较指令比较指令1.CMP DEST,SRC2.实现实现2个操作数相减但不保留减法运算的结果,而是依据结果个操作数相减但不保留减法运算的结果,而是依据结果来设来设 置标志位置标志位l乘法指令乘法指令1.无符号数乘法指令的格式:

46、无符号数乘法指令的格式:MUL OPRD2.OPRD是一个操作数,只能存放在一个通用寄存器或存储单元中。另一个操作数是一个操作数,只能存放在一个通用寄存器或存储单元中。另一个操作数隐含在隐含在AL,AX中。乘法运算得到的双倍长度的乘积隐含地存放在中。乘法运算得到的双倍长度的乘积隐含地存放在AX,或或DX:AX中。中。3.MUL指令只影响标志位中的指令只影响标志位中的OF和和CF。4.带符号数的乘法指令的格式:带符号数的乘法指令的格式:IMUL OPRD5.指令中的操作数和乘积均带符号并且用补吗表示。指令中的操作数和乘积均带符号并且用补吗表示。l除法指令除法指令1.无符号除法指令,格式:无符号除

47、法指令,格式:DIV OPRD。OPRD是除数,可以是是除数,可以是8或或16位数,但只能位数,但只能存放在通用寄存器中或存储单元中。可进行字节除法和字除法。被除数,商,余存放在通用寄存器中或存储单元中。可进行字节除法和字除法。被除数,商,余数都是使用的隐含的相关寄存器。数都是使用的隐含的相关寄存器。2.字节除法除数使用的寄存器是字节除法除数使用的寄存器是AX,余数放在余数放在AH中,商放在中,商放在AL中。字无符号相除中。字无符号相除的被除数放在的被除数放在DX,AX中,高位放中,高位放DX。余数放在余数放在DX中,商放在中,商放在AX中。中。3.除数为除数为0,商溢出的情况。,商溢出的情况

48、。4.带符号除法指令,格式:带符号除法指令,格式:IDIV OPRD。所有的数用补码表示。其余同所有的数用补码表示。其余同DIV指令是指令是一样的。一样的。5.字节字符号扩展指令。格式:字节字符号扩展指令。格式:CBW CWDlBCD码校正指令码校正指令1.非组合型加法校正指令非组合型加法校正指令AAA2.在执行指令之前已用在执行指令之前已用ADD,ADC指令完成了一位非组合型指令完成了一位非组合型BCD码的加法运算,且码的加法运算,且加法的结果放在加法的结果放在AL中,对中,对AL中的数据进行校正,结果在中的数据进行校正,结果在AL中,向高位的进位放中,向高位的进位放在在AH,CF中。中。3

49、.若若AL中的低中的低4位的值位的值9,且,且AF=1,那么将那么将AL中的高中的高4位清位清0,al=al+6,AF,CF置置15.组合型加法校正指令组合型加法校正指令DAA6.非组合型减法校正指令非组合型减法校正指令AAS7.组合型减法校正指令组合型减法校正指令DASl位操作类指令位操作类指令:AND OR XOR NOT TEST SAL SAR SHL SHR ROL RCL l串串操作类指令操作类指令:LODS STOS MOVS CMPS SCAS REP REPE REPNEl处理器控制指令处理器控制指令:CLC STC CMC STD CLI STI HLT WAIT ESC

50、LOCK NOP 8086微型计算机汇编语言微型计算机汇编语言自然语言自然语言 数学语言数学语言 机器语言机器语言 高级语言高级语言CPU中的机中的机器指令器指令汇编语言汇编语言符号化符号化高级语言高级语言“翻译翻译”汇编语言程序设计的一般概念汇编语言程序设计的一般概念机器语言:计算机内部使用的是二进制,机器语言是二进制语言每种机器都有相应的机器语言机器语言的特点是 1。执行的速度快 2。难于掌握和维护机器语言指令是能为计算机所能接受的二进制代码机器指令程序是一系列机器指令的集合汇编语言经过汇编成为机器语言机器语言的符号化是汇编语言汇编指令是用助记符的方法来表示机器指令汇编语言程序是用汇编指令

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁