微机原理与接口技术试题库含答案Word文件下载.docx
《微机原理与接口技术试题库含答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术试题库含答案Word文件下载.docx(40页珍藏版)》请在冰豆网上搜索。
试列出8个I/O接口。
计算机I/O接口是连接计算机和外部设备的纽带和桥梁,它主要用于协调和控制计算机与外设之间的信息流通和交换。
例如:
串行通讯口(COM口)、并行打印机口、软盘驱动器接口、硬盘驱动
器接口、光驱接口、显示器接口、音响设备接口、其它通用设备接口(USB、SCSI等)。
现在,计算机主板上一般包括串行通讯口、并行打印口、软盘驱动器接口、硬盘驱动器接口、光驱接口、USB接口等。
象显示器适配器、网卡、modem卡等I/O接口卡一般通过总线插槽与主板相连。
8.简述系统总线,AGP总线,PCI总线及ISA总线的作用。
系统总线是CPU与存储器及桥接器之间传递信息的通道,AGP总线专门用与连接CPU与显示器适配器,PCI总线一般用于连接一些高速外设接口作为高速外设与CPU或内存交换信息的通道,而ISA总线一般用于连接一些非高速外设接口作为非高速外设与CPU或内存交换信息的通道。
9.试说明计算机用户,计算机软件,计算机硬件三者的相互关系。
计算机用户,计算机软件系统,计算机硬件系统共同构成一个计算机应用系统,三者在该系统中处于三个不同的层次。
计算机用户处于最高层,计算机软件处于中间层,计算机硬件系统处于最下层。
在这里计算机用户是系统的主宰,他们通过软件系统与硬件系统发生关系,指挥计算机硬件完成指定的任务。
即,计算机用户使用程序设计语言编制应用程序,在系统软件的干预下使用硬件系统进行工作。
11.存储单元的选择由什么信号控制?
读、写靠什么信号区分?
存储单元的选择由地址信号控制,而对存储单元进行读操作还是写操作则要靠读、写信号区分。
4.若用一个字节来表示带符号数,判断下列各运算在机内进行时是否会产生溢出,写出判断过程。
A.5BH+32H;
B.-08H-15H;
C.-51H+(-3DH);
D.2DH+3CH答:
A.产生溢出,5BH=01011011B其补码表示的机器数为:
0101101132H=00110010B其补码表示的机器数为:
00110010数值最高位向符号位进位,但符号位向前无进位,故产生溢出。
数值最高位向符号位进位,符号位同时也向前进位,故不产生溢出.数值最高位向符号位无进位,但符号位向前进位,故产生溢出.
D.不产生溢出,2DH=00101101B其补码表示的机器数为:
001011013CH=00111100B其补码表示的机器数为:
00111100相加的结果为:
01101001数值最高位向符号位无进位,符号位向前也无进位,故不产生溢出。
6.详细叙述总线缓冲器的作用。
总线缓冲器的作用主要是控制各路数据在总线上的交叉传送避免相互冲突,当几路数据都要向总线上传送时,就通过各路的缓冲器来解决,当一路传送时,缓冲器使其它各路数据与总线断开。
7.锁存器和寄存器有什么不同?
答:
锁存器与寄存器都是用来暂存数据的器件,在本质上没有区别,不过寄存器的输出端平时不随输入端的变化而变化,只有在时钟有效时才将输入端的数据送输出端(打入寄存器),而锁存器的输出端平时总随输入端变化而变化,只有当锁存器信号到达时,才将输出端的状态锁存起来,使其不再随输入端的变化而变化。
1.8086从功能上分成了EU和BIU两部分。
这样设计的优点是什么?
传统计算机在执行程序时,CPU总是相继地完成取指令和执行指令的动作,即,指令的提取和执行是串行进行的。
而8086CPU在功能上分成了EMHBIU两部分,BIU负责取指令,EU负责指令的执行,它们之间既互相独立又互相配合,使得8086可以在执行指令的同时进行取指令的操作,即实现了取指令和执行指令的并行工作,大大提高了CPL和
总线的利用率,从而提高了指令的处理速度。
2.8086CPU中地址加法器的重要性体现在哪里?
地址加法器是8086CPU的总线接口单元中的一个器件,在8086存储器分段组织方式中它是实现存储器寻址的一个关键器件,地址加法器将两个16位寄存器中的逻辑地址移位相加,得到一个20位的实际地址,把存储器寻址空间从64K扩大到1M极大地扩大了微型计算机的程序存储空间,从而大大提高了程序运行效率。
3.8086CPU中有哪些寄存器?
分组说明用途。
哪些寄存器用来指示存储器单元的偏移地址?
8086CPU中有8个通用寄存器AXBXCXDXSPBP、SI、DI;
两个控制寄存器IP、FL;
四个段寄存器CSDSSSES8个通用寄存器都可以用来暂存参加运算的数据或中间结果,但又有各自的专门用途。
例如,AX专用做累加器,某些指令指定用它存
放操作数和运算结果;
CX为计数寄存器,在某些指令中做计数器使用;
DX为数据寄存器;
BX为基址寄存器,BP为基址指针,SI为源变址寄存器,DI为目的变址寄存器,这4个寄存器在数据寻址中用来存放段内偏移地址(有效地址)或段内偏移地址的一部分;
SP为堆栈指示器,用来存放栈顶有效地址。
两个控制寄存器用来存放有关的状态信息和控制信息。
例如,标志寄存器FL用来存放状态标志和控制标志;
而指令指针用来存放下一条要取指令的有效地址。
四个段寄存器用来存放段地址。
例如,CS寄存器用来存放代码
段的段地址;
DS寄存器用来存放数据段的段地址;
SS寄存器用来存放堆栈段的段地址;
ES寄存器用来存放扩展段的段地址。
4.8086系统中存储器的逻辑地址由哪两部分组成?
物理地址由何器件生成?
如何生成?
每个段的逻辑地址与寄存器之间有何对应关系?
8086系统中存储器的逻辑地址由段地址(段首址)和段内偏移地址(有效地址)两部分组成;
存储单元的物理地址由地址加法器生成,寻址时,CPU首先将段地址和段内偏
移地址送入地址加法器,地址加法器将段地址左移4位并与段内偏移地址相加,得到一个20位的物理地址。
数据段的段地址在DS寄存器中,段内偏移地址可能在BXBP、SI或DI寄存器中。
代码段的段地址在CS寄存器中,段内偏移地址在IP寄存器中。
堆栈段的段地址在SS寄存器中,段内偏移地址在SP寄存器中。
扩展段的段地址在ES寄存器中,段内偏移地址可能在BXBPSI或DI寄存器中。
5.设CPU中各有关寄存器的当前状况为:
SS=0a8bHDS=17ceHCS=dc54HBX=394bH
IP=2f39HSP=1200H,BX给出的是某操作数的有效地址,请分别写出该操作数下一条要取的指令及当前栈顶的逻辑地址和物理地址。
该操作数的逻辑地址为DS:
BX=17CE394BH物理地址=17CEH*10H+394BH=1B62BH下一条要取的指令的逻辑地址为CSIP=DC542F39H,物理地址
=DC54H*10H+2F39H=DF479当前栈顶的逻辑地址=SSSP=0A8B1200H,物理地址
=0A8BH*10H+1200H=0BAB0H
6.若DS=157DH寸,某操作数的物理地址是215FAH当DS=18DE时,该操作数的物理地址是多少?
该操作数的段内偏移地址=该操作数的物理地址-DS=215FAH-157D0H=BE2A做当DS=18DE时,该操作数的物理地址=DS*10H+BE2AH=18DE0H+BE2AH=24C0AH
7.设AX=2875HBX=34DFHSS=1307HSP=8H依此执行PUSHAXPUSHBXPOPAXPOPCX后栈顶指针变为多少?
AXNBX=?
CX=?
当前栈顶指针=SS*10H+SP=13070H+8H=13078依此执行PUSHAXPUSH3XPOPAXPOPCX后栈顶指针仍为1307814但AX=34DFHBX=34DFHCX=2875H
1.假定(BX)=637DH(SI)=2A9BH位移量D=3237H试确定在以下各种寻址方式下的有效地址是什么?
(1)立即寻址
(2)直接寻址
(3)使用BX的寄存器寻址
(4)使用BX的间接寻址
(5)使用BX的寄存器相对寻址
(6)基址变址寻址
(7)相对基址变址寻址
(1)立即数寻址的有效地址是当前IP的内容;
(2)直接寻址,若使用位移量D=3237H进行,则有效地址为3237H;
(3)使用BX的寄存器寻址时,操作数在BX寄存器中,因此无有效地址;
(4)使用BX的间接寻址时,有效地址在BX寄存器中,即有效地址=637DH
(5)使用BX的寄存器相对寻址的有效地址=(BX)+D=637DH+3237H=95B4H
(6)基址变址寻址的有效地址=(BX)+(SI)=637DH+2A9BH=8E1;
8H
(7)相对基址变址寻址的有效地址=(BX)+(SI)+D=C050H;
2.写出把首地址为BLOCK勺字数组的第6个字送到DX寄存器的指令。
要求使用以下几种寻址方式:
(1)寄存器间接寻址
(2)寄存器相对寻址
(3)基址变址寻址
(1)使用寄存器间接寻址,把首地址为BLOCK勺字数组的第6个字送到DX寄存器的指令为:
MOVBX,BLOCK
ADDBX,12
MOVDX,[BX]
(2)使用寄存器相对寻址,把首地址为BLOCK勺字数组的第6个字送到DX寄存器的指令为:
MOVDX,[BX+12]
(3)使用基址变址寻址,把首地址为BLOCK勺字数组的第6个字送到DX寄存器的指令为:
MOVSI,12
MOVDX,[BX+SI]
3.现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H,(20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=B7H,(21203H)=65H,试说明下列各条指令执行完后AX寄存器的内容。
(1)MOVAX,1200H
(2)MOVAX,BX
(3)MOVAX,[1200H]
(4)MOVAX,[BX]
(5)MOVAX,[BX+1100]
(6)MOVAX,[BX+SI]
(7)MOVAX,[BX+SI+1100]
(1)指令MOVAX1200H执行完后AX寄存器的内容为1200H;
(2)指令MOVAXBX执行完后AX寄存器的内容为0100H;
(3)指令MOVAX[1200H]是将从物理地址=(DS*10H+1200H=21200HT始的两个
单元内容送AX,执行完后AX寄存器的内容为4C2AH
(4)指令MOVAX[BX]是将从物理地址=(DS*10H+(BX)=20100H开始的两个单
元内容送AX,故执行完后AX寄存器的内容为3412H;
(5)指令MOVAX[BX+1100]是将从物理地址=(DS*10H+(BX)+1100H=21200HF
始的两个单元内容送AX,故执行完后AX寄存器的内容为4C2AH
(6)指令MOVAX[BX+SI]是将从物理地址=(DS*10H+(BX)+(SI)=20102H开始的两个单元内容送AX,故执行完后AX寄存器的内容为7856H;
(7)指令MOVAX[BX+SI+1100]是将从物理地址(DS*10H(BX+(SI)+1100H=21202H开始的两个单元内容送AX,故执行完后AX寄存器的内容为65B7H
4.假设已知(DS)=2900H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)=0100H,(BP)=0010H,数据段中变量名VAL的偏移地址值为0050H试指出下列源操作数字段的寻址方式是什么?
其物理地址值是多少?
1
MOVAX,0ABH
(2
MOVAX,
BX
3
MOVAX,[100H]
(4
VAL
5
MOVAX,[BX]
(6
ES:
[BX]
7
MOVAX,[BP]
(8
[SI]
9
MOVAX,[BX+10]
(10
VAL[BX]
11
MOVAX,[BX][SI]
(12
[BP][SI]
(1)在指令MOVAX,0ABH中,源操作数字段的寻址方式是立即数寻址,其物理地址值=(CS*10H+(IP);
(2)在指令MOVAX,BX中,源操作数字段的寻址方式是寄存器寻址,操作数在BX中,无物理地址;
(3)在指令MOVAX,[100H]中,源操作数字段的寻址方式是直接寻址,其物理地址
值=(DS*10H+100=29000H+100H=29100
(4)在指令MOVAX,VAL中,源操作数字段的寻址方式是直接寻址,其物理地址值=(DS)*10H+50H=29000H+50H=29050;
H
(5)在指令MOVAX,[BX]中,源操作数字段的寻址方式是寄存器间接寻址,其物理地址值=(DS*10H+(BX=29000H+100H=29100H
(6在指令MOVAX,ES:
[BX]中,源操作数字段的寻址方式是寄存器间接寻址,其物理地址值=(ES*10H+(BX=21000H+100H=21100;
(7在指令MOVAX,[BP]中,源操作数字段的寻址方式是寄存器间接寻址,其物理地址值=(SS*10H+(BP=15000H+10H=15010HI
(8在指令MOVAX,[SI]中,源操作数字段的寻址方式是寄存器间接寻址,其物理地址值=(DS*10H+(SI)=29000H+0A0H=290A0H
(9在指令MOVAX,[BX+10]中,源操作数字段的寻址方式是寄存器相对寻址,其物理地址值=(DS*10H+(BX+0AH=29000H+100H+0AH=2910AH
(10在指令MOVAX,VAL[BX]中,源操作数字段的寻址方式是寄存器相对寻址,其物理地址值=(DS*10H+(BX+50H=29000H+100H+50H=29150HH
(11在指令MOVAX,[BX][SI]中,源操作数字段的寻址方式是基址变址寻址,其物理地址值=(DS*10H+(BX+(SI)=29000H+100H+0A0H=291A0;
(12在指令MOVAX,[BP][SI]中,源操作数字段的寻址方式是基址变址寻址,其物理地址值=(SS*10H+(BP+(SI)=15000H+10H+0A0H=150B0H
5.分别指出下列指令中的源操作数和目的操作数的寻址方式。
(1MOVSI,200
2
MOV
CX,
DATA[SI]
ADD
AX,
[BX+DI]
4
AND
,AX
6
PUSHF
(1)目的操作数字段的寻址方式是寄存器寻址,源操作数字段的寻址方式是立即数寻址;
(2)目的操作数的寻址方式是寄存器寻址,源操作数的寻址方式是寄存器相对寻址;
(3)目的操作数的寻址方式是寄存器寻址,源操作数的寻址方式是基址变址寻址;
(4)目的操作数的寻址方式是寄存器寻址,源操作数的寻址方式也是寄存器寻址;
(5)目的操作数的寻址方式是寄存器间接寻址,源操作数的寻址方式是寄存器寻址;
(6)目的操作数的寻址方式是寄存器间接寻址,源操作数的寻址方式是寄存器寻址;
6.试述指令MOVAX2010H和MOVAXDS:
[2010H]的区别。
指令MOVAX2010H是将立即数2010H送AX寄存器,而指令MOVAXDS:
[2010H]
是将DS段有效地址为2010H的两个单元的内容送AX
7.写出以下指令中内存操作数的所在地址。
(1)MOVAL,[BX+5]
(2)MOV[BP+5],AX
(3)INCBYTEPTR[SI+3]
(4)MOVDL,ES:
(5)MOVBX,[BX+SI+2]
(1)指令MOVAL[BX+5]中内存操作数的所在地址=(DS*10H+(BX+5;
(2)指令MOV[BP+5,AX中内存操作数的所在地址=(SS*10H+(BR+5和(SS*10H+(BP)+6;
(3)指令INCBYTEPTR[SI+3]中内存操作数的所在地址=(DS+(SI)+3;
(4)指令MONDL,ES:
[BX+DI]中内存操作数的所在地址=(ES*10H+(BX)+(DI);
5指令MOVBX,[BX+SI+2]中内存操作数的所在地址=(DS*10H+(BX+(SI+2
和(DS*10H+(BX+(SI+3;
8.判断下列指令书写是否正确,如有错误,指出错在何处并用正确的程序段(一条或多条指令实现原错误指令((8)、(13)除外)期望实现的操作。
(1MOVAL,BX(9MOVES,3278H
(6)MOVBL,F5H(14)MOV[AX],23DH
(7)MOVDX,2000H(15)SHLAX,5
(8)POPCS(16)MULAX,BX
(1)MOVAL,BX错,源操作数为字类型,目的操作数为字节类型,二者不一致。
应改为:
MOVAX,BX或MOVAL,BL;
(2)MOVAL,SL错,SI寄存器不能分为高8位和低8位使用,即没有SL寄存器。
应改为:
MOVAX,SI
(3)INC[BX]错,未指定操作数的类型。
应改为:
INCBYTEPTR[BX]
(4)MOV5,AL错,目的操作数使用了立即数,在指令中一般不允许。
MOVDS:
[5],AL
(5)MOV[BX],[SI]错,源操作数和目的操作数均为内存单元,不允许。
MOVAX,[SI]
MOV[BX],AX
(6)MO\BL,F5H错,源操作数错,以A〜F开头的数字前应加0。
MO\BL,OF5H
(7)MOVDX,2000H正确。
(8)POPCS错,不能将栈顶数据弹至CS中。
(9)MOVES3278H错,立即数不能直接送ES寄存器。
MOVAX,3278H
MOVES,AX
(10)PUSHAL错,栈操作不能按字节进行。
PUSHAX
(11)POP[BX]正确。
(12)MOV[1A8H],23DH错,源操作数是立即数,目的操作数必须使用寄存器指出。
MOVBX,1A8H
MOV[BX],23DH
(13)PUSHIP错,不能用IP寄存器做源操作数。
(14)MOV[AX],23DH错,不能用AX寄存器间接寻址。
MOVBXAX
MOV[BX],23DH
(15)SHLAX,5错,不能用大于己于1的立即数指出移位位数。
MOVC,L5
SHLAX,CL
(16)MULAX,BX错,目的操作数AX是隐含的,不能在指令中写出。
MULBX
9.设堆栈指针SP的初值为2000H,AX=3000HBX=5000H试问:
(1)执行指令PUSHAXt(SP)=?
(2)再执行PUSHBX及POPAX后(SP)=?
(AX)=?
(BX)=?
(1)执行指令PUSHAX后(SP)=2000H-2=仆FEH;
(2)再执行PUSHBX及POPAX后(SP)=1FFEH,(AX)=5000H,(BX)=5000H
10.要想完成把[2000H]送[1000H]中,用指令:
MOV[1000H],[2000H]是否正确?
如果不正确,应用什么方法?
把[2000H]送[1000H]中,用指令MOV[1000H],[2000H]不正确,应改为:
MO\AX,[2000H]MOV[1000H],AX
11.假如想从200中减去AL中的内容,用SUB200,AL是否正确?
如果不正确,应用什么方法?
想从200中减去AL中的内容,用SUB200,AL不正确,应改为:
MOVBL,200
1.假设OP1OP2是已经用DB定义的变量,W_OP和W_OP是已经用DW定义的变量,判断下列指令书写是否正确?
如有错误,指出错在何处?
并写出正确的指令(或程序段)实现原错误指令期望实现的操作((19)、(20)不改)。
(1)PUSHOP1
(2)POP[W_OP4]
(3)MOVAX,WORDPTR[SI][DI]
(4)MOVAX,WORDPTRES:
(5)MOVBYTEPTR[BX],1000
(6)