1、本章内容提要本章内容提要:l微型计算机系统的基本术语微型计算机系统的基本术语l微型计算机系统的发展与分类微型计算机系统的发展与分类l微型计算机的系统组成微型计算机的系统组成 第一章第一章 微型计算机概论微型计算机概论1.1微型计算机系统的基本术语微型计算机系统的基本术语 1.1.微处理器微处理器微处理器微处理器 2.2.微型计算机微型计算机微型计算机微型计算机微处理器MPU(microprocessor)也常称为微处理机,它并不是微型计算机,它是微型计算机的核心部件。微处理器包括算术逻辑部件ALU(arithmeticlogicunit)、控制部件CU(controlunit)和寄存器组R(r
2、egisters)3个基本部分和内部总线。微型计算机MC(microcomputer)是以微处理器为核心,由大规模集成电路制作的存储器M、I/O(输入输出)接口和系统总线组成。1.1 1.1 微型计算机系统的基本术语微型计算机系统的基本术语微型计算机系统的基本术语微型计算机系统的基本术语 3.3.微型计算机系统微型计算机系统微型计算机系统微型计算机系统 4.4.接口接口接口接口微型计算机系统(microcomputersystem)是以微型计算机为核心,再配以相应的外围设备、电源、辅助电路和控制微型计算机工作的软件而构成的完整的计算系统。接口(interface)是微处理器与I/O的连接电路,
3、是CPU与外界进行信息交换的中转站。1.2 微型计算机系统的发展与分类微型计算机系统的发展与分类 1.2.1 1.2.1微型计算机系统的发展微型计算机系统的发展微型计算机系统的发展微型计算机系统的发展 1.2.2 1.2.2微型计算机的分类微型计算机的分类微型计算机的分类微型计算机的分类1.2.1 1.2.1 微型计算机系统的发展微型计算机系统的发展微型计算机系统的发展微型计算机系统的发展 年代年代 CPU(中央处理器中央处理器)1971197219711972Intel 4004/8008Intel 4004/80081973197719731977Intel 8080Intel 80801
4、978198019781980Intel 8086/8088Intel 8086/80881981198919811989Intel 80286/80386Intel 80286/8038619901990至今至今至今至今Intel 80386/80486Intel 80386/80486Pentium 586Pentium 586Pentium Pentium Pentium Pentium Pentium Pentium 19711971年年年年第第第第1 1台微型计算机诞生台微型计算机诞生台微型计算机诞生台微型计算机诞生微型计算机的发展微型计算机的发展老式电脑老式电脑老式电脑老式电脑IB
5、M-PCIBM-PC586586电脑电脑电脑电脑PentiumPentium多媒体电脑多媒体电脑多媒体电脑多媒体电脑笔记本电脑笔记本电脑笔记本电脑笔记本电脑掌上电脑掌上电脑掌上电脑掌上电脑等离子交互电脑显示等离子交互电脑显示等离子交互电脑显示等离子交互电脑显示1.2.2 1.2.2 微机计算机的分类微机计算机的分类微机计算机的分类微机计算机的分类 按微型计算机组成分类按微型计算机组成分类按微型计算机组成分类按微型计算机组成分类 (1)多板机多板机:微型计算机各组成部分装配在多个印刷电微型计算机各组成部分装配在多个印刷电 路路板上的微型计算机板上的微型计算机 应用:如应用:如PC 机(台式、便携
6、式、手持式)机(台式、便携式、手持式)(2)个人微机个人微机(PC机机):微型计算机各组成部分装配在一个微型计算机各组成部分装配在一个印刷电路板上的微型计算机印刷电路板上的微型计算机 应用:用于教学、实验等应用:用于教学、实验等(3)单片机单片机:微型计算机的各组成部分集成在一个超大规微型计算机的各组成部分集成在一个超大规模芯片上,称之为单片微型计算机,简称单片机。模芯片上,称之为单片微型计算机,简称单片机。应用:广泛用于测控系统、仪器仪表、工业控制、通信设应用:广泛用于测控系统、仪器仪表、工业控制、通信设备、家用电器等。因单片机广泛用于嵌入式系统,亦被称备、家用电器等。因单片机广泛用于嵌入式
7、系统,亦被称为微控制器(为微控制器(microcontroller)。)。1.2.2 1.2.2 微机计算机的分类微机计算机的分类微机计算机的分类微机计算机的分类 按微型计算机组成分类按微型计算机组成分类按微型计算机组成分类按微型计算机组成分类 (4)位片机位片机:微型计算机的各组成部分以微型计算机的各组成部分以MC=MPU(ALU+R+CU)+M+I/O接口的形式,配套接口的形式,配套积木式组装,字长、指令系统灵活、可变、易扩展。积木式组装,字长、指令系统灵活、可变、易扩展。应用:广泛用于高速实时专用系统,如自控系统、武应用:广泛用于高速实时专用系统,如自控系统、武器系统、语音系统、高速外设
8、等。位片机用多个位片器系统、语音系统、高速外设等。位片机用多个位片组成任意字长的处理器。组成任意字长的处理器。1.2.2 1.2.2 微机计算机的分类微机计算机的分类微机计算机的分类微机计算机的分类 按内部存储器的组成分类按内部存储器的组成分类按内部存储器的组成分类按内部存储器的组成分类 (1)普林斯顿机普林斯顿机:程序和数据存于同一内存系统中,如通程序和数据存于同一内存系统中,如通用微型计算机。用微型计算机。(2)哈佛机哈佛机:程序和数据分存于严格区分的两个内存系统程序和数据分存于严格区分的两个内存系统中,如单片机,中,如单片机,DSP等。等。1.2.2 1.2.2 微机计算机的分类微机计算
9、机的分类微机计算机的分类微机计算机的分类 按用途分类按用途分类按用途分类按用途分类 (1)个人计算机(个人计算机(PC):通用微型机,体积小、价格低):通用微型机,体积小、价格低廉,主要为每次一人使用,用户界面廉,主要为每次一人使用,用户界面“友好友好”。又可分为。又可分为台式、便携式、手持式。台式、便携式、手持式。(2)工作站(工作站(workstation):这里的工作站是指,具有):这里的工作站是指,具有完整的人机交互界面,集高性能的计算和图形于一身,可完整的人机交互界面,集高性能的计算和图形于一身,可配置大容量的内存和硬盘,配置大容量的内存和硬盘,I/O和网络功能完善,使用多和网络功能
10、完善,使用多任务、多用户操作系统的小型通用个人化的计算机系统。任务、多用户操作系统的小型通用个人化的计算机系统。1.3 微型计算机的系统组成微型计算机的系统组成 1.3.1 1.3.1微型计算机系统构成微型计算机系统构成微型计算机系统构成微型计算机系统构成 1.3.2 1.3.2IBM PC/XTIBM PC/XT微机系统微机系统微机系统微机系统1.3.1 1.3.1 微型计算机的系统组成微型计算机的系统组成微型计算机的系统组成微型计算机的系统组成微型计算机系统是由硬件和软件两部分组成1.3.1 1.3.1 微机计算机系统构成微机计算机系统构成微机计算机系统构成微机计算机系统构成 微型计算机硬
11、件微型计算机硬件微型计算机硬件微型计算机硬件(1)主机微处理器(CPU)。微处理器包括运算器、控制器和寄存器几个部分。运算器可以完成算术运算和逻辑运算。控制器由指令寄存器、指令译码器和一些时序控制电路组成。控制器根据指令的要求,对CPU内部和外部发出相应的控制信息,使微型机各部件协调地工作,完成指令要求的操作。CPU内部的寄存器用于存放运算过程中的数据。存储器(memory)。存储器是微机的存储和记忆部件,用以存放程序代码和运算需要的数据。内存通常使用半导体存储器。输入/输出接口(I/Ointerface)。CPU要与很多外部设备进行数据传送,必须通过输入/输出接口,所以输入/输出接口是CPU
12、与外设之间的桥梁,这个接口也叫I/O适配器。1.3.1 1.3.1 微机计算机系统构成微机计算机系统构成微机计算机系统构成微机计算机系统构成 微型计算机硬件微型计算机硬件微型计算机硬件微型计算机硬件(2)外部设备外部设备主要指输入设备和输出设备。常用的输入设备有键盘、鼠标、扫描仪、模数转换器;常用的输出设备有:显示器、打印机、绘图仪、数模转换器。磁盘、磁带既是输入设备,又是输出设备,而多数光盘是只读的,只能做输入设备。(3)总线微型计算机主要是由微处理器、存储器、I/O接口和I/O设备所组成的,这些部件使用系统总线连接起来。系统总线就是一组传送信息的公共导线,分为3组,即地址总线AB(addr
13、essbus)、数据总线DB(databus)、控制总线CB(controlbus)。AB传送CPU发出的地址信息,是单向总线。DB在CPU与内存(I/O接口)之间传送数据,是双向总线。而控制总线CB是每一根起一种固定的作用。1.3.1 1.3.1 微机计算机系统构成微机计算机系统构成微机计算机系统构成微机计算机系统构成微型计算机的结构1.3.1 1.3.1 微机计算机系统构成微机计算机系统构成微机计算机系统构成微机计算机系统构成 微型计算机软件微型计算机软件微型计算机软件微型计算机软件微型计算机的软件是为完成运行、管理和测试维护等功能而编制的各种程序的总和。计算机软件分为系统软件和应用软件。
14、系统软件包括操作系统(如DOS及Windows、UNIX、Linux等)和系统应用。系统应用包括各种语言的汇编、编译程序、自诊断程序、文字处理程序、各种工具软件、数据库管理程序等。应用软件包括用户为解决各种工程实际应用而编写的程序,例如数控机床的插补程序、控制系统的控制程序等。1.3.2 IBM PC/XT1.3.2 IBM PC/XT微机系统微机系统微机系统微机系统1.IBMPC/XT的配置以8088为CPU的PC/XT机由主机和外部设备组成,主机采用大底板结构,放置在机箱底部。(1)系统板系统板也叫主板,分为5大部分。CPU及其外围配套芯片、ROM、RAM、I/O接口、I/O扩展槽。(2)
15、ROMPC/XT机只读存储器ROM的容量为64KB,其中有32KB固化了BASIC解释程序,8KB的基本输入/输出系统BIOS。BIOS是一组管理程序,它包括加电自检程序、DOS引导程序、日历钟管理程序、基本外设如键盘、CRT显示器、打印机等驱动程序等。1.3.2 IBM PC/XT1.3.2 IBM PC/XT微机系统微机系统微机系统微机系统(3)RAM原装PC机的随机存储器芯片共4列,每列9片,共36片,组成带奇偶校验的64KB内存。而后期的兼容机,由于存储器集成度的大大提高,系统板上内存容量为640KB。586机型,内存的配置高达32128MB,采用内存条。(4)I/O接口电路及总线部分
16、系统板上还有音频盒式磁带机、键盘接口、扬声器接口电路,磁带机接口已经很少使用。IBMPC/XT的主机板上有8个扩展槽,用于插入不同功能的插件板,以连接各种外设,如外设适配器。IBMPC/XT为62芯总线。它与I/O槽的62线相连,62芯总线包括8位数据线(双向),20位地址线,IRQ2IRQ7中断请求线,3位DMA控制线,4位电源线,3位地线以及存储器和外设读写线,时钟信号线等。1.3.2 IBM PC/XT1.3.2 IBM PC/XT微机系统微机系统微机系统微机系统2.IBM-PC/XT和外设的连接配置一个基本系统,一般还需要一个I/O插槽放置多功能卡,它有软盘驱动适配器和硬盘驱动适配器、
17、打印机适配器、串口等,还有一个扩展槽插入彩色显示适配器,还可用扩展槽插入其他外设接口。IBMPC/XT和外设的连接如图所示。1.3.2 1.3.2 IBM PC/XTIBM PC/XT微机系统微机系统微机系统微机系统本章内容提要本章内容提要:l微型计算机的组成及工作原理微型计算机的组成及工作原理l8086微处理器的功能结构微处理器的功能结构l8086/8088寄存器结构寄存器结构l8086存储器存储器l8086的引脚信号和工作模式的引脚信号和工作模式l微处理器总线时序微处理器总线时序l80 x86系列微处理器系列微处理器 第二章第二章 微型计算机系统中的微处理器微型计算机系统中的微处理器 2.
18、1 微型计算机的组成及工作原理微型计算机的组成及工作原理 2.1.1 2.1.1微型计算机基本结构微型计算机基本结构微型计算机基本结构微型计算机基本结构到目前为止,大多数微型计算机的结构归属于冯诺依曼结构,主要包括运算器、控制器、存储器、I/O设备及其接口电路,如图2.1所示。运算器和控制器合称为中央处理器CPU。2.1.12.1.1微型计算机基本结构微型计算机基本结构微型计算机基本结构微型计算机基本结构 2.1.2 2.1.2 微处理器微处理器微处理器微处理器CPUCPU微处理器简称CPU,是用来实现运算和控制功能的部件,是整个微型计算机的核心,由运算器、控制器和寄存器组3部分组成。CPU一
19、般具有以下基本功能:1)指明将要执行指令所在存储单元的地址,取出指令并进行译码。2)执行算术运算和逻辑运算,暂存少量数据。3)传送数据,包括在CPU内部传送数据以及与外界交换数据。4)对各部件进行控制,包括对CPU内部的控制和对CPU以外部件的控制。5)响应其他部件发出的中断请求和总线请求等。2.1.3 2.1.3总线总线总线总线微型计算机系统采用总线结构,将5大部件连接起来。各部件之间传送信息的公共通道,称为总线(BUS)。在总线上流动的信息大致可分为两类:一类是数据和程序,数据包括程序运行所需的原始数据和程序运行的结果以及这些数据的地址信息;另一类是控制器向各部件发出的控制命令以及各部件发
20、给控制器的状态信息。微机系统利用3组总线,即数据总线DB、地址总线AB和控制总线CB分别传送指令及指令执行过程中相关的数据、地址信息和控制信息。2.1.3 2.1.3 总线总线总线总线(1)数据总线数据总线是在CPU、存储器或I/O端口等部件之间传递数据的通道,每次传送一个“计算机字长”,其宽度(根数)通常与计算机的字长一致。数据总线的传输是双向的。(2)地址总线地址总线是寻找、传送存储单元或I/O端口的地址信息的总线。地址总线是由CPU输出给存储器或I/O端口。地址总线数决定了CPU当前可直接寻址空间的大小。(3)控制总线CPU控制器发往各部件的控制信号线以及各部件发给CPU的状态信号线构成
21、了“控制总线”,控制线总体上是“双向”的,但就控制总线中某一根来说,在一种确定状态下,只能表示一种信息,其传输是单向的。2.1.4 2.1.4 存储器存储器存储器存储器存储器是指微型计算机的内存储器(人们常说内存条),它通常由CPU之外的半导体存储器芯片组成,用来存放程序、原始操作数,中间结果和最终结果数据。2.1.5 2.1.5 输入输入输入输入/输出设备及其接口电路输出设备及其接口电路输出设备及其接口电路输出设备及其接口电路 输入/输出设备统称为外部设备(简称外设),是微型计算机的重要组成部分。与微型计算机相连接的各种设备统称外部设备。例如,键盘、打印机、显示器、磁带机、磁盘等。另外,在微
22、型计算机的工程应用中,所使用的各种开关、继电器、步进电机、A/D及D/A变换器等均可看作微型计算机的外部设备。2.2 8086微处理器的功能结构微处理器的功能结构8086是Intel系列的16位微处理器,是80 x86系列微机发展的基础。它所具有的主要特性如下:1)制造工艺:采用具有高速运算性能的HMOS工艺制成。2)芯片集成度:芯片上集成有29万个晶体管,用单一的+5V电源和40条引脚的双列直插式封装。3)时钟频率:510MHz,最快的指令执行时间0.4s。4)字长:16位8088为准16位。5)总线使用方式:数据、地址总线分时复用。6)内存容量:20位地址可寻址1MB。7)端口地址:16位
23、I/O地址可寻址64KB个端口。8)中断功能:可处理内部软件中断和外部硬件中断,中断源可多达25个。2.2.1 2.2.1 8086/8088 CPU 8086/8088 CPU的内部结构的内部结构的内部结构的内部结构 2.2.2 2.2.2 EU EU和和和和BIUBIU的并行工作的并行工作的并行工作的并行工作 2.2.3 2.2.3 8086 8086与与与与80888088的区别的区别的区别的区别相同点:1.微处理器内部采用16位结构2.内部的两个功能部件EU一样区别:1.8086的指令队列是6字节长,而8088的指令为4字长;2.8086是真正的16位机,同BIU相连的8086总线中数
24、据总线是16位总线,而8088是准16位机,同BIU相连的8088总线中数据总线为8位总线。2.3 8086/8088寄存器结构寄存器结构在8086微处理器中可供程序员使用的有14个16位寄存器,如图2.5所示。一般而言,14个寄存器按其用途可分为通用寄存器、指令指针、标志寄存器和段寄存器4类。2.3.1 2.3.1 通用寄存器通用寄存器通用寄存器通用寄存器一、数据寄存器数据寄存器包括4个16位的寄存器AX、BX、CX和DX,主要用来存放16位的数据或地址。同时每个数据寄存器又可分成两个8位寄存器,即AH、AL、BH、BL、CH、CL、DH和DL,用来存放8位数据。数据寄存器用于存放指令操作数
25、。在一些指令中,某些寄存器具有特定的用途:如AX作累加器;BX作基址寄存器;CX在串操作指令中用作计数器;DX在字乘法、除法指令中存放乘积高位或被除数高位或余数,在某些I/O操作期间用来保存I/O端口地址等。二、指针寄存器和变址寄存器指针寄存器和变址寄存器是4个16位寄存器。堆栈指针SP(stackpoint)和基址指针BP(basicpoint)称为指针寄存器,用来指示当前堆栈段中的数据所在的偏移地址。源变址寄存器SI(sourceindex)和目的变址寄存器DI(destinationindex)称为变址寄存器,用来表示当前数据段中操作数的索引地址(偏移地址的一部分)。2.3.1 2.3.
26、1 数据寄存器数据寄存器数据寄存器数据寄存器 2.3.2 2.3.2 指令指针指令指针指令指针指令指针IP(instructionpointer)指令指针是一个16位寄存器,用来存放将要执行的下一条指令在当前代码段中的偏移地址。在程序运行过程中,BIU可修改IP中的内容,IP总是指向下一条待取的指令。IP和CS一起指定下一条指令的物理地址,物理地址=CS16+IP。2.3.3 2.3.3 控制寄存器组控制寄存器组控制寄存器组控制寄存器组8086/8088CPU中设置了一个16位标志寄存器FLAG,用来存放运算结果的特征和控制标志,具体格式见书图所示。16位标志寄存器FLAG中只用其中9位作标志
27、位,其余位为无效位。9个标志位可分成两类:一类叫状态标志位,用来表示算术逻辑运算结果的特征,包括CF、PF、AF、ZF、SF和OF;另一类叫控制标志位,用来控制CPU的操作,由程序设置或清除,它们是IF、DF和TF。2.3.4 2.3.4 段寄存器组段寄存器组段寄存器组段寄存器组在8086/8088系统中采用分段技术把1MB的存储空间分成若干个逻辑段,每段最长为64KB,这些逻辑段可以在整个存储空间中定位,用段寄存器给定各个逻辑段的首地址的高16位,这个地址被称作段基址。1.代码段寄存器CS用来存放当前程序所在的代码段的段基址,代码段中通常存放可执行的指令代码。2.数据段寄存器DS用来存放程序
28、当前使用的数据段的段基址。3.附加段寄存器ES用来存放程序当前使用的附加段的段基址,数据段和附加段通常存放参加运算的操作数或运算结果。4.堆栈段SS则用来存放当前使用的堆栈段的段基址,一些临时性的数据被保存在堆栈中。2.4 8086存储器存储器 2.4.1 2.4.1 80868086存储器组织及其寻址存储器组织及其寻址存储器组织及其寻址存储器组织及其寻址8086微处理器地址线为20根,可以寻址1MB的内部存储器,地址编号为00000HFFFFFH。我们约定存储空间以8b为单位进行组织,每个存储单元存储一个字节数据。如果存放一个“字”数据(16b),则存放在相邻的两个存储单元中,并且高字节存放
29、在高地址单元、低字节存放在低地址单元,双字单元的存放方式与字单元类似,它被存放在相邻的4个字节中。2.4.2 2.4.2 80868086存储器的分段结构和物理地址的形成存储器的分段结构和物理地址的形成存储器的分段结构和物理地址的形成存储器的分段结构和物理地址的形成一、分段结构8086程序将1MB的存储空间看成为一组连续的存储段,各段的功能由具体用途而定,分别为代码段、数据段、堆栈段和附加段。二、物理地址的形成1)当取指令时,8086会自动选择CS值作为段基址,再加上由IP提供的偏移量形成物理地址。2)当涉及堆栈操作时,8086会自动选择SS值作为段基址,再加上由SP提供的偏移量形成物理地址。
30、3)当涉及一个操作数(存储器操作数)时,8086会自动选择DS值为段基值(若以BP为基地址,则SS为段基值),再加上16位偏移量形成物理地址,这16位偏移量可以来自:指令中提供的直接地址16位的位移量;某一个16位地址寄存器的值;指令中的位移量加上16位地址寄存器的值。2.4.2 2.4.2 80868086存储器的分段结构和物理地址的形成存储器的分段结构和物理地址的形成存储器的分段结构和物理地址的形成存储器的分段结构和物理地址的形成 2.5 8086的引脚信号和工作模式的引脚信号和工作模式 2.5.1 2.5.1 80868086的总线周期的概念的总线周期的概念的总线周期的概念的总线周期的概
31、念为了取得指令和传送数据,就需要CPU的总线接口部件执行一个总线周期。在8086/8088中,一个最基本的总线周期由4个时钟周期组成,时钟周期是CPU的基本时间计量单位,它由计算机主频决定。1)在T1状态,CPU往多路复用总线上发出地址信息,以指出要寻址的存储单元或外设端口的地址。2)在T2状态,CPU从总线上撤销地址,而使总线的低16位浮置成高阻状态,为传输数据作准备。3)在T3状态,多路总线的高4位继续提供状态信息,而多路总线的低16位,(8088则为低8位)上出现由CPU写出的数据或者CPU从存储器或端口读入数据。4)在T4状态,总线周期结束。2.5.1 80862.5.1 8086的总
32、线周期的概念的总线周期的概念的总线周期的概念的总线周期的概念 2.5.2 2.5.2中断操作和中断系统的概念中断操作和中断系统的概念中断操作和中断系统的概念中断操作和中断系统的概念1.8086的中断分类8086/8088有一个强有力的中断系统,可以处理256种不同的中断,每个中断对应一个类型码,所以,256种中断对应的中断类型码为0255。从产生中断的方法来分,这256种中断可以分为两大类:一类叫硬件中断;一类叫软件中断。硬件中断是通过外部的硬件产生的,所以,也常常把硬件中断称为外部中断。硬件中断又可以分为两类:一类叫非屏蔽中断;另一类叫可屏蔽中断。软件中断是CPU根据软件中的某条指令或者软件
33、对标志寄存器中某个标志的设置而产生的,从软件中断的产生过程来说,完全和硬件电路无关。2.5.22.5.2中断操作和中断系统的概念中断操作和中断系统的概念中断操作和中断系统的概念中断操作和中断系统的概念2.5.22.5.2中断操作和中断系统的概念中断操作和中断系统的概念中断操作和中断系统的概念中断操作和中断系统的概念2.向量表位置和结构8086/8088的中断系统是以位于内存0段的03FFH区域的中断向量表为基础的,中断向量表中最多可以容纳256个中断向量。所谓中断向量,实际上就是中断处理子程序的入口地址,每个中断类型对应一个中断向量。3.向量构成中断向量并不是任意存放的。一个中断向量占4个存储
34、单元,其中前两个单元存放中断处理子程序入口地址的偏移量(IP),低位在前,高位在后,后两个单元存放中断处理子程序入口地址的段地址(CS),同样也是低位在前,高位在后。按照中断类型的序号,对应的中断向量在内存的0段0单元开始有规则的进行排列。2.5.22.5.2中断操作和中断系统的概念中断操作和中断系统的概念中断操作和中断系统的概念中断操作和中断系统的概念4.中断类型码和中断向量所在位置之间的分布关系 2.5.3 2.5.3微处理器芯片封装及引脚功能微处理器芯片封装及引脚功能微处理器芯片封装及引脚功能微处理器芯片封装及引脚功能8086/8088CPU采用标准DIP40线封装,根据它的基本性能至少
35、包含16/8条数据线,20条地址线,再加上其他一些必要的控制信号,这样芯片引脚数量太多,因此对部分引脚采用分时复用方式,构成40条引脚的双列直插式封装.2.5.4 2.5.4微处理器工作模式微处理器工作模式微处理器工作模式微处理器工作模式8086CPU构成的微机系统,有最小模式和最大模式两种系统配置。1.最小模式当MN/MX接电源电压时,系统工作于最小模式,即单处理器系统方式。所有控制信号均由CPU直接提供。8086最小模式系统中,还允许接入其他要求共享总线的设备。例如DMA控制器8237A5等芯片,此时通过HOLD和HLDA进行总线请求与响应。当CPU让出总线使用权后,系统在DMA控制器82
36、37A5的控制下,为外设与存储器之间提供直接传送数据通道,直到DMA控制器操作结束。2.5.42.5.4微处理器工作模式微处理器工作模式微处理器工作模式微处理器工作模式2.最大模式当MN/MX接地,系统就工作于最大模式。最大模式与最小模式系统的主要区别是系统中增设了一个总线控制器8288和一个总线仲裁器8289,这样可构成以8086/8088CPU为中心的,还包含其他微处理器(如8087数值协处理器和8089I/O处理器)的微机系统。2.6微处理器总线时序微处理器总线时序 2.6.1 2.6.1 最小模式系统中最小模式系统中最小模式系统中最小模式系统中CPUCPU的读的读的读的读/写总线周期写
37、总线周期写总线周期写总线周期1.8086CPU读总线周期最小模式下8086CPU的读总线周期时序如图所示。T1开始时,BIU将被访问存储器或I/O端口的物理地址A19/S6A16/S3及AD15AD0连同总线高位有效信号BHE一起送至总线上,在地址锁存器允许信号ALE的控制下,可将地址锁存到8282/8283地址锁存器中,然后输出到地址总线上,由M/IO信号确定读存储器(M/IO=1)还是读I/O端口(M/IO=0)。2.6.1 2.6.1 最小模式系统中最小模式系统中最小模式系统中最小模式系统中CPUCPU的读的读的读的读/写总线周期写总线周期写总线周期写总线周期2.6.1 2.6.1 最小
38、模式系统中最小模式系统中最小模式系统中最小模式系统中CPUCPU的读的读的读的读/写总线周期写总线周期写总线周期写总线周期2.8086CPU写总线周期 2.6.2 2.6.2 最大模式系统中最大模式系统中最大模式系统中最大模式系统中CPUCPU读读读读/写总线周期写总线周期写总线周期写总线周期最大模式系统和最小模式系统在总线操作逻辑上基本一致。只是由于增设了总线控制器8288,一些控制信号不再由CPU直接给出,而是由8288对CPU的三位状态信号S2、S1、S0进行译码,再输出对存储器或I/O端口的控制命令,完成读/写操作。本章内容提要本章内容提要:l指令格式及寻址方式指令格式及寻址方式l80
39、86/8088指令系统指令系统l汇编语言程序格式汇编语言程序格式l汇编语言程序设计汇编语言程序设计 第三章第三章 Intel 8086/8088指令系统指令系统 3.1指令格式及寻址方式指令格式及寻址方式 3.1.1 3.1.18086/80888086/8088的通用指令格式的通用指令格式的通用指令格式的通用指令格式要求计算机执行的各种操作以命令形式写下来,就称为指令。通常一条指令对应着一些基本操作,例如加、减、传送和移位等。机器语言指令以二进制代码组成。一条指令是由操作码与操作数字段构成,其一般格式为操作码字段+操作数字段其中,操作码字段指明计算机所要执行的操作(即功能);操作数字段指出在
40、指令执行过程中所需要的操作数。例如:ADDAX,BX3.1.18086/80883.1.18086/8088的通用指令格式的通用指令格式的通用指令格式的通用指令格式对有操作数的指令,在执行指令所规定的操作之前首先要寻找操作数。指令中的操作数字段实质上是指出参加操作运算的操作数存放在何处。一般来说,操作数存放在指令代码中,称为立即数;操作数存放在CPU寄存器中,称为寄存器操作数;操作数存放在内存单元中,称为存储器操作数;操作数也可存放在I/O端口内。寻找这些操作数的方式称为寻址方式,即指令中用于说明操作数或操作数所在地址的方法。3.1.2 3.1.2有效地址有效地址有效地址有效地址EAEA和段超
41、越和段超越和段超越和段超越当操作数存放在存储器中时,存储器的存储单元的物理地址分成两部分,一部分是偏移地址;一部分是段地址。在8086/8088的各种寻址方式中,寻找存储单元所需的偏移地址可由各种成分组成,称为有效地址,用EA表示。不同的寻址方式,组成有效地址EA的各部分内容也不一样。存储单元的物理地址的另一部分是段地址,8086/8088指令系统中对段地址有个基本规定,即所谓Default(默认)状态。在正常情况下,由寻址方式中有效地址规定的基地址寄存器来确定段寄存器,即只有在寻址方式中出现了BP寄存器作为基地址,段寄存器一定采用堆栈段SS段寄存器,其余情况都采用数据段DS段寄存器。3.1.
42、23.1.2有效地址有效地址有效地址有效地址EAEA和段超越和段超越和段超越和段超越指令中的操作数也可以不在基本规定的段区中,但必须在指令中指定段寄存器,这就是段超越。例如:MOVAX,2000H则存储单元的物理地址为16DS+2000H,数据是存放在数据段中。而MOVAX,ES:2000H则存储单元的物理地址为16ES+2000H,此指令的源数据在附加段中。3.1.3 3.1.3与数据有关的寻址方式与数据有关的寻址方式与数据有关的寻址方式与数据有关的寻址方式1.立即寻址方式(immediateaddressing)特点:操作数直接存放在指令中,作为指令的一部分存放在代码段中,这种操作数称为立
43、即寻址。一般常用于给寄存器或存储单元赋初值(即初始化),立即数只能用于源操作数字段,不能用于目的操作数字段。【例3.1】MOVAL,20;(A)20MOVAX,1234H;(AX)1234HMOV250H,AX;(错误的,立即数不能作目的操作数)20和1234H为立即数,立即数可以是二进制、十进制、十六进制。【例3.2】MOVAL,BUFFER在汇编语言中,可以用符号BUFFER代替常数,但是BUFFER必须用伪指令EQU来赋值.3.1.33.1.3与数据有关的寻址方式与数据有关的寻址方式与数据有关的寻址方式与数据有关的寻址方式2.寄存器寻址方式(registeraddressing)特点:操
44、作数在某寄存器中,存取这类操作数在CPU内部进行,所以执行速度快。存放16位操作数的寄存器有:AX,BX,CX,DX,BP,SP,SI,DI;存放8位操作数的寄存器有:AH,AL,BH,BL,CH,CL,DH,DL。由于操作数在寄存器中,这种寻址方式不需要访问存储器来取得操作数,因而可以取得较高的运算速度。【例3.3】已知(BX)=1234H。MOVAX,BX;(AX)(BX)执行后(AX)=1234H,(BX)不变。3.1.33.1.3与数据有关的寻址方式与数据有关的寻址方式与数据有关的寻址方式与数据有关的寻址方式3.存储器操作数寻址操作数在存储器中。存储器是分段管理的,要找到操作数,必须指
45、明操作数所在的段(段基址由段寄存器指明)及段内偏移地址(以有效地址EA的形成方式指出)。(1)直接寻址方式(directaddressing)特点:指令中直接给出操作数在段内的偏移量,段基址隐含给出或用段前缀指明。该寻址方式适用于处理单个变量。一般操作数存放在数据段,故操作数的物理地址为物理地址=(DS)16D+EA=(段基址的寄存器)16+偏移地址3.1.33.1.3与数据有关的寻址方式与数据有关的寻址方式与数据有关的寻址方式与数据有关的寻址方式【例3.4】已知(DS)=4000H,42000H=3355H。MOVAX,2000H执行后:(AX)=3355H。物理地址=40000H+2000
46、H=42000H,EA=2000H。说明:1)有效地址(EA)在指令中直接给出。指令中默认段寄存器说明,段基址在DS段寄存器中;否则在指令中需对段寄存器加以说明。例如:MOVAX,ES:2500H2)可用符号地址代替数值地址,例如:MOVAX,VALUE此时,VALUE为存放操作数单元的符号地址,即变量名,也可写成MOVAX,VALUE;两者等价。3.1.33.1.3与数据有关的寻址方式与数据有关的寻址方式与数据有关的寻址方式与数据有关的寻址方式(2)寄存器间接寻址方式(registerindirectaddressing)特点:操作数有效地址在基址寄存器BX、BP、SI、DI中,而操作数则在
47、存储器中。它适用于表格处理,执行完一条指令后,只需修改寄存器内容就可取出表格中的下一项元素。说明:1)指令中的有效地址EA存放在BX、SI、DI寄存器中,则操作数在数据段中,即操作数的物理地址为物理地址=16D(DS)+(BX)(SI)(DI)3.1.33.1.3与数据有关的寻址方式与数据有关的寻址方式与数据有关的寻址方式与数据有关的寻址方式2)若有效地址存放在BP寄存器,则操作数在堆栈段中,即操作数物理地址为物理地址=(SS)16D+(BP)3)可使用段跨越前缀来取得其他段中的数据,例如:MOVAX,ES:BX注意:MOVAX,BX;(AX)(BX)与上面的MOVAX,BX含义不同。例3.5
48、】已知(DS)=1000H,(BX)=0A00H,(10A00H)=33H,(10A01H)=44H。MOVAX,BX物理地址=10000H+0A00H=10A00H。执行后:(AX)=4433H。3.1.33.1.3与数据有关的寻址方式与数据有关的寻址方式与数据有关的寻址方式与数据有关的寻址方式(3)寄存器相对寻址方式(registerrelativeaddressing)特点:操作数的有效地址是一个基址寄存器或变址寄存器的内容和指令中指定的8位或16位位移量(即偏移量)之和。适用于表格处理,修改基址或变址寄存器的内容来取得表格中的元素。一般形式为物理地址=16D(DS)+8位位移量或16位
49、位移量(注:以BX、SI、DI作为基址)物理地址=(SS)16D+(BP)+8位位移量或16位位移量(注:以BP作为基址)(BX)(SI)(DI)3.1.33.1.3与数据有关的寻址方式与数据有关的寻址方式与数据有关的寻址方式与数据有关的寻址方式【例3.6】已知(DS)=2000H,(SI)=50H,其中DISP为16位位移量的符号地址,其值DISP=1000H,(21050H)=88H,(21051H)=66H。MOVAX,DISPSI或NOVAX,DISP+SI物理地址=20000+1000H+50H=21050H。执行后:(AX)=6688H。该寻址方式可使用段跨越前缀,例如:MOVDL
50、,ES:STRINGSI3.1.33.1.3与数据有关的寻址方式与数据有关的寻址方式与数据有关的寻址方式与数据有关的寻址方式(4)基址变址寻址方式(basedindexedaddressing)特点:操作数的有效地址是一个基址寄存器与一个变址寄存器内容之和。物理地址=(DS)16D+(BX)+物理地址=(SS)16D+(BP)+例3.7】已知(DS)=3000H,(BX)=1100H,(SI)=0050H,(31150H)=78H,(31151H)=56H。MOVAX,BXSI或MOVAX,BX+SI物理地址=30000H+1100H+0050H=31150H。执行后:(AX)=5678H。(