计算机硬件(第2章原理)_第1页
计算机硬件(第2章原理)_第2页
计算机硬件(第2章原理)_第3页
计算机硬件(第2章原理)_第4页
计算机硬件(第2章原理)_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第 1 页计算机硬件技术基础第二章第二章 计算机的工作原理与指令系统计算机的工作原理与指令系统 本章主要内容本章主要内容2.1 2.1 计算机系统的硬件结构计算机系统的硬件结构 计算机的五大主要部件、总线结构。计算机的五大主要部件、总线结构。2.2 CPU2.2 CPU的组成与工作原理的组成与工作原理 CPU的组成、工作原理,数据表示、编码和运算,的组成、工作原理,数据表示、编码和运算,CPU控制,控制,x86结构。结构。2.3 2.3 内存的组成及读写原理内存的组成及读写原理 内存组成和基本结构,读写方式,内存与内存组成和基本结构,读写方式,内存与CPU的接口,的接口,堆栈操作。堆栈操作。

2、2.4 2.4 指令系统指令系统 指令系统的概念,寻址,指令系统的概念,寻址,x86x86指令系统简介。指令系统简介。 2.5 2.5 计算机的工作过程计算机的工作过程 CPU的基本工作过程的基本工作过程第 2 页计算机硬件技术基础2.1 计算机系统的硬件结构2.1.1 计算机的主要部件计算机五大基本部件:运算器运算器控制器控制器内存储器内存储器输入设备输入设备输出设输出设备备外存储器外存储器控制数据地址或指令CPU主机外设存储器CPU主机外设CPU = 运算器+控制器+寄存器 Central Processing Unit MPU = 一块IC的CPUMicro Processing Uni

3、t运算器运算器 执行全部的算术和逻辑执行全部的算术和逻辑运算。运算。 控制器控制器 计算机的控制中心,控计算机的控制中心,控制和同步其他各个部件。制和同步其他各个部件。存储器存储器 计算机的主要记忆部件,计算机的主要记忆部件,以字节为单位的、线性编以字节为单位的、线性编址的二进制记忆部件。址的二进制记忆部件。输入、输出设备输入、输出设备 通过接口电路连接到总通过接口电路连接到总线的计算机外部设备。线的计算机外部设备。 第 3 页计算机硬件技术基础2.1.2 计算机的总线结构 总线总线(BUS):能为多个部件服务的公共信息传送线路,分时地发送与接收各部件的信息。总线信息:总线信息:地址信息(地址

4、总线)、数据信息(数据总线)和控制信息(控制总线) 地址总线地址总线(AB):单向,用于向内存、外部端口传输地址信息。:单向,用于向内存、外部端口传输地址信息。 数据总线数据总线(DB):双向,传输各种数据信息。:双向,传输各种数据信息。 控制总线控制总线(CB):传输控制信息。包括读写、中断等。:传输控制信息。包括读写、中断等。系统总线CPU内存接口外部设备接口外部设备.单总线结构单总线结构第 4 页计算机硬件技术基础连接到总线上的设备主要有:CPU 一般情况下总线由CPU控制内部存储器内部存储器 是完全被动的总线设备接口电路接口电路 所有外部设备必须通过接口电路连接到计算机,不同的接口电路

5、可能拥有不同的端口地址、中断等。总线的特点 公共性、高速性、标准性。公共性、高速性、标准性。单总线和多总线 多总线计算机系统中同时存在多条总线。目前微机算机中都是采用多总线结构。 解决不同的部件速度不一致的问题。 为存储器设计专用的数据通道。 兼容符合不同的总线标准的设备。2.1.2 计算机的总线结构第 5 页计算机硬件技术基础2.2 CPU的组成与工作原理CPUCPU主要包括运算器和控制器主要包括运算器和控制器1 1运算器运算器ALU:Arithmetic and logical Unit 累加器累加器A A:N位的寄存器,用于保存运算过程中的有关数据。 缓存器缓存器R R(暂时寄存器):N

6、位寄存器,接收来自累加器和数据总线的数据。 加法器加法器:由N个全加器构成。数据总线加法器暂存器 R累加器A暂存器第 6 页计算机硬件技术基础2.2.1 中央处理器的基本构成 2.2.控制器控制器 程序计数器程序计数器PCPC,又称指令计数器、指令指针(IP) 指令寄存器指令寄存器IRIR 指令译码器指令译码器IDID,又称操作码译码器、指令功能分析解释器。 地址形成部件地址形成部件 微操作信号发生器,微操作信号发生器,确定完成指令所需要的步骤及完成每一步骤所需要的控制信号组合。 时序部件,时序部件,产生定时信号第 7 页计算机硬件技术基础2.2.1 中央处理器的基本构成CPU中的寄存器组3.

7、 CPU3. CPU中的寄存器组中的寄存器组 按功能分有通用寄存器和专用寄存器 通用寄存器通用寄存器存放原始数据和运算结果作为变址寄存器、计数器、地址指针等。 专用寄存器专用寄存器程序计数器PC、指令指针IP指令寄存器IR等状态标志寄存器,主要包括两部分内容: 状态标志,如:进位标志、结果为零标志等,大多数运算类指令的执行将会影响到这些标志位。 控制标志,如:中断标志、陷阱标志等。第 8 页计算机硬件技术基础2.2.2 计算机中数据信息的表示 数字化信息编码的概念: 在计算机内一切信息必须进行数字化编码(即用二进在计算机内一切信息必须进行数字化编码(即用二进制代码形式),才能在机内传送、存储和

8、处理。制代码形式),才能在机内传送、存储和处理。输入电路 10110101计算机主机 10100010输出电路二进制:只有0和1,记数按“逢二进一”规律,第k位权是2k。 二进制二进制 十进制十进制 bnbn-1bn-2 b0 = dndn-1dn-2 . d0 = bkX2kk=0ndkX10kk=0n1011=1X23+0X22+1X21+1X20 325 = 3X102 + 2X101 + 5X100 = 1X8 + 0X4 + 1X2 + 1X1 = 3X100 + 2X10 + 5X1第 9 页计算机硬件技术基础二进制: b7 b6 b5 b4 b3 b2 b1 b0 权值: 128

9、 64 32 16 8 4 2 1 27 26 25 24 23 22 21 20二进制小数:小数点后第二进制小数:小数点后第k位权值位位权值位2-k = 1/2k。1101.1001 (二进制) = 1X8 + 1X4 + 0X2 + 1X1 + 1X0.5 + 0X0.25 + 0X0.125 + 1X0.0625 = 13.5625 (十进制) 二进制:0 . B-1 b-2 b-3 b-4 权值: 0.5 0.25 0.125 0.0625 2-1 2-2 2-3 2-4 1/2 1/4 1/8 1/162.2.2 计算机中数据信息的表示二进制 第 10 页计算机硬件技术基础原码、反码

10、和补码原码、反码和补码原码:二进制的最高位为符号位,0正1负,其余各位同无符号二进制。125D原 = 0 1111101-125D原 = 1 1111101 符号位符号位 数值位数值位 8位原码表示数的范围:-127 +127,且00000000和10000000含义相同。反码:正数的反码和原码相同,负数的反码为其原码将数值位求反,即0变1,1变0。125D反 = 0 1111101-125D反 = 1 0000010 符号位符号位 数值位数值位2.2.2 计算机中数据信息的表示原码、反码和补码第 11 页计算机硬件技术基础 8位反码表示数的范围:-127 +127,且0 0000000和11

11、111111含义相同。补码:补码:正数的补码和原码相同,负数的补码为其原码将数值位求反+1。125D补 = 0 1111101-125D补 = 1 0000011 符号位 数值位 8位补码表示数的范围:-128 +127,最主要的优点是在加、减运算时不需要判断符号位,所以CPU在进行有符号数的加、减运算时用的是补码。例:分别求出十进制数78D和-120D的原码、反码和补码。 将78D和120D分别转换成二进制:2.2.2 计算机中数据信息的表示原码、反码和补码 第 12 页计算机硬件技术基础78D和和-120D的原码:的原码:78D原原 = 0 1001110-120D原原 = 1 11110

12、0078D和和-120D的反码:的反码:78D反反 = 0 1001110-120D反反 = 1 000011178D和和-120D的补码:的补码:78D补补 = 0 1001110-120D补补 = 1 0001000 2 | 1 2 0 2 | 6 0 0 2 | 3 0 0 2 | 1 5 0 2 | 7 1 2 | 3 1 2 | 1 1 0 1 120D = 1111000 2 | 7 8 2 | 3 9 0 2 | 1 9 1 2 | 9 1 2 | 4 1 2 | 2 0 2 | 1 0 0 1 78D = 10011102.2.2 计算机中数据信息的表示原码、反码和补码 第 1

13、3 页计算机硬件技术基础2.2.2 计算机中数据信息的表示原码、反码和补码三种机器数的比较三种机器数的比较 对于正数它们相等,而对于负数各有不同的表示。 补码和反码的符号位可作为数值位的一部分看待,但原码的符号位不允许和数值位同等看待。 原码和反码各有两种零的表示法,而补码具有唯一的一种零的表示法。 原码、反码表示的正、负数范围相对零来说是对称的,但补码负数表示范围较正数表示范围宽。补码的运算补码的运算XX补补+Y+Y补补=X+Y=X+Y补补XX补补-Y-Y补补=X-Y=X-Y补补=X=X补补+-Y+-Y补补第 14 页计算机硬件技术基础2.2.2 计算机中数据信息的表示原码、反码和补码符号扩

14、展:如将8位转换为16位 原码的符号扩展正数:0010 1001 0000 0000 0010 1001负数:1010 1001 1000 0000 0010 1001 反码的符号扩展正数:0010 1001 0000 0000 0010 1001负数:1010 1001 1111 1111 1010 1001 补码的符号扩展正数:0010 1001 0000 0000 0010 1001负数:1010 1001 1111 1111 1010 1001 80X86有符号扩展的专用指令。第 15 页计算机硬件技术基础2.2.3 算术运算与逻辑运算的实现逻辑运算逻辑运算 一般CPU有与、或、非、异

15、或等逻辑指令。逻辑运算是按位进行的,位与位之间没有进位/借位的关系。与或非异或00 = 000 = 000 = 001 = 001 = 1 0 = 101 = 110 = 010 = 110 = 111 = 111 = 1 1 = 011 = 00 与任何数结果为 0仅当 1 与 1 时结果为 11 或任何数结果为 1仅当 0 或 0 时结果为 0求反:0 变 11 变 0又叫模 2 加相同为 0不同为 1第 16 页计算机硬件技术基础2.2.4 2.2.4 控制信号的产生控制信号的产生 1. 时序系统 与CPU时序有关的基本概念 指令周期:一条指令从取出、分析、取数到执行完该指令所需的全部时

16、间。不同指令的指令周期可能不同。 机器周期:每个机器周期完成一个任务(指令中的一个步骤)。若干个机器周期组成一个指令周期。 时钟周期:时钟脉冲信号的间隔时间称为时钟周期,CPU的任何操作都是在时钟脉冲的统一控制下一步一步地进行的。机器周期由若干时钟周期组成。 总线周期:在微型计算机中,CPU与外部系统(内存或外设)的信息交换都是通过总线进行的,将CPU一次访问(即读或写)内存或外设所花费的时间,称为总线周期。第 17 页计算机硬件技术基础机器周期机器周期指令地址操作数地址CPU时钟地址总线数据总线指令操作数.指令周期一个最基本的机器周期由多个(个数可能不同)时钟周期组成。执行一条指令需要多个(

17、个数可能不同)机器周期 。2.2.4 2.2.4 控制信号的产生控制信号的产生 第 18 页计算机硬件技术基础2.2.4 控制信号的产生控制电路的硬件实现方法 2控制器电路的硬件实现方法控制器的核心是微操作信号发生器,它的输入是译码后的指令操作码,输出是微操作控制命令。微操作信号发生器的两种实现方法: 硬布线控制器硬布线控制器,采用组合逻辑技术实现,特点: 指令执行速度快 微操作信号发生器的结构不规整,设计、调试困难,难以实现设计自动化。 微程序控制器 把微操作控制命令代码化,用微指令实现机器指令,特点: 设计规整、调试以及更改、扩充指令方便,易于实现自动化设计。 增加了一级控制内存,指令的执

18、行速度比硬布线控制器慢。第 19 页计算机硬件技术基础2.2.5 2.2.5 典型典型CPUCPU的总体结构的总体结构8086的内部结构 由两个独立的部件:执行 部 件E U 和 总线接口部件BIU构成。暂存器标志奇存器EU控制器CSDSSSESIP内部寄存器1 2 3 4 5 6总线控制逻辑SPBPDISI通用寄存器地址总线(20位)数据总线(16位)系统总线指令缓冲器(8位)执行单元(EU)总线接口单元(BIU)ALU数据总线(16位)AXBXCXDXALUAH ALBH BLDH DLCH CL1 180868086的内部结构的内部结构运算器数据寄存器组控制器指令队列地址加法器段寄存器第

19、 20 页计算机硬件技术基础 执行部件EU 负责执行指令完成取指令完成取指令( (内部内部) )、译码、产生指令所需的各种控制信、译码、产生指令所需的各种控制信号。号。ALUALU进行算术、逻辑运算。进行算术、逻辑运算。通用寄存器组暂存操作数据或中间结果。通用寄存器组暂存操作数据或中间结果。 总线接口部件BIU 负责与外部的信息交换。从内存取指令从内存取指令( (外部外部) )送到指令队列,完成指令缓冲。送到指令队列,完成指令缓冲。根据根据EUEU送来的送来的1616位偏移地址,通过地址产生器生成位偏移地址,通过地址产生器生成2020位位的物理地址。的物理地址。配合配合EUEU的请求,完成与的

20、请求,完成与CPUCPU外部的数据交换。外部的数据交换。 EU和BIU是两个独立的工作部件,在大多数情况下,它们能并行重叠操作,在EU执行指令的同时,BIU也在进行取指令、读操作数或存入结果数据的操作。2.2.5 2.2.5 典型典型CPUCPU的总体结构的总体结构8086的内部结构 第 21 页计算机硬件技术基础2.2.5 典型CPU的总体结构 8086的寄存器结构8个16位通用寄存器: 4个16位数据寄存器(可分为2个8位) 2个16位变址寄存器 2个16位指针寄存器。指令指针寄存器IP 存放当前要执行的指令的偏移量地址。4个段寄存器 CS、SS、DS、ES分别存放代码段、堆栈段、数据段和

21、附加数据段的段地址。标志寄存器AHALBHBLCHCLDHDLFLAGSSPBPSIDIIPCSDSSSESAX(累加器)BX(基址寄存器)DX(数据寄存器)CX(记数器)(源地址寄存器)(目的地址寄存器)(堆栈指针寄存器)(基址指针寄存器)指令指针寄存器标志寄存器代码段寄存器数据段寄存器附加段寄存器堆栈段寄存器数据 寄存器变址 寄存器指针 寄存器 段寄存器通用 寄存器28086的寄存器结构第 22 页计算机硬件技术基础15 14 131211OF10DF9IF8TF7SF6ZF54AF32PF10CFOF 溢出1 = 溢出标志有符号数运算结果溢出DF 方向1 = 减,0 = 增用于字符串指令

22、IF中断1 = 允许用于外部中断开关TF 单步1 = 单步状态用于单步调试程序SF 符号1 = 负,0 = 正标志运算结果的符号ZF 零1 = 零,0 = 非零标志运算结果是否为0AF 辅助进位1 = 有进位/借位半字节间的进位/借位PF 奇偶1 = 偶,0 = 奇运算结果中1的个数CF 进位1 = 有进位/借位运算是否产生进位/借位2.2.5 典型CPU的总体结构 标志寄存器标志寄存器用于存放运算结果的属性,和控制标志。第 23 页计算机硬件技术基础2.3 内存的组成与读写原理2.3.1 内存组成 1. 三级存储系统 计算机系统中,规模较大的存储器往往分成若干级,称存储系统。 Cache:高

23、速缓冲存储器 Cache是比内存容量小得多的、但速度比内存快得多的高速存储器。 Cache的作用是为了提高CPU对内存的访问速度。对用户透明。 CPU内部的Cache称为一级Cache(L1 Cache)CPU外部的Cache称为二级Cache(L2 Cache)内部存储器 主存储器。外部存储器(辅助存储器) 硬盘、软盘、光盘、U盘、磁带等。CPU寄存器 Cache内部存储器内部存储器外部存储器外部存储器 第 24 页计算机硬件技术基础2.3.1 内存组成内部存储器的的基本结构地址寄存器AR地址译码器存储体MD读写电路数据寄存器控制逻辑DBABCBDRk位2k个存储单元n位地址寄存器AR地址译

24、码器存储体MD读写电路数据寄存器控制逻辑DBABCBDRk位2k个存储单元n位2.内存储器的的基本结构由2k个存储单元组成,单元的编号是地址。每个单元可以是1/4/8位。接收并暂存来自地址总线(AB)的地址信号。将k位地址变换成2k个输出控制信号,每个控制信号对应一个存储单元。写存储器时暂存来自数据总线的(DB)数据。 读存储器时暂存来自存储体的数据。第 25 页计算机硬件技术基础2.3.1 内存组成内存的存储单元3.内存的存储单元 存储单元是CPU对主存储器的最小访问单位,一般为字节(8位)。E W R 选 写 读通0/1D0数据0/1D1数据0/1D2数据0/1D3数据0/1D4数据0/1

25、D5数据0/1D6数据0/1D7数据0/1D数据E W R 选 写 读通EWR0XX无操作100无操作101读110写111非法断开断开输入输出数据线操作第 26 页计算机硬件技术基础2.3.2 内存的读写 内存和CPU之间的连接2. CPU对内存的基本操作 读操作: 地址ABAR Read等待MFC(数据)DRDB 写操作:地址ABAR数据DBDR Write等待MFC同步内存存取和异步内存存取异步内存存取:CPU和内存间没有统一的时钟,由MFC通知CPU内存工作已完成。同步内存存取:CPU和内存采用统一时钟,同步工作,不需要MFC。容量2k n地址总线数据总线ReadWriteMFCk位n

26、位CPUDRAR内存容量2k n地址总线数据总线ReadWriteMFCk位n位CPUDRAR内存MFC = Memory Function Complete 存储器功能完成。第 27 页计算机硬件技术基础2.3.3 典型微机的内存接口 1. 内存编址:最常用的编址方式是字节编址。 一个字(双字/四倍字)的地址是最低地址字节的地址。 一个字(双字/四倍字)存放在从偶数(4的整数倍/8的整数倍)开始的存储器单元中,称为规则存放;反之称为非规则存放。 读写规则字(双字/四倍字)只需一个总线周期,而读写非规则字(双字/四倍字)则需要两个存储周期。2. 内存接口 数据总线宽度:一次最多能并行传送的二进

27、制位数,称为数据通路宽度。 存储器数据线数目:一般情况下和数据总线宽度相等。 CPU的位宽:和总线宽度不一定相等。第 28 页计算机硬件技术基础字节字双字4字 N+7 N+6 N+5 N+4 N+3 N+2 N+1 N地址字节低字节高字节低字高字低双字高双字地址给出的是数据占用的最小地址单元字节(8位):(10000H) = 12H, (10001H) = 34H字(16位) :(10002H) = 2345H双字(32位) :(10004H) = 55667788H四倍字(64位) :(10008H) = 0123456789012345H12344523887766554523018967

28、45230110000H10002H10008H10004H2.3.3 典型微机的内存接口 数据在存储器中的存放图例第 29 页计算机硬件技术基础2.3.4 内存堆栈与堆栈操作 1. 堆栈 堆 栈 是 一 种 按 “ 后 进 先出”(LIFO)进行存储器访问的存储器访问方式。 一般在内存中划出一段区域用作堆栈,这一区域被称作堆栈区间。 堆栈的大小可变,栈底固定,栈顶浮动,用一个专门的寄存器作为堆栈栈顶指针。 在80X86中,堆栈的栈底地址大于栈顶地址。堆栈操作作用 中断时的断点 返回地址 参数的传递栈顶高地址端栈底SP堆栈指针堆栈区第 30 页计算机硬件技术基础2.3.4 内存堆栈与堆栈操作

29、2. 堆栈操作:堆栈操作:进栈操作 (SP)-2 SP修改栈指针 (A)(SP) 将A中的内容传送到栈顶单元(压入)出栈操作 (SP)A 将栈顶单元内容传送到A中(弹出) (SP)+2 SP 修改栈指针 2是堆栈操作的字节数,在8086CPU中堆栈以字为操作单位。 堆栈操作既不是在堆栈中移动它所存储的内容,也不是把已存储在栈中的内容从栈中抹掉,而是通过调整堆栈指针而给出新的栈顶位置,以便对位于栈顶位置的数据进行操作。第 31 页计算机硬件技术基础2.4 指令系统2.4.1 指令系统简介 CPU指令(机器指令):是CPU功能的体现,是用二进制代码表示的指令,是唯一可以被CPU直接识别和执行的程序

30、。 指令系统:是CPU全部指令的集合,不同的CPU有不同的指令系统。 汇编指令:是机器指令一种利于记忆的符号(助记符),用助记符指令编写的程序就是汇编程序。 同系列的CPU必须保持指令系统的兼容性。新一代CPU的指令系统必须包含老一代CPU的全部指令。1指令的组成 指令由操作码字段(OP,指明操作功能)和地址码字段 (A,或称操作数字段,指明操作数)两部分构成。OPA操作码字段 操作数字段(地址码字段)第 32 页计算机硬件技术基础2.4.1 指令系统简介 2. 指令的操作码 指令的操作码字段表明了所执行的操作。指令系统中的每一条指令都有一个唯一确定的操作码。3. 地址码结构 运算的操作数和运

31、算结果存放的地址。 根据指令功能的不同,地址码字段可以含有单地址、双地址或三地址结构,少量指令无地址码字段。4. 指令格式 如:Intel 8086 CPU加法指令 ADD CL, BH,将寄存器CL和BH相加,和送到CL寄存器。该指令由两个字节构成:02CFH。02CFH=00000010 11001111:其中 000000=ADD 1=目标为寄存器0=字节运算 11=寄存器方式 001=CL111=BH。第 33 页计算机硬件技术基础2.4.1 指令系统简介 5. 指令类型 CPU的指令按功能可以分成:传送类指令寄存器、存储器之间的数据传送。运算类指令、逻辑、位移等。程控类指令转移、循环

32、、子程序等I/O类指令和外部设备的数据交换。处理器控制指令 第 34 页计算机硬件技术基础2.4.2 指令的寻址方式 寻址方式获得操作数的方式每种CPU的指令系统都有自己的一套寻址方式与数据有关的寻址方式:寻找操作数的地址与转移地址有关的寻址方式:寻找指令的转移地址80X86系列微处理器与数据有关的寻址方式:立即数寻址数据在指令中寄存器寻址数据在CPU寄存器中存储器寻址数据在存储器中 直接寻址 寄存器间接寻址例如 基址变址寻址MOV AX, 123 寄存器相对寻址ADD BL, 1000 相对基址变址寻址MOV CX, SI 比例变址寻址。第 35 页计算机硬件技术基础 立即数寻址操作数在指令

33、中立即数。 如加法指令中12D就是立即数。ADD AX,12D (将寄存器AX加12)立即数用后缀字母说明数制,二进制后缀B,十进制后缀D,十六进制后缀H。无后缀时默认为十进制。数字开头,立即数可能是8位、16位、32位立即数。2. 寄存器寻址操作数在通用寄存器中寄存器数。8位寄存器: AH、AL、BH、BL、CH、CL、DH、DL。16位寄存器: AX、BX、CX、DX、SI、DI、BP、SP。32位寄存器: EAX、EBX、ECX、EDX、ESI、EDI、EBP、ESP。2.4.2 指令的寻址方式第 36 页计算机硬件技术基础3. 存储器寻址 存储器寻址存储器的定位方式Intel 8086

34、、80286 CPU有5种存储器寻址方式,Intel 32位CPU增加第6种寻址方式。+偏移地址DS存储器操作数2.4.2 指令的寻址方式 直接寻址:直接给出有效地址(偏移量)格式为:偏移地址第 37 页计算机硬件技术基础如指令:MOV AX, 2345H操作数 2345H为立即寻址,指令功能:(DS:2345H) (AX) 或(DS:2345H) (AL) (DS:2346H) (AH)如(DS) = 1200H (14345H) (AL) (14346H) (AH) 段地址DS偏移地址2345H代码段数据段AX寄存器段地址CS第 38 页计算机硬件技术基础其他的存储器寻址存储器寻址通式 8

35、086,80286使用16位寻址方式,从80386开始扩充32位寻址方式。 16位寻址方式通式:基址寄存器+变址寄存器+常量基址寄存器BX, BP变址寄存器SI, DI常量8位/16位常数16位寻址方式名称 常量 直接寻址 基址/变址寄存器 寄存器间接寻址 基址/变址寄存器 + 常量 寄存器相对寻址 基址寄存器 + 变址寄存器 基址变址寻址 基址寄存器 + 变址寄存器 + 常量 相对基址变址寻址2.4.2 指令的寻址方式第 39 页计算机硬件技术基础 32位寻址方式通式:基址寄存器+变址寄存器X比例因子+常量基址寄存器 任一32位通用寄存器变址寄存器 ESP之外的32位通用寄存器比例因子 1

36、/ 2 / 4 / 8常量 8位/32位常数32位寻址方式及其名称: 比例=1:基址寄存器+变址寄存器+常量 功能和名称同16位寻址 变址寄存器X比例 比例变址寻址 基址寄存器+变址寄存器X比例 基址比例变址寻址 基址寄存器+变址寄存器X比例+常量 相对基址比例变址寻址2.4.2 指令的寻址方式第 40 页计算机硬件技术基础2.4.2 指令的寻址方式操作数的类型和关系操作数立即数寄存器数存储器数相对基址变址寻址基址寄存器+变址寄存器+常量相对基址比例变址寻址基址寄存器+变址寄存器X比例+常量基址变址寻址基址寄存器+变址寄存器寄存器相对寻址基址/变址寄存器+常量寄存器间接寻址基址/变址寄存器直接

37、寻址常量基址比例变址寻址基址寄存器+变址寄存器X比例比例变址寻址变址寄存器X比例第 41 页计算机硬件技术基础汇编语句包括2类:指令语句:每一条指令语句对应一条CPU机器指令,产生相应的CPU动作。伪指令语句:不对应CPU机器指令,用于设定段结构、数据结构等。关于指令: 有操作码和操作数2部分; 不同的指令的编码长度(字节数)不同; 不同的指令的执行时间不同; 大多数指令的数据宽度取决于操作数。2.4.3 x86指令系统举例第 42 页计算机硬件技术基础1. 数据传送指令 MOV 传送指令指令格式:MOV dest, src功能:dest src例如MOV AX, 1MOV CL, 1200M

38、OV 1000H, 23寄存器reg存储器mem段寄存器sreg立即数data合法的传送方向2.4.3 x86指令系统举例MOVReg:寄存器 sreg:段寄存器 mem:存储器 imm:立即数第 43 页计算机硬件技术基础 加减运算ADD dest, src(dest)(dest)+(src)二进制加ADC dest, src(dest)(dest)+(src)+(CF)二进制带进位加SUB dest, src(dest)(dest)-(src)二进制减SBB dest, src (dest)(dest)-(src)-(CF) 二进制带借位减2.4.3 x86指令系统举例加减指令如:(des

39、t)=10001001B, (src)=11100000B,作加、减运算dest src 和(ADD) 差(SUB) 10001001 11100000 01101001 10101001 第 44 页计算机硬件技术基础 MUL 无符号乘MUL r8/m8(AL)(r8/m8)(AX)无符号字节乘MUL r16/m16(AX)(r16/m16)(DX.AX)无符号字乘 DIV 无符号除DIV r8/m8(AX)(r8/m8)商(AL),余数(AH)无符号字节除DIV r16/m16 (DX.AX)(r16/m16)商(AX),余数(DX)无符号字除例如:计算121056 , 5432123MO

40、V AX, 1210; 1210=04BAHMOV BX, 56; 56=38HMUL BX; 积=67760-(DX.AX) DX=1, AX=08B0MOV AX, 5432; 5432=1538HMOV BL, 123; 123=7BHDIV BL; 商=44-AL, 余数=20-AH可以通过debug验证2.4.3 x86指令系统举例乘除指令第 45 页计算机硬件技术基础 逻辑指令NOT reg/mem(reg/mem) (reg/mem) 逻辑非AND dest, src(dest) (dest)(src) 逻辑与OR dest, src(dest) (dest)(src) 逻辑或XOR dest, src(dest) (dest) (src) 逻辑异或+2.4.3 x86指令系统举例逻辑指令和位移指令 逻辑位移SHL reg/mem, 1/CLSHR re

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论