微型计算机接口与技术练习题答案最终版.docx
《微型计算机接口与技术练习题答案最终版.docx》由会员分享,可在线阅读,更多相关《微型计算机接口与技术练习题答案最终版.docx(28页珍藏版)》请在冰豆网上搜索。
微型计算机接口与技术练习题答案最终版
第一章微型计算机概述复习题
一、填空题
1、微机系统由(硬件系统)和(软件系统)两部分组成。
2、总线按传输的信息种类可分成(数据)、(地址)和(控制)三种。
3、模型机CPU主要由(运算器)、(控制器)和(寄存器)三部分组成。
4、指令格式通常由(操作码)和(操作数)组成。
5、指令的执行分(取指)和(执指)两个阶段。
6、8086有(20)位地址线,存储器容量为(1M)B。
二、名字解释
1、PC:
程序计数器2、CACHE:
高速缓冲存储器
2、FLAGS:
标志寄存器3、ALU:
算术逻辑运算单元
4、ID:
指令译码器
三、问答题
1、微机中各部件的连接采用什么技术?
为什么?
解答:
现代微机中广泛采用总线将各大部件连接起来。
有两个优点:
一是各部件可通过总线交换信息,相互之间不必直接连线,减少了传输线的根数,从而提高了微机的可靠性;二是在扩展计算机功能时,只须把要扩展的部件接到总线上即可,十分方便。
2、微机系统的总线结构分哪三种?
解答:
单总线、双总线、双重总线
3、微机系统的主要性能指标(四种)?
解答:
字长、主频、内存容量、指令系统
4、模型机有哪些寄存器,以及作用?
解答:
通用寄存器:
用户灵活支配,用来存放参与运算的数据或地址信息
地址寄存器AR:
专门用来存放地址信息的寄存器
程序计数器PC:
指明下一条指令在存储器中的地址
指令寄存器IR:
用来存放当前正在执行的指令代码
指令译码器ID:
对指令代码进行分析、译码,根据指令译码的结果,输出相应的控制信号
标志寄存器FLAG:
反映cpu最近一次运算结果的状态特征或存放控制标志
累加器A:
运算前保存一个操作,运算后保存一个结果
5、请举例8、16、准16、32、准32位CPU芯片型号。
解答:
8085:
8位;8086:
16位;8088准16位;
80386DX:
32位;80386SX:
准32位
第二章典型微处理器
1、8086CPU内部组成结构从功能上讲,可分为__BIU_____和___EU______两部分。
2、8086/8088的四个段寄存器为___DS_____、___ES_____、___SS____、__CS_______
3、用来存放CPU状态信息的寄存器是_____FLAGS______。
4、用来存放指令地址的寄存器是——IP———。
5、AX寄存器可分成____AH___和___AL____两个8位寄存器。
6、8086的16位标志寄存器FLAGS中OF=1表示运算结果___溢出____,ZF=1表示运算结果为零。
PF=0表示运算结果的低8位中1的个数为___奇数____。
7、8086的16位标志寄存器FLAGS中IF=1表示CPU____允许___中断,TF=1表示CPU进入__单步___工作方式。
8、一般一个总线周期可分为___T1____、___T2____、__T3_____和_____T4__状态。
9、8086CPU的1M内存由__两_____块512KB存储体组成。
10、地址4000H:
0300H,其物理地址是___40300H____,段地址是_4000H______,偏移地址是__0300H___。
11、8086存储器管理采用__分段管理_____技术。
12、8086CPU引脚信号中中断请求两个信号名称为____INT__和___NMI____。
13、8086CPU信号中控制地址锁存器信号是__ALE_____。
14、8086CPU信号中控制数据收发器的信号是__DT/
___。
15、8086信号中区分存储器和I/O操作的信号是___M/
____。
1、目的变址寄存器是(B)。
A)SIB)DIC)SPD)BX
2、用来存放即将执行的指令的偏移地址的寄存器是(B)。
A)SPB)IPC)BPD)CS
3、用来存放运行结果状态的寄存器为(C)操作。
A)SPB)SIC)FLAGSD)DX
4、TF=1表示CPU工作于(A)方式。
A)单步B)连续
5、微机中控制总线传送的是(D)。
A)存储器和I/O接口的地址码
B)微处理器向内存储器和I/O接口传送的命令信号
C)存储器和I/O设备向微处理器传送的状态信号
D)B和C
6、8086CPU引脚MN/MX接电源电压时,表示系统工作于(A)。
A)最小模式B)最大模式
2、8086/8088CPU的RD、M/IO引脚上为逻辑0时,意味着(C)操作。
A)读存储器B)写存储器C)读I/O端口D)写I/O端口
7、Intel8282的作用是(A)
A)地址锁存B)产生时钟C)总线控制D)数据驱动
8、Intel8284的作用是(B)
A)地址锁存B)产生时钟C)总线控制D)数据驱动
9、Intel8286的作用是(D)
A)地址锁存B)产生时钟C)总线控制D)数据驱动
10、Intel8288的作用是(C)
A)地址锁存B)产生时钟C)总线控制D)数据驱动
三、名字解释
1、MMU:
内存管理单元
2、ClockCycle:
时钟周期
3、BusCycle:
总线周期
4、ALE:
地址锁存允许
5、IP:
指令指针寄存器
6、BIU:
总线接口单元
7、EU:
执行单元
8、NMI:
不可屏蔽中断
9、ALE:
地址锁存允许
10、CS:
CHIPSELECT
11、DEN:
DATAENABLE
12、INTA:
中断响应
四、问答题
1、8086CPU的内部结构由哪两部分组成,各组成部件又有哪些部件组成、功能是什么?
解答:
8086CPU内部结构由BIU\EU两部分组成.
(1)EU的组成和各组成部件功能如下:
•算术逻辑运算单元:
用于8位/16位二进制算术和逻辑运算.
•通用寄存器组
用来存放操作数或操作数的地址
•标志寄存器
用来存放反映CPU运算的状态特征和存放某些控制标志
•数据暂存器
协助ALU完成运算,暂存参加运算的数据
(2)BIU的组成和各组成部件功能
•地址加法器:
用来形成20位物理地址
•段寄存器:
用来存放段的基值
•IP:
存放下一条指令的地址
•指令队列缓冲器:
用来存放预取的指令
•总线控制逻辑:
:
将内部总线和外部总线相连.
2、简述物理地址和逻辑地址的概念以及它们的关系?
请举例说明用来形成物理地址的“段+偏移”机制。
逻辑地址:
是在程序中使用的地址,其表达形式为“段地址:
段内偏移地址”。
物理地址:
CPU与存储器进行数据交换时在地址总线上提供的20位地址信息称为物理地址。
物理地址=段地址×10H+段内偏移量,就是段地址左移一位后加上偏移地址就得出实际的物理地址
3、什么叫总线周期,为什么要插入等待周期?
插在何处?
总线周期是指CPU经外部总线对存储器或IO端口进行一次信息输入或输出的操作所需要的时间;CPU与慢速的存储器和IO接口交换信息时,为防止丢失数据,需要插入等待周期;插入在总线周期的T3和T4之间
4、简述8086的寄存器结构(有哪些寄存器),各有什么用途?
5、8086/8088为什么采用地址/数据复用技术?
8086有哪些管脚是复用的?
AD0—AD15
6、简述一般存储器读操作涉及的信号并画出时序图。
7、结合8086最小模式下总线操作时序图,说明ALE、M/IO、DT/R、READY信号的功能?
地址锁存信号ALE:
提供锁存信号,对地址进行锁存;
存储器/输入输出信号M/IO:
对存储器和IO端口操作方式进行选择;
数据发送/接收控制信号DT/R:
对数据的接收和发送进行控制;
信号READY:
在总线周期中,判断所寻址的存储单元或IO端口是否准备就绪。
第三章寻址方式与指令系统
一、填空题
1、I/O端口的寻址方式有两种,分别是__直接端口寻址__,__间接端口寻址__。
2、指令MULBX隐含的被乘数寄存器是_____AX____,指令LOOPNEXT的循环次数必须存放在__CX___寄存器中。
3、指令JONEXT表示OF=__1_____时转移。
4、将I/O设备端口内容读入AL中的指令助记符是_____IN______。
5、8086CPU的I/O指令采用间接寻址时,使用的间接寄存器是____DX____。
6、设置IF=1的指令为____STI____。
7、清除CF标志的指令为____CLC____。
8、一对操作堆栈的指令为__PUSH__和____POP____。
9、LOOPNZ的循环条件为___ZF=0且CX!
=0_____。
10、指令LOOPNEXT的循环次数必须存放在______CX_____寄存器中。
11、DIVBX指令的被除数隐含的寄存器为_____AX___和____DX____,存放商的寄存器为____AX____,存放余数的寄存器为____DX____。
12、实现无符号数乘2的指令的助记符是____SHL____,实现有符号数除2的指令的助记符是____SAR____。
13、中断调用指令的助记符是___INT_____,中断返回指令的助记符是____IRET____。
14、子程序调用指令的助记符是_____PROC___,子程序返回指令的助记符是______RET__。
二、选择题
1.下列叙述正确的是(C)
A.对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMPS指令
B.对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CMP指令
C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL指令
D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/JNB指令
2.在下列指令的表示中,不正确的是(C)
A.MOV AL,[BX+SI]
B.JMP SHORT DONI
C.DEC 100
D.MUL CL
5.下列指令执行时出错的是(B)
A.ADD BUF1,BUF2
B.JMP DWORD PTR DAT [BX]
C.MOV AX,[BX+DI] NUM
D.TEST AL,08H
6.已知(AX)=1234H,执行下述三条指令后,(AX)=(D)
MOV BX,AX
NEG BX(取补码=反吗+1)
ADD AX,BX
A.1234HB.0EDCCHC.6DCCHD.0000H
7.在下列指令中,___D___指令的执行会影响条件码中的CF位。
A.JMP NEXTB.JC NEXTC.INC BXD.SHL AX,1
8.将DX的内容除以2,正确的指令是(C)
A.DIV 2B.DIV DX,2C.SAR DX,1D.SHL DX,1
9.若栈顶的物理地址是20100H,当执行完POPAX指令后,栈顶的物理地址是(A)。
A)20102HB)20101HC)20100HD)20103H
10.下列指令中,源操作数的寻址方式中,(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](相对基址编址寻址)
11.下列指令中错误指令是(E)、(B)和(F)。
A)MOVAX,DSB)MOVCS,1500H(不能用cs)
C)MOVSI,BXD)MOV[3000H],AL
E)MOV[DI+32H],[1845H](不能都是存储器操作数)
F)MOVAL,1000H(位数不够,要用AX)
12.JMPWORDPTR[BX]的目标地址偏移量是(B)
A)BX的内容B)BX所指向的内存字单元之内容C)IP+BX的内容D)IP+[SI]
13.指令LOOPNZ的循环结束条件是(D)。
A)CX=0且ZF=0B)CX=0或ZF=0
C)CX=0且ZF=1D)CX=0或ZF=1
14、指令CALLDWORDPTR[BX]目标地址的寻址方式为D
A)段内直接B)段内间接C)段间直接D)段间间接
三、简答题
1.假定(DX)=10111001B,(CL)=3,(CF)=1,试确定下列各条指令单独执行后,DX中的值。
(1)SHR DX,1(01011100B)
(2)RCR DX,1(11011100B)
(3)RCL DX,CL(11001110B)
2.写出完成下述功能的指令:
(1)传送25H到AL寄存器MOVAL,25H
(2)将AL的内容乘以2SALAL,1
(3)AL的内容乘以BL的内容MULBL
(4)测试AL最低位是否为1TESTAL,01H
(5)把AL数字变成对应的ASCIIORAL,30H
(6)截取AL的低4位ANDAL,OFH
(7)交换AX、BX的内容。
XCHGAX,BX
四、思考题
1、限用三条指令实现将DA1和DA2二个字节存储单元的内容进行交换。
MOVAX,DA1
XCHGAX,DA2
XCHGAX,DA1
2、编写统计连续存储区10个数据(变量名DATA)中奇数、偶数的个数。
DATASEGMENT
BUFDB········
JSDB?
(奇数个数)
OSDB?
(偶数个数)
DATAENDS
STACKSEGMENT
STADB10DUP(?
)
STACKENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK
START:
MOVAX,DATA
MOVDS,AX
MOVDL,0(偶数个数)
MOVDH,0(奇数个数)
MOVBX,OFFSETBUF
MOVCX,0AH
L1:
MOVAL,[BX]
SHRAL,1(奇数时,最后一位为1,逻辑右移CF=1;)
JCL3
L2:
INCDL;偶数
INCBX
LOOPL1
L3:
INCDH;奇数
INCBX
LOOPL1
MOVJS,DH
MOVOS,DL
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
第四章汇编语言程序设计
一.填空题
1、用汇编语言编写的源程序不能直接为计算机所识别和执行,它首先必须需要将汇编语言源程序___汇编___成目标文件,再经过__连接__生成可执行文件后才能执行。
2、变量/标号的三个属性是____段属性____,___偏移属性___,__类型属性__。
3、DEBUG命令中,反汇编命令的英文字母为___U___,显示内存命令的英文字母为_____D___,跟踪执行命令的英文字母为____T____,显示和修改寄存器的命令____R____,汇编命令是_____A___。
4、定义子程序的一对伪指令助记符是___Proc___、___endp___。
5、有一变量DAT1,取变量DAT1的段地址属性值的运算符号为___SEG___,取变量DAT1的偏移地址属性值的运算符号为___OFFSET__。
二、选择题
1.语句DA1DB2DUP(4,6),5汇编后,与该语句功能等同的语句是(C)。
A)DA1DB4,6,5B)DA1DB2,4,6,5C)DA1DB4,6,4,6,5D)DA1DB4,6,5,4,6,5
2、对于语句YDW10DUP(0),则TYPEY为(A)、LENGTHY为(B),SIZEY为(C)。
A)2B)10C)20D)4
三、简答题
1、定义数据段,段中内容符合下列要求:
(1)TAB定义了一个十六进制字符表TABDB?
(2)BUF定义了一个10字节的存储区,初值为0BUFDB10DUP(0)
(3)X定义了一个字存储区XDW?
(4)K定义了一个常数10 KEQU10
2、有一缓冲区BUF,其中有10个数据,写出将此十个数据取出并相加的程序段。
MOVAX,OFFSETBUF
LP:
CMPCN,0
JEEXIT
ADDBX,[AX]
INCAX
DECCN
JMPLP
EXIT:
MOVAH,4CH
INT21H
四、程序分析题
1、分析以下程序段:
SUMDW?
……..
MOVAX,0
MOVCX,10
LP:
ADDAX,CX
DECCX
JNZLP
MOVSUM,AX
(1)以上程序段的功能是什么?
计算1~10的和
(2)程序段执行完后,变量SUM为多少?
37H
2、有程序段如下:
DAT1DB“ABCDEFGHIJ”
DAT2DB10DUP(?
)
…………
LEASI,DAT1
LEADI,DAT2
MOVCX,DAT2-DAT1
ADDSI,CX
DECSI
NEXT:
MOVAL,[SI]
MOV[DI],AL
DECSI
INCDI
DECCX
JNZNEXT
(1)以上程序段的功能是什么?
将字符串翻转
(2)程序段执行完后,从DAT2开始的前3个存储单元的内容是什么?
JIH
五、改错题
下面是将内存一字节数据高四位和低四位互换并放回原位置的程序,其中有7个语句中有错误,请找出错误的地方并改正。
第1行DATASEGMENT
第2行DD1DB23H
第3行DATAENDM--------------------------------------DATAENDS
第4行CODESEGMENT
第5行ASSUMECS:
CODE,DS:
DATA
第6行STARTMOVAX,DATA--------------------------------------START:
MOVAX,DATA
第7行MOVDS,AX
第8行LEASI,OFFSETDD1;取变量DD1的偏移地址---------------------------MOVSI,OFFSETDD1或者LEASI,DD1
第9行MOVAL,[SI]
第10行MOVDL,4;设置移位次数--------------------------------------MOVCL,4(只能用CL)
第11行RCRAL,CL;循环右移4次-----------------------------------------RORAL,CL
第12行MOV[SI],AL
第13行MOVAH,4CH
第14行INT21H
第15行CODEENDP;代码段结束-------------------------------CODEENDS
第16行ENDBEGIN--------------------------------------------------------------ENDSTART
六、程序设计题
1、编写一个汇编语言程序,要求从键盘输入一个小写字母,将其转换成大写字母在屏幕上显示出来。
CODESEGMENT
ASSUMECS:
CODE
START:
MOVAH,01H;1号调用,从键盘接收1字符
INT21H
CMPAL,61H;若比“a”小转PEND
JBPEND
CMPAL,7AH;若比“z”大转PEND
JAPEND
SUBAL,20H;如在“a”与“z”之间则减去20变为大写字符
MOVDL,AL
MOVAH,02H;2号功能调用显示一个字符
INT21H
PEND:
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
2、编写一个完整的汇编语言程序,实现10以内奇数相加。
DATASEGMENT
BUFDB01H,02H,03H,04H,05H,06H,07H,08H,09H,0AH
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVBX,OFFSETBUF
MOVCX,0AH
MOVAH,0
L1:
MOVAL,[BX]
SHRAL,1
JCL2
INCBX
DECCX
CMPCX,0
JNZL1
JMPEXIT
L2:
ADDAH,[BX]
INCBX
DECCX
CMPCX,0
JNZL1
JMPEXIT
EXIT:
MOVDL,AH
MOVAH,02H
INT21H
MOVAH,4CH
INT21H
CODEENDSENDSTART
第5章存储器系统
一、填空题
1、半导体存存储器按使用功能分为_随机存取存储器(RAM)_和_只读存储器(ROM)_两种。
2、MOSRAM可分为_静态RAM_和_动态RAM_。
3、地址译码方式有_单译码方式_和_双译码方式_两种。
4、存储器扩充有_位扩展_、_字扩展_和_字位扩展_三种扩展法。
5、存储器与CPU之间的连接有_地址总线_、_数据总线_和_控制总线_3组连接线。
6、片选信号产生的三种方法—线选法—、—全译码片选发—、—局部译码片选法—
第6章存储器系统
需要复习的章节:
6.16.4
一、半导体存储器的分类
按存储介质分类:
半导体存储器、磁表面存储器、光表面存储器;
按读写功能分类:
只读存储器ROM、随机存取存储器RAM
按作用分类:
主存储器、辅助存储器、高速缓冲存储器
二、存储器容量
1、存储器空间(存储器容量)
1个存储器的容量由地址线和数据位数决定
例如一个12根地址线8位字长的存储器容量为多少(单位分别为位、字节)
212×8位=32K位=4KB
2、如何计算用小容量芯片组成一个大容量存储器所需要的块数?
若已有存储芯片的容量为L×K,要构成容量为M×N的存储器,需要的芯片数为:
(M*N)/(L*K)=总容量/单片容量
举例:
16K*1位的芯片组成64K*8位的存储器时,共需用多少块16K*1位的芯片?
32块
用32Kb芯片构成256KB的内存,要多少32kb芯片?
8块
3、三种扩充方式
位扩充;字扩充;字位同时扩充
4、存储器的地址线和数据线
•12地址8位字长的存储器的地址线为12根数据线为8根
•512×4b的存储器的地址线和数据线
512变成2进制数的位数减1=地址线根数9
数据线就是数据的位数4
1K×1B地址线和数据线分别为多少?
10、8
三、存储器的地址译码方式
四、存储器的地址分配、片选信号产生的方式。
线选法、全译码片选法、局部译码片选法