《微机原理及应用》课程期末复习辅导

责任教师:曲郁生

《微机原理及与应用》课程主要内容是微型计算机8086到目前流行的各类奔腾机(Pentium)的基本组成和工作原理,汇编语言程序设计的基本方法,微机与输入输出设备及生产过程的典型接口电路和接口技术。目的是使学生通过学习,获得在相应专业领域内应

用微型计算机的初步能力。

一、课程复习范围

微机原理与应用课程具有工作原理与编程方法、接口技术并重,软件与硬件结合,理论与实践结合的特点,要求学生在有限的时间内重点复习相关的教学内容,以达到课程大纲教学要求目标。复习范围包括教材的前8章内容,出此之外,8087协处理器简介、汇编语言中的列表控制、条件控制、宏处理、模块通信等伪指令、CPU输入输出时序内容也不要求掌握。

二、复习基本要求

1、计算机基础知识

(1)、 掌握计算机中的数和编码系统。二、十、十六进制的相互转换,无符号数、带符号数、真值、机器数的区别,原码、反码、补码、真值之间的相互转换方法,位、字节、字和字长的概念,十进制数用8421BCD码表示,ASCII码与国际码的区别,二进制数的加、减、乘、除算术运算,二进制数的与、或、非、异或逻辑运算,进位和溢出的概念。

(2)、 掌握微机的软、硬件系统组成。微处理器、微型计算机、微型计算机系统的概念,微机系统组成框图及各部分的主要功能,指令和程序的概念,软件的分类,微机中软、硬件的关系,当前PC机的标准配置。

(3)、 掌握计算机常用术语(位、字节、字)及主要技术性能指标(字长、内存容量、主频、运算速度、存取周期)的含义。

(4)、 通过简化的微型计算机初步理解计算机的工作过程,建立起整机概念。

(5)、 了解微机的工作环境。

2、 微型计算机基本组成

(1)、 理解8086微处理器的内部结构、引脚功能和它的定时关系。8086的寄存器结构和功能结构,最小组态与最大组态的区别,主要引脚的功能,指令周期、总线周期、时钟周期的概念。

(2)、 了解半导体存储器的体系结构和分类,理解RAMROM的工作特点。微机存储器的三级结构:高速缓冲存储器(Cache)、主存储器、外部存储器。半导体存储器主要分类,RAMROM工作的主要区别,静态RAM、动态RAM的特点,DRAM的刷新原理,ROMPROMEPROM及Flash的不同。

(3)、 理解微处理器与存储器的连接方法及8086中存储器的组织。微处理器与存储器连接中应注意的问题,808620位地址的形成,8086存储器的分段方法。

(4)、 了解总线的概念及目前常用的总线标准。

(5)、 了解常用外围设备的简单工作原理。键盘扫描按下键的工作原理,LED显示字形的原理,CRT显示器的工作原理及主要性能参数,显示存储器的组织及有关概念,用于PC机显示器的几种显示模式。打印机的种类及针式打印机能打印出字符或图形点阵的简单原理。软磁盘存储器的构成及软磁盘的结构、规格和记录格式。硬磁盘存储器与软磁盘存储器的区别。光驱种类及CD[CD*2]ROM特点。鼠标器的种类,与主机的连接和驱动程序的安装。

3、 80x86指令系统

(1)、掌握8086主要寻址方式。立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、基址变址寻址、串寻址、端口寻址和隐含寻址。

(2)、掌握8086中的标志寄存器各位的含义。

(3)、掌握8086主要常用指令的功能。数据传送类、算术运算类、逻辑运算类、转移类、移位类、串操作类、处理器操作类指令中的常用指令。

4、 汇编语言

(1)、 以Intel8086 CPU为背景,了解汇编语言的特点、汇编语言的基本语

法。

(2)、 掌握常用汇编伪指令的含义和用法:符号定义伪指令、数据定义伪指令、段和模块定义伪指令和过程定义伪指令。了解其它伪指令的含义和用法。

(3)、 掌握汇编语言程序的格式和运行方法。

(4)、 掌握汇编语言程序中返回DOS的方法,了解其它常用的系统功能调用。

5、 基本程序设计方法

理解顺序程序、分支程序、循环程序、含子程序的程序设计的基本方法,能读写、运行、调试简单的汇编语言程序,如数据传送、比较、求和等简单程序。

6、 输入与输出

(1)、 掌握CPU寻址外设的方式、CPU与外设间的接口信息、CPU与外设间数据传送

的形式。

(2)、理解查询传送方式。

(3)、了解DMA方式的特点。

7、 中断控制技术

(1)、 理解中断的基本概念。中断、中断源的含义,实现中断的意义,中断的类型,中断系统的功能,CPU响应中断的条件。

(2)、 了解8086CPU的中断机构。中断类型,中断矢量,中断响应过程。

8、 接口电路

(1) 、掌握并行接口8255A的主要性能、工作方式和初始化编程方法。

(2) 、掌握定时/计数器8253[CD*2]5的主要性能、工作方式和初始化编程方法。

(3) 、理解D/AA/D转换器接口方法。

(4) 、理解串行概念和8251初始化编程方法。

3、考试题型说明

考试题型有:计算题、简答题、判断题、选择题、填空题、分析题、读程序、程序题。

、课程练习题及解答

1、计算题

(1) 、将二进制数110110.01转换为十进制、十六进制及8421BCD码形式。

答:54.25D  36.4H  0101 0100 0010 0101BCD

(2) 、已知x=-18,求它的原码、反码和补码(用十六位二进制)。

答:[x]原=1000 0000 0001 0010

[x]反=1111 1111 1110 1101

[x]补=1111 1111 1110 1110

(3) 、二进制加法1111 0101+1010 1010? 如果将它们看为补码,结果是否出错?为什么?

答:1111 0101+1010 1010=1001 1111

结果对,无溢出。

 

2、填空题

(1) CPU寻址外设可以有两种方式,一种是      寻址方式,另一种是      寻址方式。

(2) 8086有两类中断,它们是       中断和       中断。

(3) 目前微机系统的存储器分为       存储器、       存储器、       存储器三级。这种体系结构解决了存储器要              ,而       又比较合理的矛盾。

答:(1) 存储器、端口

(2) 硬件中断、软件中断(或:外部中断、内部中断)

(3) 高速缓冲、主、外部、容量大、速度快、成本

3、选择题

(1) 一台计算机的字长是4个字节,这意味着( )

 A能处理的最大数值为4位十进制

 B能处理的字符串最多由4个英文字母组成

 C在CPU中作为一个整体加以传送处理的二进制代码为32位

 D在CPU中运算的结果最大为232次方

(2) 下列指令中正确的是(  )

 AMOV AXBH

 BMOV SSAX

 CMOV BX],[SI]

 DMOV AX,[DI][SI]

(3) 查询方式是( )。

 A程序控制方式

 B中断控制方式

 CDMA方式

 D接口控制方式

答案:(1)C  (2)B  (3)A

4.判断题

  (1) 同步传输时,由于不需要给每一个数据加上起始、停止位,所以它比异步传输效率高。

  (2) RS232C是串行接口的标准,所以调制解调器之间应按这个标准进行连接。

(3) 硬件UART的含义是“通常非同步(异步)接收器/发送器”。

答案:(1)正确 (2) 正确(3) 正确

5.简答题

(1)    8086CPU的字节寻址范围有多大?为什么?存储器为什么分段?20位物理地址的形成

过程是怎样的?

答:8086CPU寻址范围1MB。因为8086CPU地址线为20条,220=1024KB,即1MB。8086系统中,指令仅给出16位地址,与寻址有关的寄存器也只有16位长,因此寻址范围只有64KB,为了寻址1MB,所以分成四个逻辑段。当CPU访问内存时,段寄存器的内容(段基址)自动左移4(二进制),与段内16位地址偏移量相加,形成20位的物理地址。

(2) 使用中断有什么好处?

答:解决快速CPU与慢速外设之间的矛盾,使CPU可以与外设同时工作,甚至可以与几个外设同时工作。计算机实现对控制对象的实时处理。计算机可以对故障自行处理。

(3) 什么是伪指令?

答:伪指令语句在形式上与指令语句很相似,但它不产生任何目标代码,只对汇编程序在汇编过程中提供必要的控制信息。

6.分析题

(1) 利用一个异步传输系统传送英文资料,系统的速率为1200波特,待传送的资料为5000字符长,设系统用ASCII码传送,不用校验位,停止位只用一位,问至少需要多少时间才能传送完全部资料?

答:每一字符用9位传输,全部传送的字符数为5000个,共需9×5000=45000位按照1200波特率计算,所需时间为4500位/1200位/秒=37.5秒

(2)    设某系统的CPU有地址线16条,连接了4K ROM1K RAM。已知ROM用8708芯

片(1024×8),RAM用2114芯片(1024×4)。若用高位地址线全译码输出作为各芯片的选片信号,最高地址的4条输出线接ROM,最低地址的输出线接RAM,则各片的地址范围是多少?

答:4片ROM地址范围是F000H~F3FFH,F400H~F7FFH,F800H~FBFFH,FC00H~FFFFH;RAM的地址范围是0000H~03FFH。

7.阅读程序

(1)指出下列程序的功能,并将有分号()的语句加上注解。

NAME EXAMPLE; 模块名为EXAMPLE

DATA  SEGMENT;数据段

BUF   DB 100 DUP(?)

DATA  ENDS

STACK SEGMENT PARA STACK STACK’ ;堆栈段

DB 100 DUP(?)

STACK  ENDS

CODE   SEGMENT ; 代码段

ASSUME CSCODEDSDATASSSTACK  ; 段寄存器地址说明

 

STARTMOV AXDATA

MOV DSAX ;代码段地址装填

MOV BXOFFSET BUF ;置地址指针

MOV CL64H ;置计数器初值

LP    MOV BYTE PTR[BX],0 ;内存单元清0

INC BX ;地址加1

DEC CL ;计数减1 

JNZ LP ;计数不为0继续

MOV AH4CH

INT 21H

CODE  ENDS

END START

BUF单元开始的100个存储单元全部清0。

(2)已知8253的初始化程序如下,说明程序的含义。

 

MOV  AL50H ;控制字送AL

OUT 07HAL ;输出控制字

MOV AL80H ;计数值送AL

OUT 05HAL ;输出到计数器1

使计数器1工作在方式0,用8位二进制计数,计数值为128

8. 编写程序

(1)已知有三个8位无符号数X,Y,Z分别存放于BUFBUF+1BUF+2单元,编程计算3X+2Y+5Z,结果送RES和RES+1单元(要求使用子程序完成乘法)。省略伪指令。

解:  MOV  AX0

MOV  RESAX

LEA  BXBUF

MOV  AL3

CALL MULL

MOV  AL2

CALL MULL

MOV  AL5

CALL MULL

HLT

MULL PROC

MUL [BX]

ADD  RESAX

MOV  AX0

INC  BX

RET

 

(2)利用并行接口芯片8255A将八个七段LED显示器接入微机系统,假设8255A占用的端口地址为3F0H~3F3H,请把8255A与CPU连接起来。8255A的A口数据线用作八个数码管公用的段控制线(阳极)B口数据线用作对八个数码管的阴级控制,据此对8255A进行初始化编程。

解:8255ACPU的连接如图()A口和B口应工作在方式0的输出方式。初始化程序为:

MOV  DX3F3H

MOV  AL80H

OUT  DXAL

 

                        、课程模拟测试

一、指出下列指令的错误。

1)、   MOV AH CXH 

2)、   ADD 20HDX

3)、   MOV CS AX

二、指出下列指令的功能。

   1)、 XOR  CXCX

   2)、 ADD  CL10

   3)、 PUSHF

三、指出下列指令中源操作数的寻址方式。

1)、   MOV ALTABLE[BP]

2)、   MOV AX5000H

3)、   MOV AX[DI]

4)、   MOV AL[BP][SI]

四、编程题。

1、  已知在X单元开始的10个连续单元中存放了10个无符号数,求它们的和并将结果

存入Y单元内。

2、从XX单元开始的10个单元中找出最大的无浮号数,并将结果存入YY单元中。

3、从STRIN单元开始有一字符串,以“*”作为结束标志,编程求字符串的长度。

五、判断下列各小题的正确性,正确打,错误打 。)

   1)、不可屏蔽中断就是不允许发生的中断。(  )

   2)、动态存储器在使用时需要进行刷新。(  )

   3)、 外设地址的编址有:存储器统一编址和专用端口编址两种方式。(

   4)、 中断向量是中断程序的入口地址。(

   5)、 波特率是指每分钟传输的二进制的位数。( 

六、简答题。

1、存储器系统与CPU连接时需要考虑那些问题?当ROM选用1024*4的芯片时,需要几片才能组成16K*16的存储器,采用何种扩展方法完成?

  2、何为8086的软件中断?说明CPU在进入中断响应周期后应完成的工作。(共10分)

38086有几种中断方式,如果软中断为INT 13H时,求中断向量表指针值。设该指针指向的四个内存单元顺序存放:59HECH、、00HF0H值时,求该中断服务程序的入口地址。

4、一计算机系统的CPU地址线共有16条,用它来连接4K ROM1K RAM。已知每片ROM芯片的容量是:1024*8,每片RAM芯片的容量是:1024*4,各需要多少片ROMRAM组成存储器?如果采用高位地址线全译码输出方式作为各芯片的片选信号,16条地址线中,最高地址的4条输出线接ROM,最低地址的输出线接RAM,给出各片的地址范围值。

5CPU通过并行接口与A/D转换器连接时,CPU是否可以在任何时间读入变换后的数据?为什么?

6、键盘扫描按下键的工作原理是怎样的?

7、查询方式、中断方式、DMA方式各有什么特点?

88086有哪几种中断方式?它们在中断响应和处理过程中最主要的区别是什么?什么是中断向量?什么是中断向量表?

9、 串行接口芯片8251A有哪几种控制字?各种控制字的主要功能是什么?它们的写入为什么要规定次序?

七、已知8259A工作在中断方式下,ICW1=13HICW2=8HICW4=9H,要求屏蔽所有中断,试编写初始化程序,(ICW1ICW2ICW4的口地址分别是:20H21H21H)。

八、8255ALED显示管与8086CPU连接时,用口A用作数码管的段控制,口B用作各数码管的控制,则口A和口B应选择何种工作方式?已知工作方式控制字为80H8255A所用的端口地址是:3F0H3F1H3F2H3F3H,编写对8255A的初始化程序段。

 

九、8255A的工作方式控制字和C口的按位置位/复位控制字有何差别?若将C口的PC2引脚输出高电平(置位),假设8255A控制口地址是303H,给出初始化8255A的程序段。

十、什么叫波特率?在一个异步通信系统中,如果数据速率为1200波特,数据格式为8个数据位、一个校验位、2个停止位,那么每秒钟能传送多少字符?为什么同步传输比异步传输效率高?