微机接口技术期末复习
责任教师 赵珩君
第一部分:复习摘要
第一章: 绪论 (2学时)
教学内容:
1.微计算机的特点, 学习方法
2.微处理器、微计算机、微计算机系统
3.微处理器技术的发展概况
教学要求:
掌握:
微处理器、微计算机、微计算机系统这三个名词术语的内涵。
了解:
微处理器及微计算机技术发展的历程。
第二章 微处理器的结构及微计算机的组成 (6学时)
教学内容:
1.8086微处理器系列概况
2.8086微处理器的逻辑框图
3.8086/8088微处理器引线说明
4.8086/8088总线操作、总线请求及中断请求
5.8086最大、最小方式的基本组成
6.8086存储器访问特性
7.80386微处理器结构及特点。
教学要求:
掌握:
8086片内结构, 各功能部件的作用及其相互关系。主要引线的功能总线操作的时序、最小方式的系统组成。存储器访问特点及中断结构。
了解:
80386微处理器结构及特点。
第三章 8086指令系统及汇编语言程序设计基础 (20学时)
教学内容:
1.指令系统与寻址方式
2.汇编语言程序格式
3.循环与分支程序结构
4.子程序结构
5.I/O程序设计
教学要求:
掌握:
8086基本指令的格式、功能及应用方法。
了解:
汇编语言的基本格式, 以及带有循环、分支、子程序、I/O指令的程序设计方法。
第四章 微计算机中处理器与I/O设备间数据传输控制方法 (8学时)
教学内容:
1.中断系统的基本概念
2.典型中断控制器 (8259A)的基本结构与编程方法
3.总线请求的基本概念、DMA的系统组成以及工作过程
4.DMA控制器
(8237A)的结构与基本编程
教学要求:
掌握:
中断与DMA两种控制方法的基本概念。8259A与8237A的初始化编程方法。
了解:
中断与DMA操作过程中的控制方法。
第五章 8086微处理器的外围支援芯片 (8学时)
教学内容:
1.定时器8253的结构与编程
2.并行外围接口8255A的结构与编程
3.串行通信接口8251A的结构与编程
教学要求:
掌握:
以上各外围芯片的功能, 初始化编程方法及运行中的控制方法。
了解:
以上各外围芯片的应用技术。
第六章 微机基本外部设备 (6小时)
教学内容:
1.小型键盘的结构、接口与识别按键的软件方法
2.多位七段LED数码显示器的电路结构及接口技术
3.D/A转换器的工作原理
4.A/D转换器的工作原理
教学要求:
掌握:
扫描法识别按键的原理。多位七段LED数码显示器的电路结构与工作原理。D/A、A/D转换器的工作原理, 软件实现逐次逼近A/D转换原理。
了解:
小型键盘扫描程序。软件方法实现逐次逼近A/D转换的程序。
第七章 微计算机总线 (6小时)
教学内容:
1.微机总线的概念
2.微机系统总线的层次
3.ISA总线与PCI总线的结构、特点
4.IDE、SCSI、USB外设总线介绍
教学要求:
掌握:
总线的概念、总线的层次。
了解:
ISA与PCI总线的结构及特点。外设总线的特点。
第八章 其它主流微处理器介绍 (6小时)
教学内容:
1.Pentium
(奔腾)系列微处理器的结构
2.PowerPC
系列微处理器的结构
教学要求:
掌握:
超标量结构特点, 分支预测的概念
了解:
RISC体系结构的特点。
第二部分 模拟题
1、简述微处理器、微计算机及微计算机系统三个术语的内涵。
答:微处理器是微计算机系统的核心硬件部件,对系统的性能起决定性的影响。微计算机包括微处理器、存储器、I/O接口电路及系统总线。微计算机系统是在微计算机的基础上配上相应的外部设备和各种软件,形成一个完整的、独立的信息处理系统。
2、EU与BIU各自的功能是什么?如何协同工作?
答:EU是执行部件,主要的功能是执行指令。BIU是总线接口部件,与片外存储器及I/O接口电路传输数据。EU经过BIU进行片外操作数的访问,BIU为EU提供将要执行的指令。EU与BIU可分别独立工作,当EU不需BIU提供服务时,BIU可进行填充指令队列的操作。
3、8086/8088微处理器内部有那些寄存器,它们的主要作用是什么?
答:执行部件有8个16位寄存器,AX、BX、CX、DX、SP、BP、DI、SI。AX、BX、CX、DX一般作为通用数据寄存器。SP为堆栈指针存器,BP、DI、SI在间接寻址时作为地址寄存器或变址寄存器。总线接口部件设有段寄存器CS、DS、SS、ES和指令指针寄存器IP。段寄存器存放段地址,与偏移地址共同形成存储器的物理地址。IP的内容为下一条将要执行指令的偏移地址,与CS共同形成下一条指令的物理地址。
4、在8086中,逻辑地址、偏移地址、物理地址分别指的是什么?具体说明。
答:逻辑地址是在程序中对存储器地址的一种表示方法,由段地址和段内偏移地址两部分组成,如1234H:0088H。偏移地址是指段内某个存储单元相对该段首地址的差值,是一个16位的二进制代码。物理地址是8086芯片引线送出的20位地址码,用来指出一个特定的存储单元。
5、8086被复位以后,有关寄存器的状态是什么?微处理器从何处开始执行程序?
答:标志寄存器、IP、DS、SS、ES和指令队列置0,CS置全1。处理器从FFFFOH存储单元取指令并开始执行。
6、8086中断分哪两类?8086可处理多少种中断?
答:8086中断可分为硬件中断和软件中断两类。8086可处理256种类型的中断。
7、8086的中断向量表如何组成?作用是什么?
答:把内存0段中0~3FFH区域作为中断向量表的专用存储区。该区域存放256种中断的处理程序的入口地址,每个入口地址占用4个存储单元,分别存放入口的段地址与偏移地址。
8、根据下列要求编写一个汇编语言程序::
(1) 代码段的段名为COD_SG
(2) 数据段的段名为DAT_SG
(3) 堆栈段的段名为STK_SG
(4) 变量HIGH_DAT所包含的数据为95
(5) 将变量HIGH_DAT装入寄存器AH,BH和DL
(6) 程序运行的入口地址为START
答案:
DAT_SG SEGEMNT
HIGH_DAT DB 95
DAT_SG ENDS
;
STK_SG SEGMENT
DW 64 DUP(?)
STK_SG ENDS
;
COD_SG SEGMENT
MAIN PROC FAR
ASSUME CS: COD_SG, DS: DAT_SG, SS: STK_SG
START: MOV AX, DAT-SG
MOV DS, AX
MOV AH, HIGH_DAT
MOV BH, AH
MOV DL, AH
MOV AH, 4CH
INT 21H
MAIN ENDP
COD_SG ENDS
END START
9、下列标号为什么是非法的?
(1) GET.DATA (2) 1_NUM (3)
TEST-DATA (4) RET (5) NEW ITEM
答案:
非法标号:
(1)因为‘.’只允许是标号的第一个字符
(2)第一个字符不能为数字
(3)不允许出现‘-’
(4)不能是保留字,如助记符
(5)不能有空格
10、假设(CS)=3000H, (DS)=4000H, (ES)=2000H, (SS)=5000H,
(AX)=2060H, (BX)=3000H, (CX)=5, (DX)=0, (SI)=2060H, (DI)=3000H,
(43000H)=0A006H, (23000H)=0B116H, (33000H)=0F802H, (25060)=00B0H,.(SP)=0FFFEH,
(CF)=1, (DF)=1, 请写出下列各条指令单独执行完后, 有关寄存器及存储单元的内容, 若影响条件码请给出条件码SF、ZF、OF、CF的值。
(1) SBB AX,BX (2) CMP AX,WORD
PTR[SI+0FA0H]
(3) MUL BYTE PTR[BX] (4) AAM
(5) DIV BH (6) SAR AX,CL
(7) XOR AX,0FFE7H (8) REP STOSB
(9) JMP WORD PYR[BX] (10) XCHG AX,ES:[BX+SI]
答案:
(1) (AX)=0F05FH, (SF)=1, (ZF)=0, (OF)=0, (CF)=1
(2) (SF)=1, (ZF)=0, (OF)=1, (CF)=1
(3) (AX)=0240H, (OF)=1, (CF)=1
(4) (AX)=0906H, (SF)=0, (ZF)=0
(5) (AX)=20ACH
(6) (AX)=0103H, (CF)=0
(7) (AX)=0DF87H, (CF)=0, (OF)=0, (SF)=1, (ZF)=0
(8) (23000H)~(23004H)=60H, 不影响标志位
(9) (IP)=0A006H, 不影响标志位
(10) (AX)=00B0H, (25060)=2060H, 不影响标志位
11、判断题
(1)、CPU与存储器间及I/O间的连线被称为总线。( )
(2)、采用中断方式进行数据传送时必须在主程序中事先保护现场,否则会引起系统混乱。( )
(3)、当运算产生溢出时,不一定产生溢出中断。( )
(4)、若耍实现定时控制,则需将定时器的计数脉冲输入信号作为中断请求信号。( )
(5)、根据数据传送方向不同,串行通信可分为单工、半双工和全双工三种方式。( )
答案:对 错 对 错 对
12、试分析下面的程序段完成什么操作?
MOV CL,04
SHL DX,CL
MOV BL,AH
SHL AX,CL
SHR BL,CL
OR DL,BL
答案:将DX: AX中的双字左移4位(乘16)
13、有两个3位的ASCII数串ASC1和ASC2定义如下:
ASC1 DB ‘578’
ASC2 DB ‘694’
ASC3 DB ‘0000’
请编写程序计算ASC3←ASC1+ASC2。
答案:
CLC
MOV CX, 3
MOV BX, 2
BACK:
MOV AL, ASC1[BX]
ADC AL, ASC2[BX]
AAA
OR ASC3[BX+1], AL
DEC BX
LOOP BACK
RCL CX, 1
OR ASC3[BX], CL