《微机原理与接口技术》课后习题答案.docx
- 文档编号:4883749
- 上传时间:2022-12-11
- 格式:DOCX
- 页数:50
- 大小:148.99KB
《微机原理与接口技术》课后习题答案.docx
《《微机原理与接口技术》课后习题答案.docx》由会员分享,可在线阅读,更多相关《《微机原理与接口技术》课后习题答案.docx(50页珍藏版)》请在冰豆网上搜索。
《微机原理与接口技术》课后习题答案
第一章
1.在计算机中为什么使用二进制数存储数据而不使用十进制数存储数据?
答:
计算机是由大量的电子器件组成的,在这些电子器件中,电路的通和断、电位的高和低,用两个数字符号“1”和“0”分别表示容易实现。
同时二进制的运算法则也很简单,因此,在计算机内部通常用二进制代码来作为内部存储、传输和处理数据。
2.完成下列数制之间的转换。
(1)01011100B=92D
(2)0.10110011B=0.41D
(3)135D=1111101B(4)99.4375D=1100011.0111B
3.组合型BCD码和非组合型BCD码有什么区别?
写出十进制数254的组合型BCD数和非组合型BCD数
答:
1)BCD码是通常的8421码,它用4个二进制位表示一个十进制位,一个字节可以表示两个十进制位,即00~99
2)非组合BCD码用8个二进制位表示一个十进制位,实际上只是用低4个二进制位表示一个十进制位0~9,高4位任意,但通常默认为0
3)254(10)=001001010100(BCD)
254(10)=0010010100000100(BCD)
4.ASCII码的编码方法是什么?
写出十进制数205和字符串A+B=C的ASCII码。
答:
1)ASCII码的编码方法是使用7位二进制数来表示所有的大写和小写字母,数字0到9、标点符号,以及在美式英语中使用的特殊控制字符
2)十进制205的ASCII码是:
011000101
3)字符串A+B=C的ASCII码是:
412B423D43
5.机器数与真值有什么区别?
机器数有哪些特点?
答:
1)真值是所表示的数的大小,一般用十进制表征。
机器数原码,补码,反码都是机器数一种表现形式,或说都属于机器数
2)机器数的特点:
一:
数的符号数值化。
实用的数据有正数和负数,由于计算机内部的硬件只能表示两种物理状态(用0和1表示),因此实用数据的正号“+”或负号“-”,在机器里就用一位二进制的0或1来区别。
通常这个符号放在二进制数的最高位,称符号位,以0代表符号“+”,以1代表符号“-”。
因为有符号占据一位,数的形式值就不等于真正的数值,带符号位的机器数对应的数值称为机器数的真值。
例如二进制真值数-011011,它的机器数为1011011。
二:
二进制的位数受机器设备的限制。
机器内部设备一次能表示的二进制位数叫机器的字长,一台机器的字长是固定的。
字长8位叫一个字节(Byte),现在机器字长一般都是字节的整数倍,如字长8位、16位、32位、64位。
6.写出原码、反码、补码的定义,并说明它们有哪些性质。
答:
1)原码,是一种计算机中对数字的二进制表示方法,是最简单的机器数,数码序列中最高位为符号位,符号位为0表示正数,符号位为1表示负数;其余有效值部分用二进制的绝对值表示
2)反码,是计算机中表示二进制数的一种方法,若原码的符号位不变,对其余位逐位取反,即得到其反码
3)补码,正数的补码与原码相同,负数的补码:
符号位为1,其余位为该数绝对值的原码按位取反,然后整个数加1.
4)性质
7.计算机中为什么采用补码形式存储数据?
当计算机的字长n=16时,补码的数据表示范围是多少?
答:
原因:
1)因为使用补码可以将符号位和其他位统一处理,同时,减法也可以按加法来处理
2)两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃
当计算机的字长n=16时,补码的数据表示范围是:
—32768~+32767
8.设机器字长n=8,求下列各数的原码、反码和补码。
(1)X=+1101001B
原码:
X=01101001反码:
X=01101001补码:
X=01101001
(2)X=+1111000B
原码:
X=01111000反码:
X=01111000补码:
X=01111000
(3)X=-1000000B
原码:
X=11000000反码:
X=10111111补码:
X=11000000
(4)X=-1101011B
原码:
X=11101011反码:
X=10010100补码:
X=10010101
9.微型计算机系统的硬件由哪些部件组成?
简述它们的主要功能。
答:
构成计算机的硬件系统通常有“五大件”组成:
输入设备、输出设备、存储器、运算器和控制器。
输入设备:
将数据、程序、文字符号、图象、声音等信息输送到计算机中。
常用的输入设备有,键盘、鼠标、数字化仪器、光笔、光电阅读器和图象扫描器以及各种传感器等。
输出设备:
将计算机的运算结果或者中间结果打印或显示出来。
常用的输出设备有:
显示器、打印机、绘图仪等。
存储器:
将输入设备接收到的信息以二进制的数据形式存到存储器中。
存储器有两种,分别叫做内存储器和外存储器。
运算器:
是完成各种算术运算和逻辑运算的装置,能作加、减、乘、除等数学运算,也能作比较、判断、查找、逻辑运算等。
控制器:
是计算机机指挥和控制其它各部分工作的中心,其工作过程和人的大脑指挥和控制人的各器官一样
10.CPU执行指令时,通常需要哪些步骤?
答:
取指令-----分析指令-----执行指令。
11.简述计算机的基本工作原理。
答:
计算机的基本原理是存贮程序和程序控制。
预先要把指挥计算机如何进行操作的指令序列(称为程序)和原始数据通过输入设备输送到计算机内存贮器中。
每一条指令中明确规定了计算机从哪个地址取数,进行什么操作,然后送到什么地址去等步骤
12.微型计算机的主要性能指标有哪些?
答:
常用的微型计算机性能指标主要有:
字长,主频,内存容量,指令书,基本指令执行时间,可靠性,兼容性,性能价格比等。
13.微型系统中采用了哪些先进技术?
简述这些先进技术的主要特点。
答:
微型系统中采用的先进技术:
第二章
1.8086/8088CPU可直接寻址多少个内存(字节)单元?
多少个I/O端口?
它们的外部数据总线各有多少根?
答:
8086可寻址1M个内存单元,65536个I/O端口,外部有16根数据线
8088可寻址1M个内存单元,256个I/O端口,外部有8根数据线。
2.8086CPU由那两部分组成?
它们大致是如何工作的?
答:
8086CPU由指令执行单位和总线接口单元两大部分构成
工作过程:
1)读存储器
2)EU从指令队列中取走指令,经EU控制器译码分析后,向各部件发控制命令,已完成执行指令的操作
3)指令队列满,则BIU处于空闲状态
4)指令执行过程中,如果需要进行存取数据,EU就要求BIU完成相应的总线周期
5)在程序转移时,先晴空队列,再去新的地址处取之
6)ALU完成算术运算,逻辑运算或移位操作
3.CPU、EU和BIU的英文全称和中文含义各是什么?
答:
CPU的英文全称是CentralProcessingUnit,中文名称即中央处理单元,也称为微处理器.,是微型计算机的核心部件,由运算器ALU,控制器,寄存器组以及总线接口等部件组成,主要完成各种运算,负责对整机的控制
EU与BIU
4.8086CPU有哪些寄存器?
各有什么用途?
答:
寄存器AX,AL:
在乘法指令中,存放乘数和乘积;
在除法指令中,存放被除数和商;
在未组合BCD码运算的校正指令中;
在某些串操作指令(LODS,STOS,SCAS)中
在输入输出指令中作数据寄存器
寄存器AH:
在LAHF指令中作目的寄存器
寄存器AL:
在组合型BCD码的加减法校正指令中
在XLAT指令中作目的寄存器
寄存器BX:
在XLST指令中基址寄存器
寄存器CX:
在循环指令中作循环次数计数器
寄存器CL:
在移位指令中作移位次数计数器
寄存器DX:
在字数据的乘法和除法指令中辅佐累加器
寄存器SP:
在堆栈操作中作堆栈指针
寄存器SI:
在串操作指令中作源变址寄存器
寄存器DI:
在串操作指令中作目的变址寄存器
5.两个带符号数10110100B和11000111B相加运算后各标志位的值是多少?
哪些标志位是有意义的?
答:
两个带符号数10110100B和11000111B相加运算后各标志位的值是101111011
PF=1,ZF=0,SF=0,OF=1是有意义的
6.说明下列8086引脚信号的功能AD15~AD0、A19/S6~A16/S3、
、
、M/
、CLK、RESET、INTR、NMI、ALE、DT/
、
。
答:
AD15~AD0:
地址/数据总线;A19/S6~A16/S3:
地址/状态总线;
:
读控制
:
写控制M/
:
存取器I/O控制CLK:
系统时钟RESET:
系统复位
INTR:
可屏蔽中断请求NMI:
不可屏蔽中断请求ALE:
地址锁存允许
DT/
:
数据发送/接受
:
数据允许
7.已知段地址:
偏移地址分别为以下数值,它们的物理地址各是什么?
(1)1200:
3500H答:
=15500H
(2)FF00:
0458H答:
=FF458H
(3)3A60:
0100H答:
=3A700H
8.段基地址装入如下数值,则每段的起始地址和结束地址分别是什么?
(1)1200H答:
1200H12000H~21FFFH
(2)3F05H答:
3F05H3F050H~4F04FH
(3)0FFEH答:
0FFEH0FFE0H~1FFDFH
9.已知:
CS:
IP=3456:
0210H,CPU要执行的下条指令的物理地址是什么?
答:
CS:
IP=3456:
0210H,要执行的下一条指令的物理地址是34770H
10.什么叫堆栈?
它有什么用处?
如何设置堆栈?
答:
堆栈是堆栈是连续的内存单元,存取方式遵循“先进后出”的原则。
,主要功能是暂时存放数据和地址,通常用来保护断点和现场。
堆栈的设置
11.设SS:
SP=2000:
0300H则堆栈在内存中的物理地址范围是什么?
执行两条PUSH指令后SS:
SP=?
再执行一次PUSH后,SS:
SP=?
答:
SS:
SP=2000:
0300H,堆栈的物理地址范围是20000~2FFFFH,执行2条PUSH后,SS:
SP=2000:
02FCH,再执行一条PUSH后SS:
SP=2000:
02FAH
12.如果从存储单元2000H开始存放的字节数据为:
3AH,28H,56H,4FH试画出示意图说明:
从2000H到2001H单元开始取出一个字数据各要进行几次操作,取出的数据分别等于多少。
答:
(2000H)=3AH,(2001H)=28H,(2002H)=56H,(2003H)=4FH,从2000H取一个字要1次操作,数据为283AH;从2001H取一个字要2次操作,数据为5628H。
13.8086工作于最小模式时,硬件电路主要由哪些部件组成?
为什么要用地址锁存器、数据缓冲器和时钟产生器?
答:
1)8086工作于最小模式时,硬件电路主要由1片8086CPU,1片8284时钟发生器,3片74LS373锁存器和2片74LS245双向数据缓冲器组成。
2)用地址锁存器的原因:
如果总线上负载超过10个,单独靠总线不能驱动,需要加总线驱动器提高带负载能力。
3)用时钟产生器的原因:
产生系统的时钟信号,对READY和RESET信号进行同步
14.8086/8088CPU各用几片地址锁存器、数据缓冲器构成最小模式系统?
为什么?
答:
8086CPU
存储器I/O接口芯片
时钟发生器(1片
地址锁存器(3片
8284A)
8282/8283或74LS373)8286/8287或74LS245)
双向数据总线收发器(2片
23:
49
15.时钟产生器8284A与8088CPU相连时,输入的晶振频率为14.31818MHz从输出端可以产生哪些时钟信号?
他们的频率分别是多少?
8284A与8086-2相连时,晶振频率为8MHZ则输出的OSC和CLK86-2信号的频率分别是多少?
答:
16.8086最大模式配置电路中,8288总线控制的主要功能是什么?
、
、
和
信号相当于最小模式中哪些信号的组合?
答:
17.什么叫总线周期?
一个总线周期一般需要几个时钟周期?
若8086-2的时钟频率为8MHz,它每秒可执行多少条指令?
答:
总线周期通常指的是CPU完成一次访问MEM或I/O端口操作所需要的时间。
一个总线周期由几个时钟周期组成。
8086的基本总线周期为4个时钟周期
每秒可执行的指令
18.8086工作于最小模式,执行存储器读总线周期,T1~T4周期中主要完成哪些工作?
答:
T1周期:
输出20位地址信号,ALE地址锁存允许信号高电平有效
T2周期:
高4位输出状态信号,低16位高阻态,准备接收数据
T3周期:
高4位维持状态信号,低16位接收数据
T4周期:
读总线周期结束
第三章
1.分别指出下列指令中的源操作数和目的操作数的寻址方式:
(1)MOVSI,200立即寻址寄存器寻址
(2)MOVCX,DATA[SI]寄存器相对寻址寄存器寻址
(3)ADDAX,[BX][DI]基址变址寻址寄存器寻址
(4)ANDAX,BX寄存器寻址寄存器寻址
(5)MOV[SI],AX寄存器寻址寄存器间接寻址
(6)PUSHF寄存器寻址寄存器间接寻址
2.写出以下指令中内存操作数的所在地址。
(1)MOVAL,[BX+5]DS
(2)MOV[BP+5],AXSS
(3)INCBYTEPTR[SI+3]DS
(4)MOVDL,ES:
[BX+DI]ES
(5)MOVBX,[BX+SI+2]DS
3.设堆栈指针SP的初值为2000H,AX=3000H,BX=5000H,试问:
(1)执行指令PUSHAX后SP=?
答:
执行指令PUSHAX后(SP)=2000H-2=1FFEH;
(2)再执行PUSHBX及POPAX后SP=?
AX=?
BX=?
答:
再执行PUSHBX及POPAX后(SP)=1FFEH,(AX)=5000H,(BX)=5000H
4.要想完成把[2000H]送[1000H]中,用指令:
MOV[1000H],[2000H]是否正确?
如果不正确,应用什么方法?
答:
把[2000H]送[1000H]中,用指令MOV[1000H],[2000H]不正确,应改为:
MOVAX,[2000H]MOV[1000H],AX
5.假如想从100中减去AL中的内容,用SUB100,AL是否正确?
如果不正确,应用什么方法?
答:
想从100中减去AL中的内容,用SUB100,AL不正确,
应改为:
MOVBL,100SUBBL,AL
6.用两种方法写出从88H端口读入信息的指令。
再用两种方法写出从42H口输出100H的指令。
答:
读入:
(1)INAL,88H
(2)MOVDX,0088HINAL,
DX输出:
(1)MOVAL,100HOUT42H,AL
(2)MOVDX,0042HMOVAL,100HOUTDX,AL
7.假如AL=20H,BL=10H,当执行CMPAL,BL后,问:
(1)若AL,BL中内容是两个无符号数,比较结果如何?
影响哪几个标志位?
答:
此时AL>BL,CF=0,ZF=0
(2)若AL,BL中内容是两个有符号数,结果又如何?
影响哪几个标志位?
答:
此时AL>BL,OF=0,SF=0
第四章
1.编一个程序,统计一个8位二进制数中的为“1”的位的个数。
答案:
假设AL中存放的是需要的8位数
xorah,ah
movcx,8
loop1:
salal,1;左移
adcah,0;加CF
looploop1
最终结果AH中为1的个数。
2.编一个程序,使放在DATA及DATA+1单元的两个8位带符号数相乘,乘积放在DATA+2及DATA+3单元中(高位在后)。
--先运行如下sql,建立一个合并函数
createfunctionfmerg(@companyvarchar(200))
returnsvarchar(8000)
as
begin
declare@strvarchar(8000)
set@str=''
select@str=@str+','+jobnamefromzhaopinwherecompany=@companyset@str=right(@str,len(@str)-1)
return(@str)
End
go
--调用自定义函数得到结果
selectdistinctcompany,dbo.fmerg(company)fromzhaopin
3.若在自1000H单元开始有一个100个数的数据块,要把它传送到自2000H开始的存储区中去,用以下三种方法,分别编制程序:
(1)不用数据块传送指令;
(2)用单个传送的数据块传送指令;
(3)用数据块成组传送指令。
解:
(1)LEAST,1000H
LEADI,2000H
MOVCX,100
L1:
MOVAX,[SI]
MOV[DI],AX
LOOPL1
HLT
(2)LEASI,1000H
LEADI,2000H
MOVCX,100
CLD
L1:
MOVSB
LOOPL1
HLT
(3)LEAST,1000H
LEADI,2000H
MOVCX,100
CLD
REPMOVSB
HLT
4.利用变址寄存器,编一个程序,把自1000H单元开始的100个数传送到自1070H开始的储存区中去。
解:
LEASI,1000H
LEADI,1070H
MOVCX,100
CLD
REPMOVSB
HLT
5.要求同题4,源地址为2050H,目的地址为2000H,数据块长度为50。
解:
LEASI,2050H
LEADI,2000H
MOVCX,50
CLD
REPMOVSB
HLT
6.编一个程序,把自1000H单元开始的100个数传送至1050H开始的存储区中(注意:
数据区有重叠)。
解:
LEASI,1000H
LEADI,1050H
ADDSI,63H
ADDDI,63H
MOVCX,100
STD
REPMOVSB
HLT
7.在自0500H单元开始,存有100个数。
要求把它们传送到1000H开始的存储区中,但在传送过程中要检查数的值,遇到第一个零就停止传送。
解:
LEASI,0500H
LEADI,1000H
MOVCX,100
N1:
MOVAL,[SI]
CMPAL,0
JZN2
MOV[DI],AL
INCSI
INCDI
LOOPN1
N2:
HLT
8.条件同题7,但在传送过程中检查数的值,零不传送,不是零则传送到目的区。
解:
MOVSI,0500H
MOVDI,1000H
MOVCX,100
N1:
MOVAL,[SI]
CMPAL,0
JZN2
MOV[DI],AL
N2;INCSI
INCDI
LOOPN1
HLT
9.把在题7中指定的数据块中的正数,传送到自1000H开始的存储区。
MOVSI,0500H
MOVDI,1000H
MOVCX,100
N1:
MOVAL,[SI]
CMPAL,0
JSN2
MOV[DI],AL
INCDI
N2;INCSI
LOOPN1
HLT
10.把在题7中指定的数据块中的正数,传送到自1000H开始的存储区;而把其中的负数,传送到自1100H开始的存储区。
且分别统计正数和负数的个数,分别存入1200H和1201H单元中。
MOVSI,0500H
MOVDI,1000H
MOVBX,1100H
MOVCX,100H
MOVDX,0
N1:
MOVAL,[SI]
CMPAL,0
JSN2
MOV[DI],AL
INCDL
INCSI
INCDI
JMPN3
N2:
MOV[BX],AL
INCDH
INCSI
INCBX
N3:
LOOPN1
MOVBX,1200H
MOV[BX],DL
MOV[BX+1],DH
HLT
11.自0500H单元开始,有10个无符号数,编一个程序求这10个数的和(用8位数运算指令),把和放到050A及050B单元中(和用两个字节表示),且高位在050B单元。
解:
LEABX,0500H
MOVAX,0
MOVCL,10
N1:
MOVDL,[BX]
ADDAL,DL
ADCAH,0
INCBX
DECCL
JNZN1
MOV050AH,AX
12.自0200H单元开始,有100个无符号数,编一个程序求这100个数的和(用8位数运算指令),把和放在0264H和0265H单元(和用两字节表示),且高位在0265H单元。
解:
LEABX,0200H
MOVAX,0
MOVCL,100
N1:
MOVDL,[BX]
ADDAL,DL
ADCAH,0
INCBX
DBCCL
JNZN1
MOV0264H,AL
第五章
1.什么是存储器系统?
微机中的存储器系统主要分为哪几类?
设计目标是什么?
答:
(1)存储器系统:
将两个或两个以上速度、容量和价格各不相同的存储器用软件、硬件或软硬件结合的方法连接起来成为一个系统。
(2)微机中的存储器系统主要分为两种:
由Cache和主存储器构成的Cache存储系统,有主存储器和磁盘构成的虚拟存储系统。
(3)前者的目标是提高存取速度而后者的主要目标是增加存储容量。
2.内部存储器主要分为哪两类?
它们的主要区别是什么?
答:
(1)分为ROM和RAM
(2)主要区别是:
ROM在正常工作时只能读出,不能写入,RAM则可读可写。
断电后,ROM中的内容不会丢失,RAM中的内容会丢失。
3.为什么动态RAM需要定时刷新?
答:
DRAM的存储元以电容来存储信息,由于存在漏电现象,电容中存储的电荷会逐 渐泄露,从而使信息丢失或出现错误。
因而需要对这些电容进行定时刷新。
4.CPU寻址内存的能力最基本的因素取决于?
答:
地址总线的宽度。
5.内存地址从20000H~8BFFFH共有多少字节?
答:
共有8BFFFH-20000H+1=6C000H个字节
若采用6264芯片构成第7题中的内存空间,需要多少片6264?
答:
每个6264芯片的容量位8KB,故需432/8=54片。
7.设某微型机内存RAM区的容量为128KB,若有2164芯片构成这样的存储器需多少片2164?
至少需要多少根地址线?
其中多少根用于片内寻址?
答:
需16片2164,至少需17根地址线,需要16根用于片内寻址。
8.什么是字扩展?
什么是位扩展?
用户自己购买内存条进行内存扩充,是在进行何种存储器扩展?
答:
当存储芯片的容量小于所需内存容量时,需要用多个芯片构成满足容量要
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机原理与接口技术 微机 原理 接口 技术 课后 习题 答案