《微机原理与接口》章节习题及答案.docx
《《微机原理与接口》章节习题及答案.docx》由会员分享,可在线阅读,更多相关《《微机原理与接口》章节习题及答案.docx(33页珍藏版)》请在冰豆网上搜索。
《微机原理与接口》章节习题及答案
1-1.答:
微型计算机由CPU、存储器、输入/输出接口及系统总线组成。
CPU是微型计算机的核心部件,一般具有下列功能:
进行算术和逻辑运算。
暂存少量
数据。
对指令译码并执行指令所规定的操作。
与存储器和外设进行数据交换的能力。
提供整个系统所需要的定时和控制信号。
响应其他部件发出的中断请求;总线是计算机系统各功能模块间传递信息的公共通道,一般由总线控制器、总线发送器、总线接收器以及一组导线组
成;存储器是用来存储数据、程序的部件;I/O接口是微型计算机的重要组成部件,在CPU和外设之间起适配作用。
1-2.答:
取指令、执行指令。
指令执行的基本过程:
(1)开始执行程序时,程序计数器中保存第一条指令的地址,指明当前将要执行的指令存放在存储器的哪个单元。
(2)控制器:
将程序计数器中的地址送至地址寄存器MAR,并发出读命令。
存储器根
据此地址取出一条指令,经过数据总线进入指令寄存器IR。
(3)指令译码器译码,控制逻辑阵列发操作命令,执行指令操作码规定的操作。
(4)修改程序计数器的内容。
1-3.答:
220=1048576=1MB
1-4.答:
微处理器是微型计算机的核心部件。
微处理器配上存储器、输入/输出接口及相应的外设构成完整的微型计算机。
以微型计算机为主体,配上系统软件和外部设备以后,就构成了
完整的微型计算机系统。
1-5.答:
128,二进制:
10000000B,八进制:
200O,十六进制:
80H
65535,二进制:
1111111111111111B,八进制:
177777O,十六进制:
FFFFH
1024,二进制:
10000000000B,八进制:
2000O,十六进制:
400H
1-6.答:
1011.1010B,十进制:
11.625,十六进制:
B.AH
1111101.11B,十进制:
125.75,十六进制:
7D.CH
1-7.(5487)10=(010*********)BCD=1010101101111B
1-8.答:
[+15]原=00001111,[+15]反=00001111,[+15]补=00001111,[+15]移=10001111
[-20]原=10010100,[-20]反=11101011,[-20]补=11101100,[-20]移=01101100
[-27/32]原=1.1101100,[-27/32]反=1.0010011,[-27/32]补=1.0010100,[-27/32]移=0.0010100
2-1.答:
8086/8088CPU的功能结构由以下两部分组成:
总线接口单元BIU(BusInterfaceUnit),执行部件EU(ExecutionUnit)。
总线接口单元BIU的主要功能是:
负责与存储器、I/O端口进行数据传送。
具体讲:
取指令:
总线接口部件从内存中取出指令后送到指令队列。
预取指令。
配合EU执行指令,存取操作数和运算结果。
执行部件EU主要功能是:
负责指令执行。
2-2.答:
8086/8088的指令队列分别为6/4个字节,存储预取的指令。
地址加法器用来产生20位物理地址。
8086/8088可用20位地址寻址1M字节的内存空间,
而CPU内部的寄存器都是16位,因此需要由一个附加的机构来计算出20位的物理地址,这个机构就是20位的地址加法器。
2-3.答:
设程序的指令代码已存放在存贮器中。
为执行程序,CPU按照时钟节拍,产生一系列控制信号,有规则地重复进行以下过程。
(1)BIU从存贮器中取出一条指令存入指令队列。
(2)EU从指令队列取指令并执行指令。
BIU利用总线空闲时间,从内存取第二条指令
或取第三条指令存入指令队列。
(3)EU执行下一条指令。
如果前面一条指令有写存贮器的要求,则通知BIU把前条指
令结果写到存贮器中,然后再取指令存入指令队列。
(4)如指令执行要求读取操作数,由BIU完成。
(5)EU执行再下一条指令,返回
(1)处继续执行上述操作过程。
所以,程序的执行过程就是CPU取指令、分析指令、执行指令,再取指令这样一个循环重复过程。
在指令执行过程中,利用EU分析指令操作码和执行指令时不占用总线操作时间的特
点,BIU自动地通过总线读取存贮器中的指令码存入BIU指令队列,从而使BIU与EU并行工作,提高CPU执行指令的速度。
2-4.答:
总线周期:
BIU通过系统总线对存储器或I/O端口进行一次读/写操作的过程称为一个总线周期。
8086/8088CPU的一个基本总线周期由4个时钟周期(T1~T4)组成,也称4个T状态。
若CPU的主时钟频率为10MHz,则一个时钟周期为10-7s,一个基本总线周期为4×10-7s。
2-5.答:
8086/8088系统中,复位信号RESET到来后,处理器内部的各寄存器和标志寄存器的内容自动设置为:
CSFFFFHDS0000H
SS0000HES0000H
IP0000H指令队列空
FR0000H(禁止中断)
因CS=FFFFH,IP=0000,所以8086/8088将从地址FFFF0H开始执行指令。
2-6.答:
CPU在每个时钟周期内完成若干个基本操作,具体是:
T1状态:
CPU向多路复用总线上发送地址信息指出要寻址的存储单元或外设端口地址。
T2状态:
CPU从总线上撤消地址,使总线的低16位置为高阻抗状态,为传输数据作准备。
总线的高4位输出本总线周期状态信息。
这些状态信息用来表示中断允许状态、当前正在使用的段寄存器等。
T3状态:
CPU在总线的高4位继续输出总线周期状态信号。
在总线的低16位出现由通常有代码段、数据段、堆栈段、辅助段。
段内地址16位,每个段的大小最大可达64KB;实际使用时可以根据需要来确定段大小。
2-22.答:
49500H
2-23.答:
该指令的物理地址为:
CS+IPFFFF0H+FF00H=10FEF0H这一物理地址的CS值和IP值是唯一的吗:
不唯一
2-24.A
3-2.答:
(1)中源操作数为直接寻址,其物理地址=DS*16+1000H=11000H;
(2)中源操作数为立即寻址;
(3)中源操作数为寄存器间接寻址,其物理地址=DS*16+(BX)=10020H;
(4)中源操作数为寄存器寻址;
(5)中源操作数为变址寻址,其物理地址=SS*16+(BP)+5=90305H;
(6)中源操作数为基址加变址寻址,物理地址=SS*16+(BP)+(SI)+2=90402H。
3-3.答:
(1)直接寻址:
MOVAL,[4780H]
(2)寄存器间接寻址:
MOVBX,4780H
MOVAL,[BX]
(3)变址寻址:
MOVSI,4782H
MOVAL,[SI-2]
3-5答:
(1)AX=1800H
(2)AX=BX=0100H
(3)BX=999BH(4)DX=999BH
(5)[20102H]=AL=00H
(6)AX=88AAH
3-7.答:
MOVBX,2000H
MOVAL,CL
XLAT
3-8.答:
MOVAH,0
MOVCL,2
SHLAX,CL
MOVBX,AX
SHLAX,1
ADDAX,BX
3-9.答:
1)AX=1234H,CF=0,SF=0,ZF=0。
2)AX=1234H,CF=0,SF=0,ZF=0。
3)AX=2341H,CF=1,SF=1,ZF=0。
4)AX=2340H,CF=1,SF=1,ZF=0。
5)AX=2340H,CF=1,SF=1,ZF=0。
6)AX=8D00H,CF=0,SF及ZF不确定。
3-10.答:
1)AX=0102H
(2)AX=0012H
3-11.答:
程序转向地址标号L2处。
若初始AX=B568H,BX=54B7H,程序转向地址标号L4处。
3-12.答:
程序完成内存5000H:
1000H开始的连续100个字数据的求和,并将和数存于
5000H:
200H处。
3-13、答:
MOVSI,2000H
MOVDI,3000H
MOVCX,100
REPT0:
MOVAL,[SI]
MOVBL,[DI]
MOV[DI],AL
MOV[SI],BL
INCSI
INCDI
LOOPREPT0
3-14.答
MOVAX,DS
MOVES,AX
MOVSI,1000H
MOVDI,2000H
MOVCX,10
CLD
REPECMPSB
JCXZCONTI
JMP8000H:
1000H
CONTI:
NOP
3-15.答:
MOVCX,100
MOVSI,1000H+99
MOVDI,1050H+99
STD
REPMOVSB
4-1.答:
(1)目的操作数不能是立即数;
(2)VAR1单元定义为字节类型,而AX为字;(3)8086/8088中两个内存单元不能直接比较;(4)同一符号名不允许用EQU重复定义。
4-3.答:
AL=(44H)BH=(66H)DL=(06H)CL=(04H)
4-2.答:
100H:
11H;101H:
22H;102H:
00H;103H:
33H;104H:
00H;105H:
44H;106H:
44H;107H:
44H;108H:
44H;109H:
44H
4-4.答:
START:
MOVAX,5000H
MOVDS,AX
MOVSI,0
MOVCX,0FFFFH
LOOP1:
MOVBYTEPTR[SI],55H
MOVAL,[SI]
CMPAL,55H
JNZLOOPERR
LOOP2:
LOOPLOOP1
INCSI
MOVBYTEPTR[SI],55H;
MOVAL,[SI]
CMPAL,55H
JNZLOOPERR
MOVAL,0
JMPLOOPOUT
LOOPERR:
MOVAL,0FFH
LOOPOUT:
NOP
4-5.答:
ADDPARITYPROCNEAR
ANDAL,7FH
JP
ORAL,80H
ADDEXIT:
RET
ADDPARITYENDP
4-6.答:
START:
MOVAX,1000H
MOVDS,AX
MOVSI,0
MOVCX,1024
LOOP1:
MOVAL,[SI]
CALLADDPARITY
MOV[SI],AL
INCSI
LOOP
4-7、答:
MULTI6PROCNEAR
PUSHBX
MOVAH,0
SHLAX,1
MOVBX,AX
SHLAX,1
ADDAX,BX
POPBX
RET
MULTI6ENDP
4-8.答:
(1)程序执行完标号为SUBRT处的“PUSHBP”指令后,SP=0006H
(2)执行完标号为VAAX的MOV指令后,AX=5439H
(3)程序执行到标号为STOP0处的指令时(实际执行“HLT”指令之前):
SP=000EH
AX=99A3H
BX=5439H
以及以下标志寄存器的内容:
CF=0
SF=1
OF=1
4-9答:
DATA
SEGMENT
MARKDB100DUP(?
)
PST
FST
MAXMK
DW0
DW0
DB0
MINMKDB100
DATA
CODE
ENDS
SEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVCX,100
MOVBX,OFFSETMARK
AGAIN:
MOVAL,[BX]
CMPAL,MAXMK
JCHIGHL
MOVMAXMK,AL;updatehighestmark
HIGHL:
MKCHK:
CMPAL,MINMK
JNCMKCHK
MOVMINMK,AL;updatelowestmark
CMPAL,60
JNCHIGHMK
INCFST;increasetheno.ofstudentswhosemark<60
JMPCHKFH
HIGHMK:
CMPAL,80
JCCHKFH
INCPST;increasetheno.ofstudentswhosemark>=80
CHKFH:
INCBX
LOOPAGAIN
MOVAX,4C00H
INT21H
CODE
ENDS
ENDSTART
4-10.答:
DATA
SEGMENT
;数据段
BUFF
DATA
STACK
DB10DUP(0);数据区
ENDS
SEGMENTSTACK‘STACK’;堆栈段
DB100DUP(?
)
STACK
CODE
ENDS
SEGMENT
;代码段
ASSUMECS:
CODE,DS:
DATA,SS:
STACK
START:
MOVAX,DATA
MOVDS,AX
MOVCX,10
LEASI,BUFF
REPT1:
MOVAH,1
INT21H
;键入数据
CMPAL,0DH
;判断是否是回车键
JENEXT1;是,转NEXT1;否继续输入
NOT
MOVBUFF,AL
DECCX
NEXT1:
ORCX,CX
JNZREPT1
MOVAX,4C00H
INT21H
CODE
ENDS
ENDSTART
4-12.答:
SHIFT
MACROREG,COUNT
LOCALLEND
PUSHCX
MOVCL,COUNT
CMPCL,1
JCLEND;forCOUNT<1,donotshift
SHLREG,CL
LEND:
POPCX
ENDM
5-1~5-10CADBAABDAC
5-11.答:
总线是在计算机系统中,CPU和其他模块,模块和模块之间传输某种信息的公共通道。
采用总线结构,便于微型计算机设计和生产的标准化和模块化,降低了生产和使用
的成本,对于微型计算机的推广使用具有非常重要的价值。
5-12.答:
总线上同时只能传输一种信号。
所以,不允许同时有几个部件互相传输信息。
不同部件
之间的传输只能分时进行。
这种总线传输的分时性限制了微型计算机操作的并发性。
5-13.答:
是一种半同步总线。
5-14.答:
I/OCHRDY。
如果此信号线的输入是低电平,要求CPU延长总线周期。
5-15.答:
PCI总线可以接入多个主设备。
PCI总线本来是属于半同步总线,可以通过TRDY#和IRDY#来控制插入等待周期。
在引入多个主设备时,需要通过REQ和GNT信号来进行请求和应答的联络,但是,并不会因此而改变总线的类型位异步总线。
总线的类型仍然是半同步总线。
5-16.答:
现在的微机系统都是多总线系统。
多总线系统可以根据不同的速度需要,在系统的不同地方使用不同速度的总线。
使得系统的配置具有更多的灵活性。
由于不需要所有的总线都使用同样高速的性能,也可以降低系统的成本。
5-17.答:
一个USB系统包含三类硬件设备:
USB主机(USBHost)、USB设备(USBDevice)、USB集线器(USBHub)
USB主机有以下功能:
♦检测USB设备的加入和退出;
♦管理主机和USB设备间的通信;
♦读取和分析设备的配置信息,对USB设备进行配置操作;
♦对总线上的错误进行管理和恢复;
♦为加入的USB设备提供电源。
USBHub就是USB集线器。
USB集线器用于设备扩展连接,通过USB集线器可以连
接更多的USB设备。
USB设备就是使用USB总线标准的外部设备。
5-18.答:
传输速度快,可以满足一般的需要;即插即用,使用方便;成本较低,易于接受。
6-1.答:
由随机存取存储器(RAM)和只读存储器(ROM);RAM由地址寄存器、译码驱动电路、存储体、读写驱动电路、数据寄存器和控制逻辑6部分组成。
6-2.答:
a)ROM是只读存储器,使用时只能读出,不能写入,适用于保存不需要更改而经常读取的数据,通常使用的的光盘就是这类存储器;
b)PROM属于一次可编程的ROM,通常使用时也只能读出,不能写入,通常使用的
刻录光盘就属于此类存储器。
最初从工厂中制作完成的PROM内部并没有资料,用户可以用专用的编程器将自己的资料写入,但是这种机会只有一次,一旦写入后也无法修改,若是出了错误,已写入的芯片只能报废;
c)EPROM属于可擦除ROM,但是用户需要使用专用的紫外线擦除器对其进行数据擦除,并使用专用的编程器对其重新写入数据;
d)EEPROM是电可擦写ROM,可以用专用的编程器对其进行擦写。
e)线选法:
使用地址总线的高位地址作为片选信号,低位地址实现片内寻址;优点是结构简单,需要的硬件电路少,缺点是地址不连续,使用中不方便,而且同一存储区的地址不唯一,造成地址空间浪费;
f)全译码法:
将地址总线中除片内地址以外的全部高位地址都接到译码器的输入端参与译码。
特点是每个存储单元的地址是唯一的,地址利用充分,缺点是译码电路复杂;
g)部分译码:
将高位地址的部分地址线接到译码器参与译码,产生存储器的片选信号。
特点是各芯片的地址是连续的,但是地址不唯一,仍然存在地址的堆叠区。
6-3.答:
地址译码有三种方式:
线选法、全译码法和部分译码法。
6-4.答:
至少23根,其中有10根地址线,8条数据线;存储容量是213*8bit=64Kbit=8KB。
6-5.答:
需要64片。
6-6.答:
需要16片;至少地址线需要17根,其中1条用于片选,16条用于片内寻址。
6-8.答:
Cache位于主存和CPU之间,有SRAM组成,用来协调CPU和主存之间的数据传输速度;Cache的工作原理是基于程序访问的局部性,即在单位时间内对局部范围的存储器地址频繁访问,而对此范围以外的地址则访问甚少;平均存储周期
=5ns*85%+70ns*15%=14.75ns。
6-9.答:
虚拟存储器又称虚拟内存,是指在内存不足的情况下,利用外部存取器的一部分空间
模拟内存,使软件可以将其当成一般的内存使用,从使用角度来看,除了速度较慢外,其他
方面与内存相比并无明显区别;虚拟存储器圆满解决了计算机存储系统对存储容量、单位成
本和存取速度的苛刻要求,取得了三者之间的最佳平衡。
7-1.答:
把外部设备与计算机连接起来,实现数据传送的控制电路称为I/O接口电路;为了存放接口的数据、状态和控制信息,I/O接口电路拥有几个不同地址的寄存器,每个寄存器称为一个端口;若状态与控制端口的位长和不超过8,则可以共用一个端口;808X系列CPU的端口是独立寻址的,使用IN和OUT指令实现对端口的操作。
7-2.答:
与查询方式相比,中断方式不要求CPU等待或者查询,CPU与外设并行工作,可以大大提高系统的工作效率;但与DMA方式相比,每次外设与存储器进行数据传送时都要经过CPU中转,在传送数据块时,传送中地址指针的改变和传送计数器修改将使得传输速度较
低,增加了系统开销。
7-3.答:
子程序如下:
START:
MOVAX,2000H
MOVDS,AX
MOVDI,AX
MOVCX,64
LOOP1:
MOVDX,0FFE2H
LOOP2:
INAL,DX
ANDAL,01H
JZLOOP2
MOVDX,0FFE0H
INAL,DX
MOV[DI],AL
INCDI
LOOPLOOP1
RET
8-1~8-14DCBACDCCCACDDC
8-15.答:
中断向量就是中断服务程序的入口地址。
中断向量表存放中断服务程序的入口地址,或者存放跳转到中断服务程序入口的转移指
令。
8086的中断向量表位于RAM区的00000H~003FFH。
因为8086支持256个中断,每个中断服务程序的入口地址是4个字节,共需要1024
字节。
8-16.答:
只需要一个中断服务程序。
10个中断源通过一个或门向CPU申请中断。
当有几个中断源同时申请时,在中断服务
程序中进行排队查询。
再转移到各自的服务程序段。
并不需要为每个中断源准备一个服务程
序。
8-17.答:
其结果是8259内部的中断服务寄存器中的相应的登记不会撤销。
也就不会允许后续的
同级中断的申请。
而实际上上CPU的服务已经结束,应该可以允许中断的申请。
8-18.答:
执行左边一组指令后,IP=1234H。
执行右边一组指令后,CS=5678H,IP=1234H。
RET指令一般是近调用返回,只将堆栈顶部内容弹出到IP。
IRET指令一定是远调用的返回,要将栈顶4个字节弹出到CS和IP。
还会将自动压入的
标志寄存器的内容出栈到标志寄存器。
8-19答:
要看前一个命令字是不是ICW1。
如果是ICW1,则这个命令字是ICW2,否则就是
OCW1。
8-20.答:
1)只使用ICW1和ICW2:
单片8259,而且不使用ICW4。
2)使用ICW1、ICW2和ICW3:
多片8259,但不使用ICW4。
3)使用ICW1、ICW2和ICW4:
单片8259,但使用ICW4。
4)使用ICW1、ICW2、ICW3和ICW4:
多片8259,也使用ICW4。
8-21.答:
主8259的服务程序要结束主8259A的ISR寄存器中的登记。
从8259的服务程序要结
束主8259A和从8259的ISR寄存器中的登记。
8-22.答:
中断类型号是72H。
用DOS功能调用25H来写入:
PUSHDS
MOVAX,SEGINTSUB
MOVDS,AX
MOVDX,OFFSETINTSUB
MOVAL,72H
MOVAH,25H
INT21H
POPDS
8-23.答:
(1)中断类型号是78H。
(2)占用中断向量表的地址是:
001E0H,001E1H,001E2H,001E3H。
(3)连接到8259A的IR0输入,是从8259A。
(4)不能中断嵌套。
因为再服务程序中,没有STI指令。
9-1.答:
并行接口使数据的各位同