西华大学微机原理考试题库.docx
《西华大学微机原理考试题库.docx》由会员分享,可在线阅读,更多相关《西华大学微机原理考试题库.docx(22页珍藏版)》请在冰点文库上搜索。
西华大学微机原理考试题库
1,典型中断处理程序结构应包括CPU中断响应,保护现场,开中断,执行中断服务程序,关中断,恢复现场,开中断,返回等部分。
2,按照总线的规模,用途及其应用场合,总线分为数据总线,地址总线,控制总线
3,串行接口RS-232C关于机械特性的要求,规定使用一个9根插针的标准连接器
4,CPU与I/O接口间传送的信息一般包括数据信息,状态信息,控制信息3种类型。
3类信息的传送方向分别应是(从哪到哪)CPUI/O,CPUI/O,CPUI/O
5,输入/输出端口有2种编址方法,即I/O端口与存储器单元统一编址和I/O端口单独编址,前一种编址的主要优点是1,CPU对外设的操作可使用全部的存储器操作指令2,由于I/O端口的地址空间是存空间的一部分,这样I/O端口的地址空间可大可小从而使外设的数目几乎不受限制,而只受总存储量的限制,从而大大的增加了系统的吞吐率3,不需要专门的输入/输出指令,降低了对操作码的解码难度
6,8088系统中外围设备请求总线控制权是通过HOLD进行的
7,8086通过中断控制器最多可望管理外部中断的个数为256
8,CPU的ALU的主要完成算数,逻辑运算及位移操作
9,若设某容量为2K字节的RAM起始地址为1000H,则其终止地址为17FFH
10,8088/8086系统中外围设备可屏蔽中断请通过INTR进行的
可编程定时/计数器8253的工作方式共有6种,其中3个定时/计数器通道,3个地址寄存器
11CPU马上响应中断的必要条件之一是一条指令执行完毕后
12CPU与I/O接口间信息传送的方式有无条件传送,查询传送,中断传送,DMA传送,DMA传送方式为快速传递方式
13,8086/8088的中断响应用了2个总线周期,从INTA引脚输出2个负脉冲,第1个总线周期完成AD15---AD0浮空,通知中断源,准备中断类型码,复位中断请求信号,第2个总线周期完成被响应的外设(或接口芯片)向数据总线AD7---AD0输送一个字节的中断类型码
14,在Intel8253A过对其中一个控制端口的编程设定和控制工作方式,其端口地址是当A1A0=11时的地址,而存单元的有效偏移地址可由直接寻址方式,寄存器间接寻址方式,寄存器相对寻址方式,变址寻址方式,基址寻址方式,相对基址变址寻址方式
15,8088CPU有20根外部地址线,8根外部数据线,其存储器分段管理,每段最大64KB,段基地址在段寄存器组中
16,8088CPU工作在最大模式,必须将CPU的引脚MN/MX接地(MN/MX=0)
17,8088CPU工作在最大模式时,MN/MX=1,用8288对S2,S1,S0信号译码产生相应的总线控制信号
18,8086对外部请求相应优先级最高的请HOLD19,个人计算机I/O寻址空间大小一般为64K
20,一个程序可包含四个段,代码段包含可执行的指令,堆栈段包含一个后进先出的数据警戒区,用于保护子程序调用时的段现场地址,和现场IP信息
在宏汇编语言源程序中指令MOVAX,2345经汇编后变成MOVAX,0929H(用指令表示)在DEBUG调试程序中执行该指令后(AX)=2345H宏汇编默认十进制,DEBUG默认十六进制
21,8088CPU在执行指令INT13H时,断点地址压栈后,将转而执行中断服务子程序,入口地址存入在存的0004CH单元到0004FH单元,其中低地址的字送至寄存器IP中,高地址字送至寄存器CS中
22,若寄存器DL容为2AH,PORT_VAL为端口13H的符号名,宏汇编语言系统对指令AND DL,PORT_VAL AND OFEH汇编后产生的语句为ANDDL,12H,DL容为2AH,执行指令后DL=02H
23,在串行通信方式中,有两种最基本的通信方式是异步通信(ASYNC)方式,同步通信方式
24.8086/8088中,一个最基本的总线周期由4个时钟周期(T状态)组成,在T1状态,CPU往总线发出地址信息
25,8086/8088复位后从FFFF0H地址处开始执行程序
26,在堆栈,有效地址为2500H到2505H单元依次存放10H,20H,30H,40H,50H,60H六个数,已知SP=2502H,执行POP BX后,有SP=2504H,BX=4030H27,能完成将AL寄存器清零的有SUBAL,AL XORAL,AL MOVAL,0
28,8086的存空间和I/O空间是单独编址的,分别是1MB和64KB
29,8086部由执行单元(EU)和总线接口单元(BIU)两部分组成,其作用分别是从BIU中获得指令并执行和从存储器的指定区域中取出指令送到指令队列中去排队
30,8086的基址加变址寻址方式中,基址寄存器可以是BX,BP,变址寄存器可以是SI和DI
31,标号和变量均是汇源程序中的符号地址,其中标号指向的存单元中存放的是指令,而变量指向的存单元中存放的是数据。
若VAR为一变量,LAB为一标号,则:
JMP LAB和JMP VAR两条指令中,只有JMP LAB是合法的
32,8086/8088输出指令OUT DX,AX的执行结果是将AX容送至(DX)指定I/O接口地址
33,8086/8088提供的能接受外部中断请示信号引脚是NMI和INTR,两种请示信号的主要不同处在于INTR为可屏蔽中断请求,NMI为非屏蔽中断请求
34,8086有两种工作模式,即最小模式和最大模式,它由MN/MX决定,最小模式的特点是CPU提供全部的控制信号,最大模式的特点是需总线控制器828835,8086/8088系统要锁存20位地址和BHE信号,需要3个8282作地址锁存器。
除了8282之外,8086/8088系统中也常用74LS373作为地址锁存器
36,当M/IO="0",RD="0",WR="1"时,CPU完成的操作为I/O读
37,在一般微处理器中,算术逻辑单元包含在中央处理器(CPU)
38,8086CPU认可中断后,CPU自动执行1,存下程序计数器2,存下状态寄存器3,暂不接受较低优先级别的中断
简答
1、8088的寻址方式有哪些?
他们各有何特点?
分别举例说明
答:
1立即寻址方式:
其所提供的操作数直接包含在指令中,与操作码一起放在代码段存储器的区域中,这个操作数称为立即数eg.MOVAL,57H。
2,寄存器寻址方式:
要寻找的操作数存放在CPU部某个寄存器中,指令中直接使用寄存器名eg.MOVAX,BX。
3,直接寻址方式:
其源操作数为16位偏移地址(有直接地址和标号地址两种形式)eg.MOVAX,[2000H]。
4,寄存器间接寻址方式:
操作数存放在存储器中,操作数的16位段偏移地址放在SI,DI和BP,BX中的一个寄存器eg.MOVAL,[SI]。
5,寄存器相对寻址方式:
存放实际操作数的存储器地址值为指令中的变址寄存器SI,DI和BP,BX中的一个寄存器的容与指令中给定的相对位置之和eg.MOVAX,[SI+1000H]。
6,基址变址寻址方式:
BX和BP作为基址寄存器,SI和DI作为变址寄存器,将这两种寄存器联合起来进行的寻址eg.MOVAX,[BX+DI]。
7,相对基址变址寻址方式eg.MOVAX,DISP[BX+DI]。
8,隐含寻址方式
二,简述中断响应,服务,以及返回过程,并以INT25H为例,说明中断向量表的作用
答:
1,描述中断响应及处理过程6步:
关中断保留断点保护现场给出中断入口,转入相应的中断服务程序恢复现场开中断与返回(流程图表示更好)2,中断向量表的作用:
8086/8088在存的00000H---003FFH的1K空间建立了中断向量表,可以容纳256个中断向量(或256个中断类型)每个中断向量占用4个字节,在这4个字节中,包含着这个中断向量(或这种中断类型)的服务程序的入口地址,其中前两个字节为服务程序的IP,后两个字节为服务程序的CS,例如:
INT25H,在存的00094H---00095H保存该中断服务程序入口地址IP,00096H---00097H保存该中断服务程序入口地址CS。
(图示表达此意思即可)
1,8088的中断系统是如何构成的?
2,为什么使用中断技术?
3,中断处理过程以及CPU进入中断服务程序的过程,4,中断向量表的作用
答:
中断系统是由系统响应及中断处理过程组成。
当CPU与外设工作不同步时,很难确保CPU在对外设进行读写操作时,外设一定是准备好的。
为确保数据的正确传输,CPU而已主动的查询外设以确定其工作状态,但这样会使CPU效率降低,为解决上述问题,引入中断技术。
上题1,顺序:
中断源识别---中断优先级判断---中断嵌套管理---CPU中断响应---中断服务---中断返回4,上题2,
三,INTR,NMI有何异同
NMI:
引入的是不可屏蔽中断请求,采用边沿触发,高电平有效,中断一旦产生立即锁存,到CPU执行完当前指令后立即响应。
该中断的服务子程序的入口地址从偏移地址为“2*4”的中断服务入口地址表中的到,并直接专区执行服务,CPU不进入INTA周期。
主要处理系统的意外和故障,如电源掉电,存储器读写错或受到严重的干扰。
INTR:
引入的是可屏蔽中断请求,电平触发,高电平有效。
此中断发生后,CPU在当前指令执行后,首先检测标志寄存器的IF标志位时候置“1”,若“IF=1”CPU才能响应这一类中断,并通过INTA管脚向产生中断请求的中断源发送两个中断响应负脉冲,若“IF=0”则屏蔽所有此类中断。
此类中断要求提出中断的设备提供其长度为8位的中断类型号,在受到第二个INTA负脉冲时送到数据总线即可。
该中断的服务子程序的入口地址也通过从偏移地址为“中断类型号*4”的中断服务入口地址表中得到,然后再转去服务。
四,为什么要插入Tw以及如何处理这种情况?
为了解决快速CPU与任何速度的存储器或I/O设备之间传递速度的时序配合,【当CPU对存储区活I/O设备进行操作时,若到数据未准备好时,可用一个产生Ready信号的电路,使在T3和T4之间产生1个或几个Tw来解决时序配合问题,在T3周期开始采样Ready信号,若其为低,则表示被访问的存储器或I/O设备未准备好,则在T3结束之后不进入T4,而插入一个Tw状态,以后再每个Tw周期前沿采样Ready线,直至Ready便有有效(高电平)时Tw周期才结束,进入T4周期,完成数据传送
五,ROM概念:
(1)掩膜型ROM(MROM):
用掩膜工艺制造,用定做的掩膜对存储器进行编程,一旦制造完毕,容固定不能修改
(2)可编程ROM(PROM)由厂家生产出“空白”存储器,用户根据需要,采用特殊方法写入程序和数据,对存储器进行编程,但只能写入一次,写入信息固定,不能更改(3)可擦除的PROM(EPROM)这种存储器可由用户按规定的方法多次编程,可用紫外线灯制作的擦抹器照射15min后芯片中的信息被擦除,成为块干净的EPROM,可再次写入信息(4)电擦除的EPROM(EEPROM)能用特定的电信号以字节为单位进行擦除和改写(5)FLASHMEMORY
六,SRAM,DRAM的工作原理,掌握为什么DRAM需定时刷新
DRAM:
写入操作时选择信号“1”,讲数据线上的信息经过导通的Q1存入分布电容Cg中,若数据线上写入的信息为1,则Cg被充电为高电平,若数据线上的信息为0,则Cg被放电为低电平。
读出时,根据行地址译码,使某一行选择线为高电平本行上所有的基本存储电路中的管子Q导通,连在每一列上的刷新放大器读取对应存储电容Cg上的电压值【因为依靠寄生电容存储电荷来存储消息,由于电容C上电流的泄露现象,使电容C上的电荷只能保持一段时间,信息在一定时间会自然丢失,故必须定时刷新,刷新时间通常为2ms其作用是使原来处于“1”状态的电容得到电荷补充,而原来处于“0”状态的电容维持“0”状态
SRAM:
RAM采用由6个晶体管组成的触发器电路组成一个二进制信息的存储单元,写入时,当x行地址线和y列地址线选中SRAM六管存储电路,则T5--T8导通,若写入数据D=1,持续不变,即存储了一位信息“1”,读出时,当六管存储器电路存储了信息“1”,则A=1,D=1,信息被读出
七,掌握线性选择和地址译码法(线选,部分译码,全译码)以及产生地址的特点(是否连续)优缺点
片选控制方法:
1,线选法:
除将低位地址直接接到片地址线外,将其余的高位地址线分别直接作为各个存储器芯片的片选控制信号,而不需要复杂的逻辑译码电路(这些片选地址线在每次寻址时只能有一位有效,不能同时有多位有效)节省译码电路,但是必须要注意他们的地址分布,以及各自的地址重叠区,且不连续2,部分译码法:
存储器芯片的地址线与微机系统总线的地址线依次相接后,剩余的高位地址仅用一部分参加译码,缺点:
使存储器芯片的地址空间有重叠,造成了存储器空间的资源浪费,优点:
译码电路简单,适用于大容量的RAM的连接,连接是连续的3,全译码法:
M芯片的地址线和微机系统的地址线依次相接后,剩余的高位地址线全部参加译码。
优点:
M芯片上的地址空间唯一确定,连接是连续的。
缺点:
译码电路相对复杂
八,计算机部结构
EU单元中包括4个16位通用寄存器,AX,BX,CX,DX,AX为累加器,BX为基址寄存器,CX为计数寄存器,DX为数据寄存器。
2个16位指针寄存器SP和BP,SP用来存放现行堆栈段偏移地址,并具有步进加1和减1的功能,称为堆栈指针,BP称为基址指针。
2个变址寄存器为SI和DI,SI用来寄放源操作数段偏移量,DI用来存放目标数段偏移量。
BIU单元有4个段寄存器CS,DS,SS和ES,CS用来存放当前代码段的基地址,DS用来存放当前数据段的基地址,SS用来存放堆栈段的基地址,ES用来存放当前附加段的基地址。
存储器对应输入输出方式的优点和缺点:
优点:
存和外设的地址由一个译码器解决,不需专门的I/O指令,全部存储器指令都可用,指令多,使用方便(输入,输出不只局限于累加器);
缺点:
占用存空间,寻址的地址字节增加,增加了指令的执行时间。
存储器对应输入输出方式:
也称为I/0统一编地址:
把一个外设端口当作存储器的一个单元来看待,每个外设端口占有存储器的一个地址。
从外设输入一个数据,看作存储器一次读操作;向外设输出一个数据,看作存储器一次写操作;
1,编程实现模拟计算机开码输入过程,即显示iPleaseinput(1-6)password:
i,等待用户输入密码(1--6位),即在用户在输入不足6位密码时,敲回车即停止输入,每输入一个字符显示一个i*i,要求把输入的口令简单加密后存储在buffer为起始单元的存区域,密码加密的方法为把输入字符ASCII码循环左移3位,例如字符i0i,ASCII码为30H,要求存储信息为81H,请书写汇编语言源程序
DATA SEGMENT
INFODB"Pleaseinput(1-6)password:
","$"
BUFFER DB 6DUP(?
)
DATA ENDS
CODE SEGMENT
ASSUME CS:
CODE,DS:
DATA,ES:
DATAMAIN PROC FARBEGIN:
PUSH DS
MOV AX,0000H
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV ES,AX
LEA BX,BUFFER
MOV AH,09H
LEA DX,INFO
INT 21H
MOV DI,06H
INPUT1:
MOVAH,07H
INT21H
CMP AL,0DH
JZ OVER
MOV CL,03H
ROL AL,CL
MOV [BX],AL
MOV DL,"*"
MOV AH,02H
INT 21H
INC BX
DEC DI
JNZ INPUT1
OVER:
MOV AH,4CH
INT 21H
RET
MAIN ENDP
CODE ENDS
END BEGIN
2实现在CRT上循环显示0-9共50次
DATASEGMENT
chardb'0123456789','$'
BUFFERDB50DUP(?
)
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
MAINPROCFAR
START:
PUSHDS
MOVAX,0
PUSHAX
MOVAX,DATA
MOVDS,AX
MOVCX,50
M:
MOVDX,OFFSETCHAR
MOVAH,09H
INT21H
MOVSI,035FFH
M1:
MOVBX,0FFFFH
M0:
DECBX
JNZM0
DECSI
JNZM1
DECCX
JNZM
MAINENSP
CODEENDS
ENDSTART
加密:
DATASEGMENT
MESSDB'Password:
','$'
BUFFERDB6DUP(?
)
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
MAINPROCFAR
START:
PUSHDS
MOVAX,0
PUSHAX
MOVAX,DATA
MOVDS,AX;初始化数据段
LEADX,MESS
MOVAH,09H;字符串显示
INT21H
LEABX,BUFFER
MOVCX,6
M:
MOVAH,07H;键盘输入无回显
INT21H
MOV[BX],AL;保存加密后密码
INCBX
MOVDL,[BX]
MOVAH,02H;显示输出
MOVDL,'*'
INT21H;显示'*'
LOOPM
RET
MAINENDP
CODEENDS
ENDSTART
A口输入,B口输出:
assumecs:
code
codesegmentpublic
org100h
start:
movdx,04a6h;8255控制端口地址
movax,90h
outdx,ax;设置A口输入,B口输出
startl:
movdx,04a0h;A口地址
inax,dx;读开关量
movdx,04a2h;B口地址
outdx,ax;写发光二极管状态
jmpstartl
codeends
endstart
为什么8255A要提供三种工作方式?
为了满足并行输入输出的不同需要,实现可靠的数据传输。
若不需要考虑外部设备的状态,则可以选择方式0,若需要考虑外部设备的状态就需要用选通输入输出,方式1,若需要双向传送则需要用方式2。
定义数据区BUFFER1(5个字节数),BUFFER2(5个字节数),BUFFER3(保留5个字节),实现BUFFER1区的第1个数与BUFFER2区的第5个数相加,BUFFER1区的第2个数与BUFFER2区的第4个数相加......直到实现BUFFER1区的第5个数与BUFFER2区的第1个数相加,
且结果依次存储在BUFFER3区。
Datasegment
Buffer1dbx0,x1,x2!
-x4
Buffer2dby0,y1,y2!
-4
Buffer3db100dup(?
)
Dataends
Codesegment
Assumecs:
code,ds:
data,es:
data
Mainprocfar
Begin:
pushds
movax,0000h
pushax
movax,data
movds,ax;初始化数据段
moves,ax;初始化附加段
leasi,buffer1
leabx,buffer2
LED显示开关状态
assumecs:
code
codesegmentpublic
org100h
start:
movdx,04a0h;74LS244地址
inal,dx;读输入开关量
movdx,04b0;74LS273地址
outdx,al输出至LEDjmpstart
codeends
endstart
8255A的典型应用编程
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
MAINPROCFAR
START:
PUSHDS
MOVAX,0PUSHAX
MOVAL,90H;方式控制字
MOVDX,22BH
OUTDX,AL
addbx,4
leadi,buffer3
movcx,5
m:
moval,[si]
addal,[bx]
mov[di],al
incsi
decbx
incdi
deccx
jnzm
movah,4ch
int21h;返回DOS
ret
Mainendp
Codeends
endbegin
LED流水显示
assumecs:
code
codesegmentpublic
org100h
start:
moval,01h;读输入开关
s1:
movdx,04b0h;74LS273地址
outdx,al;输出至LED
Rolal,01h
calldelay
Jmps1
codeends
endstart
LP:
MOVDX,228H
INAL,DX;读入A口开关状态
MOVDX,229H
OUTDX,AL;B口输出
JMPLP
RET
MAINENDP
CODEENDS
ENDSTART
ASSUMECS:
CODE
CODESEGMENTPUBLIC
ORG100H
START:
MOVDX,04A6H;8255控制端口地址
MOVAL,0B4H
OUTDX,AL;设置A口输入,B口输出
MOVDX,04A4H
AG1:
INAL,DX
TESTAL,20H
JZAG1
MOVDX,04A0H;A口地址
INAL,DX;读开关量
MOVBL,AL
MOVDX,04A4H;C口地址
AG2:
INAL,DX
TESTAL,02H
JZAG2
MOVDX,04A2H
MOVAL,BL
OUTDX,AL
CODEENDS
ENDSTART
八个发光管滚动显示
codesegment
org100h
assumecs:
code
go:
moval,80h
movdx,203h
outdx,al
moval,01h
m:
movdx,201h
outdx,al
r