汇编语言程序设计第二章80X86计算机组织.ppt
《汇编语言程序设计第二章80X86计算机组织.ppt》由会员分享,可在线阅读,更多相关《汇编语言程序设计第二章80X86计算机组织.ppt(106页珍藏版)》请在三一办公上搜索。
1、第二章 80X86计算机组织,河南师范大学计算机与信息技术学院,2,2023/3/7,本章内容提要,河南师范大学计算机与信息技术学院,3,2023/3/7,2.1 80X86微处理器,几个名词术语:,晶体管数:是指芯片中所包含的晶体管数,它说明器件的集成度。,主频:是指芯片所用的主时钟频率,它直接影响计算机的运行速度,是反映计算机速度的一个重要指标。,数据总线宽度:数据总线负责计算机中数据在各组成部分之间的传送,数据总线宽度是指在芯片内部数据传送的宽度。,河南师范大学计算机与信息技术学院,4,2023/3/7,2.1 80X86微处理器,几个名词术语:,外部数据总线宽度:是指芯片内和芯片外交换
2、数据的宽度。,地址总线宽度:是指专用于传送地址的总线宽度,根据这一数值可确定处理机可以访问的存储器的最大范围(寻址空间)。如8086CPU有20位地址总线,可访问220个存储单元,即1MB空间;80286CPU有24位地址总线,可访问224个存储单元,即16MB空间。80386CPU有32位地址总线,可访问232个存储单元,即4GB空间。,河南师范大学计算机与信息技术学院,5,2023/3/7,2.1 80X86微处理器,层次结构的存储器组织,目的:为了使存储器匹配处理器的速度。,层次结构组成:,高速缓冲存储器cache:比主存速度更高,但容量小。主存储器:为中间层。外存储器:比主存速度慢,但
3、容量大。,河南师范大学计算机与信息技术学院,6,2023/3/7,2.1 80X86微处理器,为提高计算机的可用性而开发的一些措施:,提高计算机的工作速度是微处理器芯片发展的核心问题。,从80486起,芯片中集成了协处理器,提高了浮点处理速度;,字长的增加提高了计算机运算的精度。,从80286开始,除了8086提供的实模式外,增加了保护模式的工作方式。实现了虚拟存储(使计算机可以运行程序空间大于主存空间的用户程序)和多任务管理(允许多个用户可以同时在机器上工作)。,从80386开始,又增加了虚拟86的工作模式。在此模式下,一台机器可同时模拟多个8086处理器的工作。,河南师范大学计算机与信息技
4、术学院,7,2023/3/7,2.2 基于微处理器的计算机系统构成,河南师范大学计算机与信息技术学院,8,2023/3/7,2.2.1 硬件,计算机的硬件分为五大组成部分:运算器、控制器、存储器、输入设备和输出设备。(如图所示),运算器和控制器是计算机的核心,合成中央处理单元CPU(Central Processing Unit)或处理机、处理器(Processor)。,输入设备和输出设备往往通称为外部设备(Peripheral),简称外设或I/O设备。,在微型计算机中,CPU由一个大规模集成电路芯片构成,被称为微处理器(Microprocessor)。,河南师范大学计算机与信息技术学院,9,
5、2023/3/7,2.2.1 硬件,运算器执行所有的算术和逻辑运算。,中央处理单元,控制器负责把指令逐条从存储器中取出,经译码分析后向机器发出各种控制命令。,CPU内部还有一些高速存储单元,称为寄存器(Register)。它们为处理单元提供各种操作所需的数据。,河南师范大学计算机与信息技术学院,10,2023/3/7,2.2.1 硬件,存储器是计算机的记忆部件。,存储器,它用来存放程序以及程序中所涉及的数据。,按所在位置,存储器可以分为主存储器(主存、内存)和辅助存储器(辅存、外存)。(二者区别),按读写能力,存储器可以分为随机存储器RAM(读写存储器)和只读存储器ROM。(二者区别),存储器
6、地址(Address)、存储器容量。,主存与寄存器的区别。,河南师范大学计算机与信息技术学院,11,2023/3/7,2.2.1 硬件,外部设备是实现人机交互和机间通信的一些机电设备。,外部设备,输入设备用来接受用户输入的原始数据和程序,并将它们转化为计算机可识别的形式存放到内存中。常用的输入设备有键盘、鼠标等。,输出设备用来将存放在内存中由计算机处理的结果转变为人们所能接受的形式。常用的输出设备有显示器、打印机等。,每个外设必须通过输入输出接口电路(I/O接口)与系统连接。,河南师范大学计算机与信息技术学院,12,2023/3/7,2.2.1 硬件,数据寄存器:用来存放要在外设和主机间传送的
7、数据,实际起了缓冲器的作用。,外部设备,状态寄存器:用来保存外设或接口的状态信息,以便CPU在必要时检测外设的状态,了解外设的工作情况。,命令寄存器:又称控制寄存器,CPU给外设或接口的控制命令通过此寄存器送给外设。,程序员所见的I/O接口由一组寄存器组成。一般说来,这些寄存器有三种不同的用途:,河南师范大学计算机与信息技术学院,13,2023/3/7,2.2.1 硬件,各种外部设备都有以上三种类型的寄存器,只是每个接口所配备的寄存器数量是根据设备的需要确定的。,外部设备,为了区别这些寄存器,各个寄存器进行了编号,形成I/O地址,通常被称作I/O端口(Port)。这样就组成了一个独立于内存储器
8、的I/O地址空间。,实际上,系统就是通过这些端口与外设进行通信的。,河南师范大学计算机与信息技术学院,14,2023/3/7,2.2.1 硬件,系统总线把CPU、存储器和I/O设备连接起来,用来传送各部分之间的信息。,系统总线包括数据线、地址线和控制线三组。,数据线:双向的,用来传送信息。,地址线:单向的,用来指出信息的来源和目的地。,控制线:双向的,用来规定总线的动作,如方向等。,系统总线的工作由总线控制逻辑负责指挥。,河南师范大学计算机与信息技术学院,15,2023/3/7,2.2.2 软件,一个完整的计算机系统分为硬件和软件两大部分。,硬件(Hardware)是计算机系统的机器部分,是计
9、算机工作的物质基础。,软件(Software)是为了运行、管理和维护计算机而编制的各种程序的总和,广义的软件还应该包括与程序有关的文档。,软件可以分为系统软件和应用软件。,见图2.2 计算机软件层次图。,河南师范大学计算机与信息技术学院,16,2023/3/7,2.2.2 软件,系统软件是指为了方便使用、维护和管理计算机系统而编制的一类软件及其文档。,操作系统(operating system)是系统软件的核心。,操作系统是系统程序的集合。它负责管理系统的软硬件资源,向用户提供方便、有效和可靠的工作环境。,操作系统的主要部分是常驻内存监督程序(monitor),只要一开机它就存在于内存中,它可
10、以从用户接收命令,并使操作系统执行相应的动作。,河南师范大学计算机与信息技术学院,17,2023/3/7,2.2.2 软件,I/O驱动程序(I/O driver)用来对I/O设备进行控制或管理。,文件管理程序(file management)用来处理存储在外存中的大量信息,对其中的信息以文件(file)的形式进行存取、复制及其他操作。,文本编辑程序(text editor)用来建立、输入或修改文本,并使它存入内存或大容量存储器中。,翻译程序(translator):系统程序中的翻译程序包括汇编程序、解释程序和编译程序。,河南师范大学计算机与信息技术学院,18,2023/3/7,2.2.2 软件
11、,连接程序(linker)用来把要执行的程序与库文件或其他已经翻译好的子程序(能完成独立功能的程序模块)连接在一起,形成机器能执行的程序。,装入程序(loader)用来把程序从外存传送到内存,以便机器执行。,调试程序(debug)是系统提供给用户的能监督和控制用户程序的一种工具。,系统程序库(syster library)和用户程序库(user library),各种标准程序、子程序和一些文件的集合称为程序库,它可以被系统程序或用户程序调用。,河南师范大学计算机与信息技术学院,19,2023/3/7,2.2.2 软件,应用软件是解决某一问题的程序及其文档。,河南师范大学计算机与信息技术学院,2
12、0,2023/3/7,进行汇编语言程序设计所需要的软件,DOS平台,Windows的虚拟MS-DOS环境,文本编辑器:用来录入、修改源程序。常用的有:,DOS的EDIT全屏幕编辑器;,河南师范大学计算机与信息技术学院,21,2023/3/7,进行汇编语言程序设计所需要的软件,Windows的Notepad计事本;,程序开发系统中的程序编辑器,例如你熟悉的Turbo C编辑器;,MASM集成开发环境PWB的编辑器。,汇编程序:将汇编源程序翻译成目标程序。微机的汇编程序有多种版本,如MASM、TASM等。本书采用微软的MASM 6.X。,河南师范大学计算机与信息技术学院,22,2023/3/7,进
13、行汇编语言程序设计所需要的软件,应用软件,连接程序LINK.EXE:将目标程序转换成可执行程序。,调试程序:进行程序排错。常用的有:,DOS的DEBUG程序;(建议使用),MASM的Code View;,Turbo Debugger等。,河南师范大学计算机与信息技术学院,23,2023/3/7,进行汇编语言程序设计所需要的软件,应用软件,集编辑、汇编、连接和调试为一体的综合开发环境。如MASM的程序员平台PWB。,河南师范大学计算机与信息技术学院,24,2023/3/7,2.3 中央处理机,河南师范大学计算机与信息技术学院,25,2023/3/7,2.3.1 中央处理机CPU的组成,河南师范大
14、学计算机与信息技术学院,26,2023/3/7,2.3.1 中央处理机CPU的组成,总线接口单元BIU(Bus Interface Unit):管理着8086与外部总线的接口,负责CPU对存储器和外设进行访问。,执行单元EU(Execution Unit):负责指令的译码、执行和数据的运算。,完成一条指令的功能可以分成两个主要阶段:取指和执行。,取指是从主存中取出指令代码进入CPU。BIU负责从存储器中取出指令代码,送入指令队列。,执行是将指令翻译成它代表的功能(被称为译码),并发出有关控制信号实现这个功能。指令执行过程中需要的操作数有些来自CPU内部的寄存器,有些来自指令队列,还有些来自存储
15、器和外设(此时,EU控制总线接口单元BIU从外部获取)。,河南师范大学计算机与信息技术学院,27,2023/3/7,2.3.2 80X86寄存器组,河南师范大学计算机与信息技术学院,28,2023/3/7,2.3.2 80X86寄存器组,寄存器分为:,程序可见的寄存器:在汇编语言程序设计中用到的寄存器,它们可以由指令来指定。,程序不可见的寄存器:一般应用程序中不用而由系统所用的寄存器。,程序可见的寄存器分为通用寄存器、专用寄存器和段寄存器三类。,如图2.3所示。,河南师范大学计算机与信息技术学院,29,2023/3/7,2.3.2 80X86寄存器组,AXBXCXDX,EAXEBXECXEDX
16、ESPEBPEDIESI,EIPEFLAGS,32位名称,16位名称,名称累加器基址变址计数数据堆栈指针基址指针目的变址源变址指令指针标志代码数据附加堆栈,对于8086、8088或80286,阴影区域是不可用的。FS和GS寄存器无专用名称。,河南师范大学计算机与信息技术学院,30,2023/3/7,1.通用寄存器,8086/8088、80286所具有的寄存器,图中阴影部分除外的寄存器,它们都是16位寄存器。,数据寄存器:包括AX、BX、CX、DX,用来暂时存放计算过程中所用到的操作数、结果或其他信息。它们都可以分成高8位和低8位两个独立的寄存器;即它们既可以以字(16位)形式访问,又可以以字节
17、(8位)形式访问。,河南师范大学计算机与信息技术学院,31,2023/3/7,1.通用寄存器,8086/8088、80286所具有的寄存器,AX(accumulator)称为累加器,用于算数、逻辑运算以及与外设传送信息(IN/OUT指令中)等。BX(base)称为基址寄存器,常用做存放存储器地址。CX(count)称为计数器,常用来保存计数值,作为循环和串操作等指令中的隐含计数器。DX(data)称为数据寄存器,常用来存放双字长数据的高16位,或存放外设端口地址。,河南师范大学计算机与信息技术学院,32,2023/3/7,1.通用寄存器,8086/8088、80286所具有的寄存器,指针及变址
18、寄存器 包括SI(source index)、DI(destination index)、BP(base pointer)、SP(stack pointer)四个16位寄存器,常用于存储器寻址时提供地址。,河南师范大学计算机与信息技术学院,33,2023/3/7,1.通用寄存器,8086/8088、80286所具有的寄存器,SI是源变址寄存器,DI是目的变址寄存器;,一般与DS联用,用来确定数据段中某一存储单元的地址;,在串指令中,SI与DS联用、DI与ES联用,分别寻址数据段和附加段;,在串指令中,SI与DI还具有自动增量或减量的功能。,河南师范大学计算机与信息技术学院,34,2023/3/
19、7,1.通用寄存器,8086/8088、80286所具有的寄存器,SP为堆栈指针寄存器,BP为基址指针寄存器;,二者均可以与SS联用来确定堆栈段中的某一存储单元的地址;,SP用来指示栈顶的偏移地址,BP表示堆栈段中的基地址。,堆栈(stack)是主存中一个特殊的区域,采用先进后出FILO(first in last out)或后进先出LIFO(last in first out)的操作方式。,河南师范大学计算机与信息技术学院,35,2023/3/7,1.通用寄存器,它们都是32位寄存器,包括EAX、EBX、ECX、EDX、EBP、EDI、ESI。,这8个寄存器可以以双字(16位)的形式或对其低
20、16位以字的形式被访问。,EAX、EBX、ECX和EDX的低16位还可以以字节的形式被访问。,在80386及其后继机型中,所有32位通用寄存器既可以存放数据,也可以存放地址。,这8个通用寄存器的专用特性与8086/8088和80286的AX、BX、CX、DX、SP、BP、DI、SI是一一对应的。,80386及其后继机型所具有的寄存器,河南师范大学计算机与信息技术学院,36,2023/3/7,2.专用寄存器,包括IP、SP、FLAGS三个16位寄存器。,IP(instruction pointer)指令指针寄存器,它用来指示代码段中指令的偏移地址,它与代码段寄存器CS联用,以确定下一条指令的物理
21、地址;,处理器利用CS:IP取得下一条要执行的指令,然后修改IP内容,使之指向下一条指令的存储器地址;,计算机就是通过CS:IP寄存器来控制指令序列的执行流程的。,8086/8088、80286所具有的寄存器,河南师范大学计算机与信息技术学院,37,2023/3/7,2.专用寄存器,SP堆栈指针寄存器,它与SS联用用来确定堆栈段中栈顶的地址,即SP用来存放栈顶的偏移地址。,FLAGS标志寄存器:如图2.4所示。,又称程序状态寄存器(program status word,PSW);,用来存放条件码标志、控制标志和系统标志。,8086/8088、80286所具有的寄存器,河南师范大学计算机与信息
22、技术学院,38,2023/3/7,2.专用寄存器,包括三个32位专用寄存器,分别是EIP、ESP、EFLAGS;它们的作用和相应16位寄存器相同。,80386及其后继机型所具有的寄存器,河南师范大学计算机与信息技术学院,39,2023/3/7,图2.4 80X86的标志寄存器,8086/8088,80286,80386,80486,Pentium,河南师范大学计算机与信息技术学院,40,2023/3/7,80X86的标志寄存器,用来记录程序中运行结果的状态信息,它们是根据有关指令的运行结果由CPU自动设置的。,这些状态信息往往作为后续条件转移指令的转移控制条件,所以称为条件码。它包括OF、SF
23、、ZF、AF、PF和CF。,条件码标志(状态标志),河南师范大学计算机与信息技术学院,41,2023/3/7,80X86的标志寄存器,该标志用于串操作指令中,控制地址的变化方向。,当DF=1时,每次串操作后使变址寄存器SI和DI的值自动减少,即串操作从高地址向低地址方向进行。当DF=0时,每次串操作后使变址寄存器SI和DI的值自动增加,即串操作从低地址向高地址方向进行。,控制标志方向标志DF(Direction FLag),方向标志可以用CLD指令复位(DF=0),STD指令置位(DF=1)。,河南师范大学计算机与信息技术学院,42,2023/3/7,80X86的标志寄存器,可以用于I/0、可
24、屏蔽中断、程序调试、任务切换和系统工作方式等的控制。,下面简单介绍某些位的情况。,系统标志位,陷阱标志TF,中断标志IF,I/O特权级IOPL,河南师范大学计算机与信息技术学院,43,2023/3/7,陷阱标志TF(Trap Flag),也常称为单步标志。,用于控制处理器是否进入单步操作方式。,当TF=1时,处理器单步执行指令,每条指令执行完后产生编号为1的中断,由系统控制计算机;,当TF=0时,处理器正常工作。,河南师范大学计算机与信息技术学院,44,2023/3/7,中断标志IF(Interrupt Flag),该标志用于控制外部可屏蔽中断是否可以被处理器响应。,当IF=1时,允许CPU响
25、应可屏蔽中断请求;,当IF=0时,则禁止中断。,河南师范大学计算机与信息技术学院,45,2023/3/7,I/O特权级IOPL(I/O Privilege Level),在保护模式下,用于控制I/O地址空间的访问。(有关内容见第8章。),OF表示的是有符号数运算结果是否超出了范围;即对于N位二进制有符号数来说,如果运算结果超出了-2N-1 2N-1-1这个范围,则认为产生了溢出。运算结果已经不正确。,在调试程序DEBUG中提供了测试标志位的手段,它用符号表示某些标志位的值。(见表2.2),河南师范大学计算机与信息技术学院,46,2023/3/7,表2.2 标志位的符号表示,河南师范大学计算机与
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 程序设计 第二 80 X86 计算机 组织
链接地址:https://www.31ppt.com/p-2999051.html