微机原理与接口技术总复习文档格式.docx
《微机原理与接口技术总复习文档格式.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术总复习文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
2、主要引脚信号
AD0~AD15,A16/S3~A19/S6,(地址锁存的必要性)
BHE,NMI,INTR,INTA,HOLD,HLDA,RESET,
READY,ALE,DEN,LOCK,RD,WR,M/IO。
☞熟悉8086CPU内部寄存器阵列
☞了解8086最大组态与最小组态的区别
☞熟悉存储器物理地址的生成及存储器组织
20位地址如何生成;
存储器是如何组织的,
字节、字、字符串在内存中是如何存放的。
☞熟悉CPU中的标志寄存器及堆栈
6个状态标志+3个控制标志;
堆栈定义、堆栈组成及操作,为什么要设置堆栈?
☞熟悉系统的输入/输出结构和基本总线周期
(会画读、写周期基本时序图)
2.2相关习题
1.8086CPU从功能上分为EU和BIU两部分。
8086CPU中执行部件的功能是负责
指令的执行。
2.8086中的BIU中有4个16位的段寄存器、一个16位的指令指针、6字节指令队列、20位的地址加法器。
3.8086可以访问16位和8位的寄存器。
4.8086CPU从偶地址读出两个字节时,需要1个总线周期;
从奇地址读出两个字节时,需要2个总线周期。
5.8086CPU对外的数据线是16根,地址线是20根,数据线和地址线是以分时复用方式轮流使用的。
6.8086的ALE引脚的作用是地址锁存。
7.8086CPU的最小工作模式是指控制信号由CPU产生,它是通过将MN/引脚接电源
来实现的。
8.8086CPU上电复位后,执行第一条指令的地址是FFFF0H。
9.8086CPU构成的微机中,每个主存单元对应两种地址:
逻辑地址和物理地址。
10.CPU访问存储器时,在地址总线上送出的地址称为物理地址。
11.对于8086CPU,逻辑地址是由段地址和偏移量组成,设有逻辑地址1000H:
2345H,试写出其对应的物理地址12345H。
12.段基址是由段寄存器存储。
物理地址是指实际的20位主存单元地址。
13.对于8086/8088CPU,设有物理地址00400H,试写出其两种不同的逻辑地址0000:
0400H、0010:
0300H。
14.8086系统最多可管理1M字节存储单元。
15.8086系统中,存储器分为奇、偶两个存储体,其中,奇地址存储体的数据信号线固定与数据总线的高8位相连,偶地址存储体与数据总线的低8位相连。
第三章指令系统
3.1基本知识结构
☞熟悉指令格式和几种常用的寻址方式
指令有两部分组成;
6种常用的寻址方式
☞熟悉常用的指令,掌握某些指令对标志的影响
*常用指令:
传送,加、减、乘、除,逻辑运算,循环与移位,无条件与条件转移等。
*影响标志的指令:
参看教材P376中附录
*如何根据标志判断两数的大小(分两种情况)
3.2相关习题
1.计算机的指令通常包含操作码和操作数两部分。
2.设SP为0100H,SS为1000H,则执行PUSHAX后,SP=00FEH,SS=1000H。
3.8086系统中,栈底在堆栈的最高地址端(最高地址端、最低地址端)。
4.如果VAL为数据段中0056H单元的符号名,其中存放的内容为0FF2H,当执行指令:
•MOVBX,VAL后,BX=0FF2H;
•而执行:
LEABX,VAL后,则BX=0056H。
5.设CS=2500H,DS=2400H,SS=2430H,ES=2520H,BP=0200H,SI=0010H,DI=0206H则:
指令MOVAX,[BP+SI+4]源操作数的有效地址为0214H,物理地址为24514H。
指令MOVAX,[DI+100H]源操作数的有效地址为0306H,物理地址为24306H。
6.设AX=2000H,BX=2002H,则在执行了指令CMPAX,BX后,标志位CF为1,AX=2000H。
7.执行指令“XORAX,AX”后,标志位ZF的值为1。
8.若(AL)=10011000B,(BL)=01100111B,则执行指令“ADDAL,BL”后,(AL)=11111111B;
执行指令“ANDAL,BL”后,(AL)=00000000B。
9.在使用8086间接输入/输出指令时,必须在执行该指令之前将相应的端口地址送入DX寄存器中。
第四章汇编语言及其程序设计
4.1基本知识结构
☞宏汇编
1.掌握常用的伪指令:
DB,DW,DD,EQU,=,ORG,
SEGMENT….ENDS,PROC…ENDP,ASSUME,
MECRO…ENDM,LOCAL,END等
2.如何汇编、连接生成.EXE文件
☞程序设计
1.能用汇编语言编写程序(一般约40条左右)。
2.能熟练运用各种伪指令,包括会用宏指令(宏定义中如何用LOCAL定义标号)。
3.能对程序改错,查错且会完善程序(程序填空)。
4.编程的题型可能有程序改错、查错、完善、编程等。
4.2相关习题
1.内存中有X、Y两个数:
X=32,Y=-78利用汇编语言编写完整的程序,计算这两个数之和,并将结果存入内存S,即:
S=X+Y。
参考程序:
DATASEGMENT
XDB32
YDB-78
SDB?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAL,X
ADDAL,Y,X与Y进行相加
MOVS,AL
MOVAH,4CH,终止当前程序并返回调用程序
INT21H
CODEENDS
ENDSTART
2.编程检测从外设端口71H输入的字节数据,若该数据≤20,则向73H端口送00H;
若该数据>
20,则向73H端口送0FFH。
请写出完整的汇编源程序。
ASSUMECS:
CODE
START:
INAL,71H
CMPAL,20,比较外设端口71H输入的字节数据与20D的大小。
JNGK1,NG:
NOTGREATER(不大于),当外设端口71H输入的字节数据不大于20D时,跳转至K1。
MOVAL,0FFH
JMPK2
K1:
MOVAL,00H
K2:
OUT73H,AL
INT21H
CODEENDS
ENDSTART
3.编程检测80H端口输入的字节数据,若为正,将BL清0;
若为负,将BL置为FFH。
CODESEGMENT
CODE
INAL,80H
TESTAL,80H,检测AL的最高位,若为1,则为负数,与80H按位相与后ZF=0
JZAPOS,如果ZF=1,则跳转,但当AL为负数时,ZF=0,不跳转,若AL为正数时,ZF=1,此时就跳转至APOS。
MOVBL,0FFH
JMPEXIT
APOS:
MOVBL,00H
EXIT:
INT21H
CODEENDS
4.内存中有X、Y两个数组:
X=32、-43、76,Y=-78、127、-128利用汇编语言编写完整的程序,计算这两个数组之和,即S(i)=X(i)+Y(i)
DATASEGMENT
XDB32,-43,76
YDB-78,127,-128
SDB3DUP(0)
DATAENDS
CODESEGMENT
MOVBX,00H
MOVCX,3
AGAIN:
MOVAL,X[BX]
ADDAL,Y[BX],将X与Y数组对应元素相加
MOVS[BX],AL,将相加的结果放入S数组
INCBX,BX加1
LOOPAGAIN,在CX不等于0之前跳转至AGAIN
MOVAH,4CH,终止当前程序并返回调用程序
CODEENDS
5.在BLOCK开始有一个字节型数组,共有15个元素,利用汇编语言编写完整的程序,计算这个数组中奇数的个数,并将结果存入内存SUM单元。
DATASEGMENT
BLOCKDB15DUP(?
)
SUMDB00
DATAENDS
CODESEGMENT
DATA
MOVSI,OFFSETBLOCK
MOVCX,15
CON:
MOVAL,[SI]
TESTAL,01H,检测AL的最低位,若为1,则为奇数,与01H按位相与后ZF=0
JZNEXT,如果ZF=1,则跳转,但当AL为奇数时,ZF=0,不跳转,若AL为偶数时,ZF=1,此时就跳转至NEXT。
INCSUM,若AL为奇数,SUM自加1
NEXT:
INCSI,SI自加1,检测下一个数据
LOOPCON,在CX不等于0之前跳转至CON
MOVAH,4CH,终止当前程序并返回调用程序
INT21H
6.在BUF开始有一个字节型数组,共有50个元素,利用汇编语言编写完整的程序,将该数组全部元素清零。
BUFDB50DUP(?
MOVAX,DATA
MOVSI,OFFSETBUF
MOVCX,50
MOV[SI],00H,依次将该数组全部元素清零。
INCSI
LOOPCON
MOVAH,4CH
7.在BUF开始有一个字节型数组,共有100个元素,利用汇编语言编写完整的程序,计算这个数组中负数的个数,并将结果存入内存COUNT单元。
BUFDB100DUP(?
COUNTDB00
MOVCX,100
MOVAL,[SI]
TESTAL,80H,检测AL的最高位,若为1,则为负数,与80H按位相与后ZF=0
JZNEXT,如果ZF=1,则跳转,但当AL为负数时,ZF=0,不跳转,若AL为正数时,ZF=1,此时就跳转至NEXT。
INCCOUNT,如果AL为负数,计数器COUNT自加1
INCSI,SI自加1,检测下一个数据
LOOPCON,在CX不等于0之前跳转至CON
第五章存储器及存储器子系统
5.1基本知识结构
☞熟悉存储器的分类及各类存储器的特点
(SRAM,DRAM,ROM,PROM,EPROM,EEPROM,FLASH)
要求了解SRAM、DRAM、EPROM的内部结构、特点。
(存储器层次结构、DRAM为何要刷新;
为何没有片选等;
给出芯片容量,会计算地址引脚数;
反之也会计算)
☞存储器接口设计
熟悉存储器地址译码(包括译码电路设计,或者给出译码电路后,写出存储器地址范围)
5.2相关习题
第六章总线技术
6.1基本知识结构
☞了解总线的分类和总线的基本知识
(如:
性能指标、总线带宽计算、信息传送方式、数据传送周期、总线仲裁技术、握手技术等)
第七章I/O接口与中断技术
7.1基本知识结构
☞I/O接口的基本知识
(包括接口的重要作用、主要功能、编址方式、信息传送方式、地址译码等)
☞中断的基本原理
(包括中断的全过程:
请求、判优、响应、处理、返回。
对中断响应要进行哪些操作要熟悉,根据向量号如何找到中断服务程序入口地址?
)
☞PC机的中断系统
(包括中断源、各类中断源的优先级别、中断嵌套、中断类型号、中断向量表、几种中断源的响应过程的异同等)
☞中断控制器8259A的级联方式
7.2相关习题
1.8086/8088CPU的中断分成内部中断和外部中断两大类,8086系统中硬件中断可分为 NMI中断和 INTR中断两种。
2.8086系统最多能识别256种不同类型的中断,每种中断在中断向量表中分配有4个字节单元,用以指示中断服务程序的入口地址。
3.8086提供的可接受外部中断请求信号的引脚是 INTR 和 NMI 。
两种请求信号的不同之处在于 是否可屏蔽。
4.若中断类型码N=2H,则对应的中断向量在中断向量表中第一个字节单元地址为0008H。
5.可屏蔽中断从CPU的INTR引脚进入,只有当中断允许标志IF为1时,该中断才能得到响应。
6.8086/8088CPU响应一个外部可屏蔽硬件中断的条件是:
一、外设有请求;
二、IF是开放的;
三、必须在当前指令结束后。
7.采用级联方式,用9片8259A可管理64级中断。
第八章接口技术
8.1基本知识结构
☞定时与计数技术
1.定时器的基本原理
2.8253/8254的内部结构及工作方式
3.会应用8253/8254(包括对其接口译码与编程)
☞并行传输及其接口
1.并行传输的特点及其联络方式
2.8255A的内部结构及工作方式
3.会应用8255A(包括对其接口译码与编程)
☞DMA技术
1.DMA传输的特点、传输方式及操作类型
8.2相关习题
1.计算机对I/O端口的编址方法有存储器统一编址、I/O单独编址两种。
8086CPU中一般采用独立编址方法。
2.CPU与I/O接口间的信息一般包括 状态 、数据 、 控制 三种类型。
3.CPU与外设的数据传送方式有程序查询传送、中断传送、DMA传送三种方式。
4.可编程接口芯片8255A含有3个8位的I/O口。
5.可编程接口芯片8255A的I/O口可以通过编程的方式来设定其工作方式,其中A口工作方式有3种(方式0、1、2);
B口工作方式有2种。
(方式0、1)
那B口为什么不能工作于方式2?
因为C口只有8条信号线,当A口工作于双向方式时,要用5条C口的线做联络信号,剩下3条线不能满足B口工作于双向方式。
当A口工作于双向方式时,B口可工作于方式1,因为此时C口还有3条信号线正好用于B口方式1的联络信号。
6.8086/8088CPU可访问2个独立的地址空间,一个为I/O地址空间,其大小为64K字节;
另一个为存储地址空间,其大小为1M字节。
7.设计输入/输出接口时,应遵守的基本原则是:
输入缓冲;
输出锁存。
第二部分:
简答题
其余简答题解答过程如下:
1.8086为什么采用地址/数据引线复用技术
答:
由于8086CPU只有40条引脚,而它的数据线宽度是16位的,地址线宽度是20位的,因此引脚的数量不能满足要求。
于是CPU内部采用了一些多路开关,让低16位地址线与16位数据线公用这些引脚,在时间上加以区分。
在
周期,CPU在这些引脚上输出存储器或I/O口地址,在
,
和
周期,它们则为数据收发引脚。
2.假设某程序段中的数据定义如下:
DA1DW?
,2DUP
(1)
DA2DB32H,25H
DA3DB?
CUNTEQU$-DA1($-DA1=9表示数据段占用的存储空间)
问:
(1)画出内存分配图(注意:
DW是先存低字节,后存高字节)
(2)变量DA1、DA2、DA3各占用几个字节?
CUNT的值是多少?
它表示什么意义?
DA1占6个字节,DA2占2个字节,DA3占1个字节,CUNT的值是9,它表示数据段占用的存储空间。
3.总线周期的含义是什么?
8086的基本总线周期由几个时钟周期组成?
如果一个CPU的时钟频率为4.77MHz,那么,它的一个时钟周期是多少?
一个基本总线周期为多少?
①一个总线周期是CPU通过总线与外部逻辑(存储器或I/O端口)进行一次通讯所需的时间。
②8086的基本总线周期是由4个时钟周期组成的。
③如果一个CPU的时钟频率为4.77MHz,那么,它的一个时钟周期是1/(4.77*
)s,一个基本总线周期为4/(4.77*
)s.
4.画出8088最小模式存储器写操作的总线信号时序。
要求有地址与数据信号(
),地址锁存(
),读控制信号(
)、写控制信号(
)、I/O或存储器访问信号(
)和时钟信号(
5.在DATA1开始有一个字节型数组,共有256个元素,利用汇编语言编写完整的程序,将该数组全部元素置位。
(要求写出程序流程图)
程序流程图如下:
BUFDB256DUP(?
MOVAX,SEGDATA
MOVSI,OFFSETBUF
MOVCX,256D
DC:
MOVBYTEPTR[SI],00H,依次将该数组全部元素清零。
LOOPDC
6.某系统的存储器采用2K×
8的芯片构成,并采用74LS138译码器输出作为片选信号。
如下图所示:
(假设系统地址总线为16位)求:
1)存储器的类型(RAM、ROM)是什么?
总容量为多少?
存储器的类型是RAM,因为该芯片既可以读又可以写。
扩展后总容量是6K×
8bit。
2)写出1#、2#、3#存储器芯片的地址范围
7.INTEL8255A接口芯片
(1)该芯片谁作为输入口,谁作为输出口?
A口作为输入口,B口作为输出口。
(2)现给出8255A工作方式控制字格式如下,请编写程序片段对8255进行初始化,先预置开关K3~K1为一组状态,然后按下自复按钮K产生一个负脉冲信号,CPU接收到此信号后,用发光二极管LEDi亮,显示K3~K1的状态。
K1~K3的状态为从000到111,LEDi从LED7到LED0亮。
(注:
LED显示器“亮”,表示开关“断开”)。