微机原理与接口技术习题答案.docx
《微机原理与接口技术习题答案.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术习题答案.docx(19页珍藏版)》请在冰豆网上搜索。
微机原理与接口技术习题答案
第1章微机运算基础
习题和思考题
1.请完成以下计算:
174.66D=(10101110.10101)B=(AEA8)H
10101110101.01011B=(1397.344)D=(575.58)H
4BC=(010*********)B=()BCD
2.设字长为8位,X=(2A)16,当X分别为原码、补码、反码和无符号数的时候,其真值
是多少?
答:
当X表示原码时,其真值为:
+101010
当X表示补码时,其真值为:
+101010
当X表示反码时,其真值为:
+101010
当X表示无符号数数时,其真值为:
00101010
3.设字长为8位,用补码形式完成下列计算,要求有运算结果并讨论是否发生溢出?
120+18-33-37
-90-7050+84
答:
120+18
其补码形式分别为:
(120)补=01111000(18)补=00010010
01111000
+00010010
10001010
由于@=0,Cp=1因此有溢出,结果错误
-33-37
其补码形式为:
(—33)补=11011111(-37)补=11011011
11011111
+11011011
10111010
由于C=1,Cp=1,所以没有溢出,结果正确
-90-70
其补码形式为:
(一90)补=10011100(-70)补=10111010
10011100
+10111010
01010110
由于@=1,Cp=0,所以有溢出,结果错误
50+84
word完美整理版
其补码形式为:
(50)补=00110010(84)补=0101010000110010
+01010100
10000110
由于@=0,Cp=1,所以有溢出,结果错误
4.请写出下列字符串的ASCII码值。
MynameisZhangsan.
4D796E616D6569735A68616E6773616E2E
第2章80X86微机系统
习题与思考题
1.微型计算机主要由哪些基本部件组成?
各部件的主要功能是什么?
答:
微型计算机主要由输入设备、运算器、控制器、存储器和输出设备组成。
各部件的功能分别是:
1、输入设备通过输入接口电路将程序和数据输入内存;2、运算器是
进行算术运算和逻辑运算的部件,它是指令的执行部件;3、控制器是计算机的指挥中心,它
负责对指令进行译码,产生出整个指令系统所需要的全部操作的控制信号,控制运算器、存储器、输入/输出接口等部件完成指令规定的操作;4、存储器用来存放程序、原始操作数、运算的中间结果数据和最终结果数据;5、输出设备是CPUS过相应的输出接口电路将程序运行的结果及程序、数据送到的设备;
2.微处理器的发展过程是什么?
答:
微型计算机的发展过程是:
第一代(1946〜1957)――采用电子管为逻辑部件,以超声波汞延迟线、阴极射线管、磁芯和磁鼓等为存储手段;软件上米用机器语言,后期米用汇编语言。
第二代(1957〜1965)采用晶体管为逻辑部件,用磁芯、磁盘作内存和外存;软件
上广泛采用高级语言,并出现了早期的操作系统。
第三代(1965〜1971)――采用中小规模集成电路为主要部件,以磁芯、磁盘作内存和外存;软件上广泛使用操作系统,产生了分时、实时等操作系统和计算机网络。
第四代(1971〜至今)一一采用大规模集成电路(LSI)、超大规模集成电路(VLSI)为主要部件,以半导体存储器和磁盘为内、外存储器;在软件方法上产生了结构化程序设计和面向对象程序设计的思想。
3.简述80486微处理器的基本结构。
书12页
4.80486微处理器的工作模式有几种?
当CS内容为1000HIP内容为7896H,求在实地址模式下的物理地址为多少?
答:
实模式和保护模式及虚拟8086模式。
当CS内容为1000HIP内容为7896H在实地
址模式下的物理地址为17896H.
5.简述EPRO的工作原理。
书27页。
6.总线有那几种类型?
答:
按照总线的传输类型可分为数据、地址、控制三类;按和cpu的距离可分为内部总
线、系统总线和外部总线。
7.简述ISA与EISA总线的的区别。
它们的局限性表现在哪里?
书34页。
8.PCI局部总线有些什么特点?
书35页
9.什么是USB它有什么特点?
书41页
10.IEEE1394总线有哪些特点?
它与USB总线的区别在哪里?
书41页。
11.简述现场总线的特点。
书42页。
12.当代计算发展的主要核心技术有哪些?
当代计算机的主要核心技术有:
CACH技术、流水线技术、VM技术、RISC技术、多内核技术
第3章80X86指令系统
习题与思考题
1.指出下列各指令中源操作数和目的操作数的寻址方式:
⑴MOVBX,WORDPTR[22a0HAAA
⑶JUM2200H)LESDI,[2100H]
(5)MOV[BX+SI+8],BX
解答
⑴MOVBX,WORDPTR[2200H]
源操作数:
直接寻址;目的操作数:
寄存器寻址
⑵AAA
源操作数:
寄存器寻址AL(也称隐含寻址);目的操作数:
寄存器寻址
⑶JUM2200H
程序转移段内直接寻址方式
⑷LESDI,[2100H]
源操作数:
直接寻址;目的操作数:
寄存器寻址
(5)MOV[BX+SI+8],BX
word完美整理版
源操作数:
寄存器寻址;目的操作数:
基址加变址寻址
2.若AX=0ABCJHBX=7F8F,CF=1求分别执行8086CPI指令
⑴ADDAX,B(X)ADCAX,BX
⑶SBBAX,B⑷NEGAX
⑸ANDAX,B⑹ORAX,BX
(7)XORAX,B⑻IMULBL
后,AX寄存器中的内容,并指出标志寄存器SF,ZF,AF,PF,CF及OF的状态解答
⑴AX=2B5CH,SZAPCO=001110B
⑵AX=2B5DH,SZAPCO=OO1O1OB
⑶AX=2C3DH,SZAPCO=OO1OO1B
⑷AX=5433H,SZAPCO=OO111OB
⑸AX=2B8DH,SZAPCO=00X100B
⑹AX=FFCFH,SZAPCO=10X100B
(7)AX=D222H,SZAPCO=10X100B
⑻AX=3283H,SZAPCO=XXXX11B
3.若AL=78HBL=87H
⑴求执行指令
ADDAL,BL
DAA
之后,AL=?
、标志AF=?
、CF=?
⑵若执行指令SUBAL,BL与DAS后,AL=?
、标志AF=?
、CF=?
解答
⑴AL=65H,AF=1,CF=1
⑵AL=91H,AF=0,CF=1
4.指出下列指令中哪些是错误的,并指出错在何处?
⑴MOVDL,[DX⑵MOVES,2OOOH
⑶SUB[BX],[SI]⑷ADDAX,[BX+CX]
⑸XCHGDS,[2400H⑹DEC15H
(7)INAL,DX⑻OUT300H,AX
解答
⑴错,DX不能作为间接寻址的寄存器。
⑵错,立即数不能直接送给段寄存器。
⑶错,两个存储单元间内容不能直接相减。
⑷错,CX寄存器不能作为变址寄存器。
⑸错,不允许段寄存器与存储单元内容进行交换
⑹错,减1指令不能对段寄存器直接操作
⑺对
5.下⑻程序段执行后AX=?
设数据段有TABLEDW100,200,300,400
输ENTRYDW3
代码段对S初始化
指MOVBXQFFSETTABLE
的MOVSI,ENTRY
地MOVAX,[BX+SI]
执行后AX=2C00
6.将位L中的8位二进制数按倒序方式重新排列,即AL原来为D7D&D0,倒序后
AL=D0D?
Mtr
参考答间址。
?
■
MOVCX,8
L:
SHLAL,1
RCRBL,1
LOOPL
MOVAL,BL
?
7.若起始地址偏移量为2000H的内存单元存放有00个ASCII码字符,现给这I字符添加奇偶校验位(bit7),使每个字符中“1”的个数为偶数,在顺序输出到地址为100H的端口
解答
MOVSI,2000H
MOVCX,100
MOVDX,100H
NEXT2:
MOVAL,[SI];取字符串中字符送AL
ANDAL,0FFH改变标卷
JPENEXT1;“1”的个数为偶,bit7不变
ORAL,80H;“1”的个数为奇,bit7变为1
NEXT1:
OUTDX,AL
INCSI
LOOPNEXT2
MOVAH,4CH
INT21H
8.若SS=1000HSP=2000HAX=1234HBX=5678HFR=2115试说明执行指令
PUSHAX
PUSHBX
PUSHF
word完美整理版
POPCX
POPDX
之后,SP=?
SS=?
CX=?
DX并画图指出堆栈中各单元的内容
解答:
SS=1000H
SP=1FFEH
CX=2115H
DX=5678H
栈中各单元内容如下所示:
地址RAM
11FFAH
2115
11FFCH
5678
11FFEH
1234
12000H
第4章宏汇编语言
习题与思考题
1.画出以下变量在内存中存储的示意图。
D1DB'A,'123',09H,45
D2DWA,'CD,23H,4567H
D3DD1234H,23456789H
2.设计子程序分别完成以下功能:
1)根据给定的参数值,判断该参数是偶数还是奇数
2)把给定参数值的高、低数据位互换。
3.设计相应的宏完成以下功能:
1)把给定的参数按二进制显示。
2)求两个参数的和,并按十进制形式显示。
^第
5
一宀:
早
汇
2设计
单元aNUMiBE和FLAG判断NUMBE与给定的X和丫的大小关系Codesegment
Assumecs:
Code,ds:
Data
习<y1,若NUMBERY则置LAG=1,若NUMBERX贝U置LAG=-1,否则置LAG=Q设答:
.486
数Datasegment
据
段NUMBERdb?
中FLAGdb?
有_-.
Beg:
movax,data
Movds,axmoval,X
Movbl,丫
CmpNUMBER,X
JncP1
MovFLAG,0FFH
Jmpexit
P1:
cmpNUMBER,丫
JaP2
MovFLAG,00H
Jmpexit
P2:
movFLAG,01H
Exit:
movah,4ch
Int21h
Codeends
EndBeg
2.计短2+3+?
+100,并把和保存在SUM单元中
.486
DATASEGMENTUSE16
TTDB1
SUMDW?
DATAENDS
CODESEGMENTUSE16
word完美整理版
ASSUMECS:
CODE,DS:
DATA
BEG:
MOVAX,DATA
MOVDS,AX
MOVCX,100
MOVAX,0
START:
ADDAX,TT
INCTT
LOOPSTART
MOVSUM,AX
MOVAH,4CH
MOV21H
CODEENDS
ENDBEG
3.对一个给定的N数据,用冒泡排序法进行排序
解答:
.486
Datasegment
Bufdb‘abcd18437hj'
Lensequ$-buf
Countdblens
Flagdb?
Dataends
Codesegment
Assumecs:
code,ds:
data
Beg:
movax,data
Movds,ax
Again:
deccount
Jzdone
Movflag,0
Movcx,count
Movsi,offsetbuf
Last:
moval,[si]
Movah,[si+1]
Cmpah,al
Jncnext
Mov[si],ah
Mv[si+1],al
Movflag,1
Next:
incsi
Looplast
Cmpflag,1
Jeagain
Done:
movbuf+lens,‘$'
Movah,9
Movdx,offsetbuf
Int21h
Movah,4ch
Int21h
CodeendsEndBeg
4.
BCD码的形式在屏幕上显
由键盘输入任意的两个十进制数,然后转换成对应的压缩示。
.486
DATASEGMENTUSE16
BCDDB?
BUFDB3
DB?
DB3DUP⑺
MESG1DBPLEASEINPUT:
ODH,OAH,'$
MESG2DBERROR!
NUMBERISFROM0TO9.PLEASEA'AIN!
$
DATAENDS
CODESEGMENTUSE16
ASSUMECS:
CODE,DS:
DATA
BEG:
MOVAX,DATA
MOVDS,AX
L1:
MOVDX,OFFSETMESG1
MOVAH,9显示MESG1
INT21H
MOVAH,0AH
MOVDX,OFFSETBUF
INT21H;输入字符串
MOVALBUF+2
CMPAL30H
JCERROR
CMPAL3AH
JCNEXT判断第一个数输入是否符合要求
ERR:
MOVDXOFFSETMESG2
word完美整理版
MOVA,9
INT21H
JMPL1输入错误提示重新输入
NEXTSUBAL30H
SALAL4;求出十位数字
MOVBCDAL
MOVALBUF+3
CMPAL30H
JCERROR
CMPAL3AH
JNCERROR判断第二个数输入是否符合要求
SUBAL30H
ORBCDAL
MOVAH4CH
INT21H
CODEENDS
ENDBEG
5.由键盘输入两个十六进制数,转换成等值的十进制数后在屏幕上显示CMPDISPMACRC用宏语句完成比较法二进制到十进制转换
LOCALLAST,NEXT
MOVDL,0
LAST:
CMPNUM,NN
JCNEXT
INCDL
SUBNUM,NN
JMPLAST
NEXT:
ADDDL,30H
MOVAH,2
INT21H
ENDM
DATASEGMENTUSE16
NUMDB?
BUFDB3
DB?
DB3DUP(?
)
DATAENDS
CODESEGMENTUSE16
ASSUMECS:
CODE,DS:
DATA
BEG:
MOVAX,DATA
MOVDS,AX
MOVAH,OAH
MOVDX,OFFSETBUF
INT21H
MOVAL,BUF+2
CMPAL,39H
JNAL1;数字在0到9之间转
SUBAL,07H数字在A到F之间
L1:
SUBAL,30H
MUL16
MOVNUM,AL
MOVAL,BUF+3
CMPAL,39H
JNAL2
SUBAL,07H
L2:
SUBAL,30H
ADDNUM,AL;NU中为十六进制数的二进制表示
CMPDISP100
CMPDISP10
CMPDISP1
MOVAH,4CH
INT21H
CODEENDS
ENDBEG
第6章接口技术
习题与思考题
1•什么是接口?
I/O
两个部件或两个系统之间的连接。
微机接口,则涉及到微处理器与各外部设备之间的接口、微处理器与存储器之间的接口以及微型计算机之间的接口。
习惯上说到接口只是指接口,是指微处理器与外设之间的接口称为I/O接口。
word完美整理版
2•端口独立编址有哪些特点?
和统一编址的区别是什么?
解答:
解答:
输入/输出指令和访问存储器的指令明显区分开,使程序清晰,可读性好;而且I/O指令长度短,执行的速度快,也不占用内存空间,I/O地址译码电路较简单。
不足之处是CPU指令系统中必须有专门的IN和OU甘旨令,这些指令的功能没有访问存储器的指令的功能强;I/O端口数目有限。
另外,CPU要能提供区分存储器读/写和I/O读/写的控制信号。
3.DX间接寻址主要应用在什么情况?
和直接端口寻址的区别是什么?
端口地址大于255的时候。
4.I/O端口地址译码电路有哪几种结构形式?
解答:
固定式译码和可选式译码。
5.CPI和I/O设备间的数据传送方式有哪些?
区别是什么?
有4种。
无条件、查询、中断和DMA方式。
区别见书140页。
第7章中断技术
习题与思考题
1•什么是中断?
什么是中断优先级?
设置中断优先级的目的是什么?
书143页。
2•中断处理的一般过程是什么?
中断请求,中断判优,中断响应,中断处理,中断返回。
3•什么是中断嵌套?
如何处理中断嵌套?
当前中断还未处理完毕,又有了新的优先级更高的中断请求,cpu转而去处理优先级更高
的中断称为中断嵌套。
4.什么是中断向量?
它与中断服务程序入口地址的关系是什么?
中断向量即中断服务程序的入口地址。
5.什么是中断类型号?
它的作用是什么?
中断类型号就是中断源的编号,在中断系统中用作中断源的识别。
6.可屏蔽中断和INTn中断的处理区别是什么?
可屏蔽中断是硬件中断而INTn中断是软件中断。
7.不可屏蔽中断和可屏蔽中断各有何特点?
其用途如何?
不可屏蔽中断的优先级高于可屏蔽中断,不可屏蔽中断不受指令cli的影响,常用于紧急
情况的故障处理,并由系统使用,一般用户不能使用。
&PC微机的中断系统由哪几部分组成?
由CPU端的中断逻辑以及中断控制器8259组成。
9.80X86的异常有哪几个层次?
各层次的特点是什么?
书148页
10•保护虚拟地址下的中断如何管理?
米用中断描述表IDT进行管理。
11•可编程中断控制器8259A协助CPL处理哪些中断事务?
书162页。
12.8259A具有哪些工作方式和中断操作功能?
指出与这些功能相对应的命令字(ICW/OCW)
的内容?
书164页。
13•在什么情况下,才要求用户对8259A进行初始化?
在没有配置完善的操作系统的单板机上需要对8259初始化。
14•如何对8259A进行初始化编程(包括单片使用和双片使用)?
书176,177页。
15•什么是中断响应周期?
在中断响应周期中CPI和8259A一般要完成哪些工作?
书165页
16•用户利用PC微机的中断系统资源进行中断传送时,要求用户对8259A的哪些命令进行
编程使用?
17•中断结束命令安排在程序的什么地方?
在什么情况下要求发中断结束命令?
中断结束命令安排在中断返回指令iret前。
如果8259工作在非自动中断结束方式下则要求发送中断结束命令。
18•保护模式下中断服务程序怎样入口?
书157页。
第8章常用I/O接口芯片
习题与思考题
1•可编程并行接口8255A面向CPU一侧的端口有几个。
4个。
分别是1个控制子端口和3个数据口。
2・PC口按位置/复位字是如何定义的?
PC口按位置/复位命令字用于PC引脚作输出单位控制或软件设定8255A的相应状^态。
PC口按位置/复位命令字格式:
DDDDDD
D65432
1D
word完美整理版
—
征位值
未用
PC口位号选择
置/复
位
为0
选择
其中:
D为置/复位选择位:
D=0表示相应位清0,D=1表示相应位置1。
DD2D选择被置/复位的位号:
DDD=000选择PC口第0位;
D3D2D1=00选择PC口第1位;DDD=010选择PC口第2位;D3DD=011选择PC口第3位;D3D2D1=10选择PC口第4位;D3DD=101选择PC口第5位;D3DD=110选择PC口第6位;D3D2D1=11选择PC口第7位。
D6DI4没有使用,一般让D6D5D4=000
D位为特征位,该命令字处D=0。
3•如何对8255A进行初始化编程?
对8255A的编程涉及到两个内容:
一是写控制字设置工作方式等信息;二是使C口的指定位置位/复位的功能。
在8255A工作之前,首先要对其进行初始化,也就是要写入控制字,来指定它的工作方式,指明是否允许它的某组端口采用中断方式传送数据。
如果要改变某组端口的工作方式或中断允许情况,必须重新写入控制字。
前面讲过,控制字有两个,分别为方式命令字和按位置/复位命令字,它们都必须写向控制寄存器。
在实际应用中,可根据需要写入一个或两个命令字。
4.8255A有哪几种工作方式?
各自有什么特点?
8255A有三种工作方式,用户可以通过编程来设置。
方式0――简单输入/输出一一查询方式;AB,C三个端口均可。
方式1选通输入/输出中断方式;A,B,两个端口均可
方式2双向输入/输出中断方式。
只有A端口才有。
5•请比较RS-232和TTL的电器特性,以及它们之间如何转化?
书203页。
转化要用到专门的集成电路转换器件。
6.异步传输方式和同步传输方式有和区别?
书198页。
他们的区别主要是达到同步的方式不同,桢结构不同。
7.8251在PC机中的是如何应用的?
书231页。
8.8253A三个计数器分别在PC机中的应用是什么?
9.8253如何完成日时钟定时?
书233页。
10.8237在PC机中是如何应用的?
书254页。
11.8237的工作步骤是什么?
书253页,例8-3
第9章人机交互设备接口技术
习题与思考题
1.试述非编码键盘的工作原理。
2.用8255A设计一8X8的非编码键盘,试画出设计原理图并编程
3.试述PC/XT和PC/AT的键盘接口的工作原理。
4.试述鼠标器的工作原理。
5.简述LED显示器的工作原理。
6.简述LED显示器静态驱动原理。
7.简述LED显示器动态扫描原理。
8.简述CRT光栅扫描原理。
9.简述LCD的显示原理。
第10章A/D与D/A转换器接口
习题与思考题
1.D/A转换器的性能指标有哪些?
各性能指标的含义是什么?
2.简述D/A转换器的工作原理。
word完美整理版
3.D/A转换器和微处理器接口中的关键问题是什么?
如何解决?
4.使用DAC0832^计一个产生三角波的接口电路并编写产生三角波的程序,其变化范围在
0〜10v之间变化。
若要在-5〜+5v之间变化要采用什么措施实现。
5.设输入模拟信号的最高有效频率为5kHz,应选用转换时间为多少的A/D转换器对它进行
转换?
6.试设计一个采用查询法并用数据线选择通道的CPU和ADC0809勺接口电路,并编制程序
使之把所采集的8个通道的数据送入给定的内存区。
7.试设计一个采用固定延时等待法并每采集一个数据只需一条I/O指令的CPU和ADC0809
的接口电路,并编制程序使之把所采集的8个通道的数据送入给定的内存区。
8.试利用AD1674设计一个数据采集系统(不包括A/D转换器输入通道中的放大器和采样/保
持电路)。
要求每隔200卩s采集一个数据,每次启动采集数据时采集时间为20ms假定
时钟频率为5MHz由一只开关手动启动数据采集,数据的I/O传送控制采用中断控制,8255A的