国家高等教育智慧教育平台
日期:2023-09-26 21:32:07   来源:数据传输类

  微机原理与应用这门课是工科学生学习和掌握微机硬件知识以及汇编语言程序设计的入门课程。本章主要从微型计算机的发展与应用、微型计算机的相关概念、微型计算机系统组成以及微型计算机工作原理这4个方面展开。通过这一章的学习除了掌握计算机的相关概念术语以外,特别是要掌握微型计算机的组成与工作原理。

  微型计算机的发展主要体现在其核心部件——微处理器的发展上。根据微处理器的字长和功能,可将微型计算机的发展划分为5个阶段。微机具有运算速度快、计算精确度高、存储容量大、自动化程度高这样一些优点,微机或微机技术在我们身边随处可见,微机的应用已经渗透到我们生活的各个方面。

  本节最重要的包含三个方面的内容:首先带着大家认识微机的三个层次,其次要向大家介绍一下微机的一些相关术语,最后我们要学习微机中通常使用的数制与编码方法。

  一个微型计算机系统包括硬件和软件两大部分。本节重点讲解微机系统的硬件组成,一个微机一定要具有计算、信息存储、信息的输入与输出这样一些基本功能,因此,微型计算机的硬件组成最重要的包含:CPU、存储器、输入输出接口、外部设备、总线。

  一个实际的微型计算机的电路结构是相当复杂的,大家初次接触微机内部结构,为便于大家理解,本节通过一个简单应用实例,从微机的基本功能出发,分别对微机的取指过程成与执行过程进行讲解,帮大家理解微机的工作原理。

  微型计算机的硬件核心是微处理器,本章以讲解16位8086/8088微处理器为中心,从8086/8088CPU的结构、8086/8088存储器结构、8086/8088引脚与工作模式,以及8086/8088最小模式的典型配置四个方面展开。

  8086与8088CPU内部大致相同,从功能上分为两部分,即总线接口部件BIU和执行部件EU。本节具体讲解总线接口部件与执行部件的功能和组成。

  存储器是计算机存储信息的地方。程序运行所需要的数据、程序执行的结果以及程序本身均保存在存储器中。本节主要从存储器的编址方式、存储器的分段、逻辑地址与物理地址三个方面来讲解8086/8088存储器的结构。

  微处理器的引脚信号体现了它的外部特性,微处理器通过引脚连接在系统中发挥核心控制作用。本节从微处理器的外部特性出发,讲解微处理器的引脚功能,以及微处理器的两种组态模式。

  本节主要讲解8088最小模式下的典型下的典型配置,以及在最小组态模式下I/O端口、存储器读周期的操作时序,所谓的操作时序就是指CPU在执行各种操作时有关引脚信号随时间变化的情况。

  计算机通过执行指令序列来处理问题,每种计算机都有一组指令集提供给用户使用,这组指令集就称为计算机的指令系统。指令系统是微处理器所能执行的指令的集合,它与微处理器有密切的联系,不同的微处理器有不同的指令系统。本章主要讲解英特尔公司生产的8086/8088CPU的寻址方式以它的指令系统,并通过具体实例讲述了各条指令的功能和使用方法。

  本节将讲解指令的基本格式,学习指令的基本格式首先要理解机器指令与符号指令的概念,其次要搞清楚符号指令中所涉及的常量、变量、标号的定义与使用方法。

  变量用来定义程序中所用的内存操作数,也就是说变量代表一个内存操作数,在数据段或者是附加段中用伪指令来定义。本节将讲解汇编语言中变量定义伪指令的格式,以及变量在存储器中的存放形式。

  一条汇编指令是由操作码和操作数两部分所组成的,操作码用来说明计算机要执行哪种操作,而操作数是用来指明操作的数据是谁。操作数据存在哪里?怎么样找到操作数据呢?这里寻址方式是根据指令提供的操作数寻找这个操作数据的方式。本节将讲解寻址方式中的立即寻址与寄存器寻址两种寻址方式的特点。

  存储器寻址又可以细分为多种方式,相对来说很复杂,本节将讲解存储器寻址这一大类中的直接寻址与间接寻址这两种寻址方式的特点,书写格式以及物理地址的计算方法。

  基址寻址、变址寻址以及基址加变址寻址实际上都是在间接寻址的基础上演变出来的,这几种寻址方式与间接寻址方式一样操作数都是在存储器中的。本节将具体讲解这三种寻址方式的特点、书写格式,以及物理地址的计算方法。

  本节将讲解数据传送类的指令,这一类指令的功能就是将数据从一个部位传送到另一个部位,这类指令对标志寄存器中的状态标志位是没影响的。数据传送类指令是计算机最基本最重要的一类操作,它的使用比例最高。

  堆栈是在存储器中开辟的一片数据存储区,这片存储区的一端是固定的,另一端可以活动,数据只允许从活动端进出,数据的存取使用先进后出的原则。本节从堆栈的组织管理以及操作的流程两个方面讲解了入栈指令与出栈指令。

  交换指令用来来交换两个数据,查表指令可拿来将一种代码转换成另一种代码,本节通过实例讲解这两条指令的格式与用法。

  8086/8088提供加减乘除4种基本的算术操作,那么指令对应也有加法指令,减法指令,乘法指令,除法指令。这些指令大部分都会影响到标志位,不同的指令,对标志位的影响是不同的。那么我们在使用这一类指令时,要注意有关状态标志位的变动情况。本节讲解ADD、ADC、INC三条加法类指令的用法。

  8088有5条减法指令,分别为:减法指令SUB,带进位的减法指令,SBB,减1指令 DEC,求补指令NEG,比较指令CMP,本节讲解这5条指令的用法。

  乘法和除法指令分别实现两个二进制操作数的相乘和相除运算。由于对于无符号数和有符号数的乘除运算,计算机的处理过程是不一样的。因此这里针对无符号数和有符号数的乘除运算,设计了不同的指令。本节讲解无符号数乘法指令MUL和有符号数乘法指令IMUL,以及无符号数除法指令DIV和有符号数除法指令IDIV的用法。

  8086/8088可以对8位或者是16位的操作数来执行逻辑操作,并且逻辑运算指令是按照操作数的位来进行的。本节将讲解逻辑与指令AND,测试指令TEST,逻辑或指令OR,逻辑异或指令XOR和逻辑非指令NOT的用法。

  移位指令一共有8条,分为算术逻辑移位指令和循环移位指令两大类,算术逻辑移位指令又分为逻辑移位和算术移位。循环移位指令又分为不含进位标志CF的循环移位指令和含 CF进位标志的循环移位指令。本节将讲解这8条指令的用法。

  逻辑右移SHR指令,右移一位,等于对无符号数做除以2的运算,本节通过实例,应用移位指令编程实现将字变量w中的无符号数除以8,商和余数分别放入字变量QUOT和字节变量REMA中。

  逻辑左移SHL和算数左移SAL指令功能相同,左移一位,等于对数据做乘以以2的运算,本节通过实例,应用移位指令编程实现将字变量w中的无符号数×10的运算。

  IBM PC微机系统,为汇编用户更好的提供了两个程序接口,一个是DOS系统功能调用,另一个是ROM中的BIOS功能调用。他们都是由一系列中断服务子程序构成的,通过软中断指令 int n来进行调用。本节将讲解常用DOS系统功能调用。

  本节通过两个举例,讲解了如何通过常用系统功能调用来实现在显示器上显示 wish you success!这样一个字符串,以及从键盘输入一串字符,在下一行照原样显示这个字符串。

  在汇编语言程序中,最基本的程序结构有顺序程序,分支程序、循环程序、子程序这几种,另外数码转换程序,在汇编语言程序设计中应用也十分普遍,因此这几种程序设计的方法是汇编语言程序设计的基础。本章将结合实例详细地讲解这些程序的设计方法。

  顺序程序是最简单的程序,它的执行顺序和程序中指令的顺序完全一致。本节通过一个查表程序的设计,讲解了顺序结构程序设计的方法。

  顺序程序是按指令的书写顺序,也就是存放顺序来执行的。而实际的情况应该要依据不同的条件做不同的处理,形成分支。本节将讲解分支程序的基本结构,以及构成分支结构程序的关键指令:转移指令。

  对于分支程序的实现,基本方法有两种,第一种,我们大家可以利用比较转移指令来实现分支,这种方法适合于分支比较少的情况。如果分支比较多,我们可通过跳转表来实现分支结构,本节通过一个具体的例子,讲解了通过跳转指令实现简单分支程序的方法。

  复杂分支程序指的是分支数较多的这样一类分支程序。本节通过一个具体的例子,讲解了复杂分支程序通过逐次比较转移和跳转表两种方式的实现方法。

  本节主要讲解了循环程序的两种基本结构流程,循环程序的4个组成部分,以及循环程序中常用的循环操控方法,并讲解了汇编语言中用于控制循环结束的一类指令,即重复控制指令。

  循环程序设计可大致分为单重循环程序设计和多重循环程序设计。本节从单重循环程序入手,通过编程实例讲解了单重循环程序设计的基本方法。

  多重循环,即循环体内再套有循环。本节以冒泡法排序为例,讲解了汇编语言中多重循环程序设计的基本方法。

  子程序,就是将某些重复的或经常要使用的程序段,设计成可供反复调用的独立程序段。本节讲解了子程序的调用与返回指令,子程序的基本框架结构和子程序的执行流程与参数传递。

  本节以计算机中数据输出过程为例,讲解了如何将一个数值转换成输出数字所对应的ASC码,并在屏幕上显示该数字的过程。

  本节以计算机中数据输入过程为例,讲解了如何将键盘输入的数字ASC码信息转换成所对应的数值信息。

  微型计算机与外界的通信是通过输入输出设备做的,通常一种IO设备与微型机连接,就需要一个连接电路,我们叫做输入输出接口。本章从接口的基本概念、IO端口的编址方式、8088的IO操作指令以及IO端口的地址译码方法这四个方面做详细的讲解。

  接口技术是研究CPU,如何与外部世界,进行最佳的偶合与匹配,实现双方高效可靠的,交换信息的一门技术。本节讲解了接口的概念和功能、接口电路的典型结构、CPU与外设间的数据传送方式。

  IO端口有两种编址方式。第一种为端口与存储器分别独立编址;第二种方式为端口与存储器统一编址。本节讲解了两种编址方式的特点,以及8088 IO操作指令。

  译码电路它可以将CPU执行 in或者是out指令时发出的地址信号,翻译成欲操作端口的选通信号。本节讲解了IO端口的译码方法,从3个方面做了讲解:译码电路的作用,译码电路的构成以及译码电路的设计。

  本节以无条件输入接口的设计,以及无条件输出接口的设计为例,讲解了简单数据输入输出接口的设计方法。

  中断是微机系统中很重要的一种技术,是对微处理器功能的有效扩展。中断技术的应用,大大的提高了CPU的工作效率。本章将从3个方面来进行讲解。首先将介绍中断的基本概念,然后通过8088中断系统的响应过程, 来讲解中断的执行过程。最后将介绍最常用的可编程中断控制器8259a。

  本节将从什么是中断,CPU执行中断的流程、中断优先权的管理、8088CPU的中断分类等方面讲解中断的一些基本概念。

  本节首先介绍了中断向量表的概念,然后以一条中断指令的执行过程为例,讲解了8088中断的响应过程。

  中断控制器,它是辅助CPU对外部可屏蔽中断来来管理的。本节主要讲解了8259a的引脚、编程结构和工作过程。

  8255A 为intel系列的8位并行接口芯片,它的通用性强,使用灵活,是一种典型的可编程并行接口芯片。本章首先介绍了8255A的组成与接口信号。然后,将讲解8255A的工作方式和控制字的设置,最后通过实例讲解了基于8255A的应用系统模块设计方法。

  8255A作为一个可编程的并行接口芯片,用于连接外部设备和CPU,它是外设与CPU进行并行数据交换的中转站。本节从8255A的外部特性出发,详解讲解了它的内部组成以及工作过程。

  8255A有三种工作方式,称为方式0、方式1和方式2。本节讲解了每种工作方式的特点以及应用场景。

  8255A有两种控制字,即方式控制字和c口按位置位、复位控制字。本节介绍了这两种控制字的定义,以及8255A控制字的设置方法。

  作为通用的并行接口电路芯片,8255A具有广泛的应用。本节以8255A作为LED的接口电路为例,讲解了如何通过8255A实现流水灯的控制功能。

  在计算机系统、工业控制领域乃至日常生活中,都存在定时、计时和计数问题,尤其是计算机系统中的定时计数很重要。用可编程定时器芯片构成定时电路,具有方便灵活的特点,并且具有多种工作方式,能够输出多种控制信号。本章将讲解可编程定时计数器8253的组成与接口信号、8253的工作方式与控制字以及8253的应用。

  8253的内部包含有三个独立的16位计数器通道。本节讲解了8253的内部组成以及外部接口信号。

  8253有6种工作方式,工作方式的设定是由方式控制字来确定的。熟悉每种工作方式的特点,才能结合实际应用问题选择正确的工作方式。本节介绍了8253 六种工作方式的特点,以及如何写方式控制来设定8253的工作方式。

  要使用8253必须首先对8253进行初始化编程,初始化编程包括以下三个步骤:一写入计数器的控制字;第二步,写入计数器的计数初值;第三步,在某些情况下面,我们应该读取计数器的当前计数值。本节通过实例讲解了如何写控制字、写计数初值以及读取计数器的当前计数值。