微机原理复习总结考试题及答案.docx
- 文档编号:25742234
- 上传时间:2023-06-12
- 格式:DOCX
- 页数:27
- 大小:86.52KB
微机原理复习总结考试题及答案.docx
《微机原理复习总结考试题及答案.docx》由会员分享,可在线阅读,更多相关《微机原理复习总结考试题及答案.docx(27页珍藏版)》请在冰豆网上搜索。
微机原理复习总结考试题及答案
微机原理
1、8086从功能上分成两大部分:
总线接口单元BIU(负责8086CPU与存储器和I/O设备间的信息传送。
),执行单元EU(负责指令的执行。
)
2、执行工作方式:
8位微处理器(串行工作),8086(并行工作)。
3、8086微处理器的执行环境:
地址空间,基本程序执行寄存器,堆栈,I/O端口。
4、基本的程序执行寄存器(8086):
8个通用寄存器、1个指令指针寄存器、1个标志寄存器、4个段寄存器
5、8086的16位通用寄存器是:
AX(累加器)BX(基址寄存器)CX(计数)DX(数据):
数据寄存器
SI(源变址)DI(目的变址)BP(基址指针)SP(堆栈指针):
指针寄存器
6、8086的8位通用寄存器是:
ALBLCLDL(低8位)
AHBHCHDH(高8位)
7、16位的段寄存器:
CS、SS、DS、ES
8、16位FLAGS寄存器包含一组状态标(SF,ZF,OF,CF,AF,PF)、一个控制标志(DF)和两个系统标志(IF,TF)
9、下一条将要执行指令的PA=(CS)内容左移4位+(IP)
10、逻辑地址的形式为:
段寄存器:
偏移地址;物理地址=段寄存器(DS/CS/SS/ES)左移四位+偏移地址
11、寻址方式:
(1)立即数寻址方式
(2)寄存器寻址方式(3)直接寻址方式(4)寄存器间接寻址方式(5)寄存器相对寻址方式[立即方式,寄存器方式,存储器方式]
12、最小组态:
就是系统中只有一个8088/8086微处理器,所有的总线控制信号,都是直接由CPU产生的,系统中的总线控制逻辑电路被减到最少,该模式适用于规模较小的微机应用系统。
最大组态:
系统中可以只有一个微处理器,也可以有两个或两个以上的微处理器,其中一个为主处理器,即8086/8088CPU,其它的微处理器称之为协处理器,它们是协助主处理器工作的。
系统的控制信号由8288总线控制器给出。
13、总线分类:
地址总线,数据总线,控制总线
14、总线传输过程的四个阶段:
申请阶段,寻址~,传输~,结束阶段。
15、CPU寻址外设可以有两种方式:
存储器对应输入输出方式和端口寻址的输入输出方式。
16、基本I/O操作由T1、T2、T3、TW、T4组成,占用5个时钟周期。
17、CPU与外设数据传送的方式:
无条件传送方式、查询传送~、中断~、直接数据通道~。
18、8237的编程步骤
(1)输出主清除命令;
(2)写入基与现行地址寄存器;
(3)写入基与现行字节数寄存器;
(4)写入模式寄存器;
(5)写入屏蔽寄存器;
(6)写入命令寄存器;
(7)写入请求寄存
19、CPU和输入/输出设备之间传送的信息有哪几类?
1)、数据2)、状态信息(ready、empty、busy)3)、控制信息
20、CPU响应中断的条件:
(1)、设置中断请求触发器
(2)、设置中断屏蔽触发器(3)、中断是开放的(4)、现行指令执行结束
21、中断优先权次序:
(由高到低)
内部中断NMIINTR单步执行
单步执行(除外)
22、中断向量地址=4*N,其中N为中断类型码
23、若Intel8253的地址为04H~07H,要使得计数器1工作在方式0,仅用8位二进制计数,计数值为128,初始化程序为
MOVAL,50H;控制字=50H=01010000H,
OUT07H,AL;往控制字寄存器输入控制字
MOVAL,80H;计数初值=80H
OUT05H,AL;往计数器1输入初值
24、若要用计数器0,工作在方式1,计数值的初值为5080,按BCD码计数。
(端口地址为0F8H~0FBH)
MOVAL,33H
OUT0FBH,AL
MOVAL,80H
OUT0F8H,AL
MOVAL,50H
OUT0F8H,AL
25、8255A有三种基本的工作方式:
1、方式0:
基本输入输出方式,A,B,C三个端口均可
2、方式1:
选通输入输出方式,A,B两个端口均可
3、方式2:
双向传送方式,只有A端口才有
12、例题:
某系统中8253的端口地址为40H~43H,CLK=1.19MHZ,计数器0工作在方式3,每秒18.2次输出连续方波信号,计数器1工作在方式2,15.12us一次,连续输出单脉冲,计数器2工作在方式3,每秒产生1KHZ的连续方波。
写出它们的初始化编程?
计数器0工作在方式3,每秒18.2次输出连续方波信号:
n=(1/18.2)×1.19×106=65385=FF69H
计数器1工作在方式2,15.12us一次,连续输出单脉冲:
n=15.12×10-6×1.19×106=18=12H
计数器2工作在方式3,每秒产生1KHZ的连续方波:
n=1/1000×1.19×106=1190=04A6H
计数器0:
00110110B=36H
计数器1:
01010100B=54H
计数器2:
10110110B=B6H
初始化编程:
(1)、MOVAL,36H
OUT43H,AL;写入计数器0控制字
MOVAX,65385
OUT40H,AL;写入计数器0计数值的低8位
MOVAL,AH
OUT40H,AL;写入计数器0计数值的高8位
(2)、MOVAL,54H
OUT43H,AL;写入计数器1控制字
MOVAL,12H
OUT41H,AL;写入计数器1计数值
(3)、MOVAL,B6H
OUT43H,AL;写入计数器2控制字
MOVAX,1190
OUT40H,AL;写入计数器2计数值的低8位
MOVAL,AH
OUT42H,AL;写入计数器2计数值的高8位
13、只有MOV、PUSH、POP指令允许以段寄存器作为操作数,目的操作数不能是立即数和CS,单操作数指令中的操作数不能是立即数
14、例1计算(V-(X*Y+Z-540))/X其中X、Y、Z、V均为16位带符号数,已分别装入X、Y、Z、V单元中,要求计算结果的商存入R单元,余数存入W单元。
datasegment
xdw1234h
ydw3456h
zdw5678h
vdw7834h
rdw?
wdw?
dataends
codesegment
assumecs:
code,ds:
data
begin:
movax,data
movds,ax;//建立ds段地址
movax,x;//被乘数存入ax
imuly;//x*y
movcx,ax;//乘数的低位字存入cx
movbx,dx;//乘数的高位字存入bx
MOVAX,Z;加数Z存入AX
CWD;把Z扩展成双字
ADDCX,AX;乘积的低位字与Z的低位字相加
ADCBX,DX;乘积与Z的高位字和低位的进位相加
SUBCX,540;(X*Y+Z)的低位字减去540
SBBBX,0;(X*Y+Z)的高位字减去低位的借位
MOVAX,V;被减数V存入AX
CWD;把V扩展成双字
SUBAX,CX;V的低位字与(X*Y+Z-540)的低位字相减
SBBDX,BX;V的高位字与(X*Y+Z-540)的高位字相减
IDIVX;(V-(X*Y+Z-540))/X
movr,ax;//商存入r单元
movw,dx;//余数存入w单元
movah,4ch
int21h;//返回dos
codeends;//代码段结束
endbegin;//汇编结束
14、设X、Y都是字节变量,请编一程序完成下式的计算y=1X>0;Y=0X=0;
Y=-1X<0;
datasegment
xdb-5
ydb?
dataends
codesegment
assumecs:
code,ds:
data
start:
movax,data
movds,ax
cmpx,0
jgloop1;//有条件转移大于
jeloop2;//有条件转移等于于
movy,-1
jmpexit;//无条件转移
loop1:
movy,1
jmpexit
loop2:
movy,0
exit:
movah,4ch
int21h
codeends
endstart
15、编程计算SUM=∑ai=a1+a2+...+a20,已知a1......a20依次存放在以BUF为首址的数据区,每个数据占两个字节,和数SUM也为两个字节。
datasegment
bufdw1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
sumdw0
dataends
codesegment
assumecs:
code,ds:
data
start:
movax,data
movds,ax
movax,0
leabx,buf;//装入有效地址
movcx,20;//将循环次数放入cx
lop:
addax,[bx];//[bx]为偏移地址
incbx;//增加1
incbx;//->2
looplop
movsum,ax
movah,4ch
int21h
codeends
endstart
16、从string单元开始存放一个字符串,以回车符结束,编写程序统计这个字符串的长度(小于255,不包括回车符),并存入ll单元。
datasegment
stringdb'abcdefgh',0dh
lldb?
dataends
codesegment
assumecs:
code,es:
data
begin:
movax,data
moves,ax
leadi,string;//设串的地址指针
movdl,0;//置串长度初值为0
moval,0dh;//串结束标志al
cld
again:
scasb
jedone
incdl;//串长度加1
jmpagain
done:
movah,4ch
int21h
codeends
endbegin
一、填空题(20*1)
1、微机系统由(硬件系统)和(软件系统)两部分组成。
2、8086有(20)位地址线,存储器容量为(1M)B。
3、8086CPU内部组成结构从功能上讲,可分为(BIU)和(EU)两部分。
4、8086/8088的四个段寄存器为(DS)、(ES)、(SS)、(CS)
5、用来存放CPU状态信息的寄存器是(FLAGS)。
6、用来存放指令地址的寄存器是(IP)。
7、8086的16位标志寄存器FLAGS中OF=1表示运算结果(溢出),ZF=1表示运算结果为零。
PF=0表示运算结果的低8位中1的个数为(奇数)。
8、8086的16位标志寄存器FLAGS中IF=1表示CPU(允许)中断,TF=1表示CPU进入(单步)工作方式。
9、地址4000H:
0300H,其物理地址是(40300H),段地址是(4000H),偏移地址是(0300H)。
10、8086存储器管理采用(分段管理)技术。
11、I/O端口的寻址方式有两种,分别是(直接寻址),(间接寻址)。
12、指令JONEXT表示OF=
(1)时转移。
13、将I/O设备端口内容读入AL中的指令助记符是(IN)。
14、8086CPU的I/O指令采用间接寻址时,使用的间接寄存器是(DX)。
15、设置DF=1的指令为(STD)。
16、清除CF标志的指令为(CLC)。
17、一对操作堆栈的指令为(POP)和(PUSH)。
18、LOOPNZ的循环条件为(CX≠0且ZF=0)。
19、实现无符号数乘2的指令的助记符是(SHL),实现有符号数除2的指令的助记符是(SAR)。
20、变量/标号的三个属性是(段属性),(偏移属性),(类型属性)。
21、DEBUG命令中,反汇编命令的英文字母为(U),显示内存命令的英文字母为(D),跟踪执行命令的英文字母为(T),显示和修改寄存器的命令(R),汇编命令是(A)。
22、8086CPU引脚信号中中断请求两个信号名称为(INT)和(NMI)。
23、半导体存存储器按使用功能分为(RAM)和(ROM)两种。
24、地址译码方式有(单译码)和(双译码)两种。
25、接口电路中一般有(数据)、(状态)和(控制)三种端口。
26、I/O端口的编址方式一般有(存储器统一编址)和(独立编址)两种
27、CPU与IO设备之间数据传送控制方式常见的有(程序控制方式)、(中断控制方式)和(DMA)三种。
28.在串行通信中有(同步通讯)、(异步通讯)两种最基本的通信方式。
29.1片8259A中断控制器可管理(8)级中断,用9片8259A可构成(64)级主从式中断管理系统。
1.8086/8088CPU的数据线和地址线是以分时复用方式轮流使用的。
2.CPU中的总线接口部件BIU,根据执行部件EU的要求,完成CPU与存储器或I/O设备的数据传送。
3.8086中的BIU由4个16位段寄存器、一个16位指令指针、6字节指令队列、20位地址加法器和控制电路组成。
4.8086/8088构成的微机中,每个主存单元对应两种地址:
段地址和偏移地址。
5.对于8259A的中断请求寄存器IRR,当某一个IRi端呈现1时,则表示该端有中断请求。
6.若8259A中ICW2的初始值为40H,则在中断响应周期数据总线上出现的与IR5对应的中断类型码为45H。
7.在存储器的层次结构中,越远离CPU的存储器,其存取速度越慢,存储容量越大,价格越低。
8.存储器的存取速度可用存取时间和存取周期两个时间参数来衡量,其中后者比前者大。
9.中断返回指令IRET总是排在最后。
10.若8255A的系统基地址为2F9H,且各端口都是奇地址,则8255A的三个端口地址为2FAH,2FCH,2FEH。
二、选择题(20*1)
1、源的变址寄存器是(A)。
A)SIB)DIC)SPD)BX
2、用来存放即将执行的指令的偏移地址的寄存器是(B)。
A)SPB)IPC)BPD)CS
3、用来存放运行结果状态的寄存器为(C)操作。
A)SPB)SIC)FLAGSD)DX
4、微机中控制总线传送的是(D)。
A)存储器和I/O接口的地址码
B)微处理器向内存储器和I/O接口传送的命令信号
C)存储器和I/O设备向微处理器传送的状态信号
D)B和C
5.在下列指令的表示中,不正确的是(C)
A.MOV AL,[BX+SI] B.JMP SHORT DONI
C.DEC 100 D.MUL CL
6.将DX的内容除以2,正确的指令是(C)
A.DIV 2 B.DIV DX,2C.SAR DX,1D.SHL DX,1
7.若栈顶的物理地址是20100H,当执行完POPAX指令后,栈顶的物理地址是(A)。
A)20102HB)20101HC)20100HD)20103H
8.下列指令中,源操作数的寻址方式中,(C)属于立即寻址,(B)属于寄存器寻址,(E)属于寄存器间接寻址,(A)属于直接寻址,(D)属于寄存器相对寻址。
A)MOVAX,[4000H]B)MOV[BX],AX
C)SUBAX,2000HD)MOVAX,[SI+12H]
E)MOVCX,[BX]F)MOVAX,[SI+BX+10H]
9.下列指令中错误指令是(B)、(E)和(F)。
A)MOVAX,DSB)MOVCS,1500H
C)MOVSI,BXD)MOV[3000H],AL
E)MOV[DI+32H],[1845H]F)MOVAL,1000H
10.指令LOOPNZ的循环结束条件是(D)。
A)CX=0且ZF=0B)CX=0或ZF=0
C)CX=0且ZF=1D)CX=0或ZF=1
11.语句DA1DB2DUP(4,6),5汇编后,与该语句功能等同的语句是(C)。
A)DA1DB4,6,5B)DA1DB2,4,6,5
C)DA1DB4,6,4,6,5D)DA1DB4,6,5,4,6,5
12、对于语句YDW10DUP(0),则TYPEY为(A)、LENGTHY为(B),SIZEY为(C)。
A)2B)10C)20D)4
13、8086CPU引脚MN/MX接电源电压时,表示系统工作于(A)。
A)最小模式B)最大模式
14、8086/8088CPU的RD、M/IO引脚上为逻辑0时,意味着(C)操作。
A)读存储器B)写存储器C)读I/O端口D)写I/O端口
15、Intel8286的作用是(D)
A)地址锁存B)产生时钟C)总线控制D)数据驱动
[3、Intel8282的作用是(A)
A)地址锁存B)产生时钟C)总线控制D)数据驱动
4、Intel8284的作用是(B)
A)地址锁存B)产生时钟C)总线控制D)数据驱动
6、Intel8288的作用是(C)
A)地址锁存B)产生时钟C)总线控制D)数据驱动
16.以下存储器件,若存有数据,当掉电时,(B)存储器件不能保留原有数据?
A)磁芯存储器B)RAMC)ROM
17.可编程芯片8259的作用是(B)。
A.定时/计数B.中断控制C.并行输入输出D.数/摸转换
18.在串行通信中,每一位数据传送所需要时间与(A)有关。
A.波特率B.帧格式C.CPU频率D.固定不变
19.芯片DAC0832的作用是(D)。
A.定时/计数B.模/数转换C.并行输入输出D.数/模转换
20.芯片ADC0809的作用是(B)。
A.定时/计数B.模/数转换C.并行输入输出D.数/模转换
三、问答题(5*6)
1、微机系统的总线结构分哪三种?
单总线、双总线、双重总线
2、模型机有哪些寄存器,以及作用?
答:
通用寄存器组:
可由用户灵活支配,用来存放参与运算的数据或地址信息。
地址寄存器:
专门用来存放地址信息的寄存器。
程序计数器:
它的作用是指明下一条指令在存储器中的地址。
指令寄存器:
用来存放当前正在执行的指令代码
指令译码器:
用来对指令代码进行分析、译码,根据指令译码的结果,输出相应的控制信号
3、8086CPU的内部结构由哪两部分组成,各组成部件又有哪些部件组成、功能是什么?
答:
8086CPU内部结构由BIU\EU两部分组成.
(1)EU的组成和各组成部件功能如下:
算术逻辑运算单元:
用于8位/16位二进制算术和逻辑运算.
通用寄存器组:
用来存放操作数或操作数的地址
标志寄存器:
用来存放反映CPU运算的状态特征和存放某些控制标志
数据暂存器:
协助ALU完成运算,暂存参加运算的数据
(2)BIU的组成和各组成部件功能
地址加法器:
用来形成20位物理地址
段寄存器:
用来存放段的基值
IP:
存放下一条指令的地址
指令队列缓冲器:
用来存放预取的指令
总线控制逻辑:
将内部总线和外部总线相连.
4、8086/8088为什么采用地址/数据复用技术?
8086有哪些管脚是复用的?
答:
考虑到芯片成本,8086/8088采用40条引线的封装结构。
40条引线引出8086/8088的所有信号是不够用的,采用地址/数据线复用引线方法可以解决这一矛盾,从逻辑角度,地址与数据信号不会同时出现,二者可以分时复用同一组引线。
8086管脚复用有:
AD15~AD0是分时复用的存储器或端口的地址和数据总线。
地址/状态总线A19/S6~A16/S3BHE/S7为高8位数据总线允许/状态复用引脚
5、CPU在中断周期要完成哪些主要的操作?
答:
CPU在中断周期要完成下列操作:
(1)关中断
(2)保留断点(3)保护现场(4)给出中断入口地址,转去相应的中断服务程序(5)恢复现场(6)开中断与返回
8、芯片8255有几个控制字?
各自功能如何?
若8255A控制字写入同一个控制端口如何区分不同的控制字?
答:
芯片8255有2个控制字:
方式选择控制字和端口C置位/复位控制字。
功能如下:
方式选择控制字:
制定工作方式工作。
端口C置位/复位控制字:
通过对控制寄存器写入端口C置位/复位控制字来实现对其按位控制。
通过控制字D7作为特征位来区分不同的控制字。
五、计算题(1*10)
1、设有一个具有13位地址和8位字长的存储器,问:
(1)存储器能存储多少字节信息?
213*8/8=8KB
(2)如果存储器由1K*4bRAM芯片组成,共需要多少片?
总容量/单片容量=(8K*8b)/(1K*4b)=16
(3)需要哪几?
A12A11A10三个高位地址做片选译码来产生片选信号
四、程序设计题(2*10)
1、编写一个汇编语言程序,要求从键盘输入一个小写字母,将其转换成大写字母在屏幕上显示出来。
DATASEGMENT
BUFDB0DH,0AH,"PLEASEINPUTACHAR:
$"
DATAENDS
STACKSEGMENT
DB20DUP(?
)
STACKENDS
CODESEGMENT
ASSUMEDS:
DATA,CS:
CODE,SS:
STACK
BEGIN:
MOVAX,DATA
MOVDS,AX
LEADX,BUF;9号调用显示PLEASEINPUTACHAR:
MOVAH,9
INT21H
MOVAH,1;1号调用,从键盘接收1字符
INT21H
CMPAL,61H/41H;若比“a”/A小转PEND
JBPEND
CMPAL,7AH/5BH;若比“z”/Z大转PEND
JAPEND;
ADD/SUBAL,20H;如在“a”与“z”之间则减去20变为大写字符
MOVDL,AL
MOVAH,2;2号功能调用显示一个字符
INT21H
PEND:
MOVAH,4CH;程序结束运行,返回DOS
INT21H
CODEENDS
ENDBEGIN
2、已知芯片8253的端口地址为4F0H~4F3H,设计数器1工作在方式1,计数器初值为3060H,采用二进制计数,请设计实现上述功能的8253初始化程序。
8253控制字格式如下:
因为计数器初值为3060H,即为16位的,所以读/写格式为11
因此控制字为:
01110010=72
控制字:
MOVAL,72H
OUT4F3H,AL
低8位:
MOVAL,60H
OUT4F1H,AL
高8位:
MOVAL,30H
OUT4F1H,AL
2.用8088
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 复习 总结 考试题 答案