《微机原理与接口技术》课后习题答案Word格式.docx
《《微机原理与接口技术》课后习题答案Word格式.docx》由会员分享,可在线阅读,更多相关《《微机原理与接口技术》课后习题答案Word格式.docx(50页珍藏版)》请在冰豆网上搜索。
![《微机原理与接口技术》课后习题答案Word格式.docx](https://file1.bdocx.com/fileroot1/2022-12/11/c2ac7fb5-189c-4f76-92a9-b27a2d560483/c2ac7fb5-189c-4f76-92a9-b27a2d5604831.gif)
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要执行的下条指令的物理地址是什么?
0210H,要执行的下一条指令的物理地址是34770H
10.什么叫堆栈?
它有什么用处?
如何设置堆栈?
堆栈是堆栈是连续的内存单元,存取方式遵循“先进后出”的原则。
,主要功能是暂时存放数据和地址,通常用来保护断点和现场。
堆栈的设置
11.设SS:
SP=2000:
0300H则堆栈在内存中的物理地址范围是什么?
执行两条PUSH指令后SS:
SP=?
再执行一次PUSH后,SS:
SS:
0300H,堆栈的物理地址范围是20000~2FFFFH,执行2条PUSH后,SS:
SP=2000:
02FCH,再执行一条PUSH后SS:
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中内容是两个有符号数,结果又如何?
答:
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
CLD
L1:
MOVSB
LOOPL1
HLT
(3)LEAST,1000H
REPMOVSB
4.利用变址寄存器,编一个程序,把自1000H单元开始的100个数传送到自1070H开始的储存区中去。
LEASI,1000H
LEADI,1070H
5.要求同题4,源地址为2050H,目的地址为2000H,数据块长度为50。
LEASI,2050H
MOVCX,50
HLT
6.编一个程序,把自1000H单元开始的100个数传送至1050H开始的存储区中(注意:
数据区有重叠)。
LEADI,1050H
ADDSI,63H
ADDDI,63H
STD
7.在自0500H单元开始,存有100个数。
要求把它们传送到1000H开始的存储区中,但在传送过程中要检查数的值,遇到第一个零就停止传送。
LEASI,0500H
LEADI,1000H
N1:
MOVAL,[SI]
CMPAL,0
JZN2
MOV[DI],AL
INCSI
INCDI
LOOPN1
N2:
8.条件同题7,但在传送过程中检查数的值,零不传送,不是零则传送到目的区。
MOVSI,0500H
MOVDI,1000H
N2;
9.把在题7中指定的数据块中的正数,传送到自1000H开始的存储区。
MOVSI,0500H
JSN2
10.把在题7中指定的数据块中的正数,传送到自1000H开始的存储区;
而把其中的负数,传送到自1100H开始的存储区。
且分别统计正数和负数的个数,分别存入1200H和1201H单元中。
MOVBX,1100H
MOVCX,100H
MOVDX,0
INCDL
JMPN3
MOV[BX],AL
INCDH
INCBX
N3:
MOVBX,1200H
MOV[BX],DL
MOV[BX+1],DH
11.自0500H单元开始,有10个无符号数,编一个程序求这10个数的和(用8位数运算指令),把和放到050A及050B单元中(和用两个字节表示),且高位在050B单元。
LEABX,0500H
MOVAX,0
MOVCL,10
N1:
MOVDL,[BX]
ADDAL,DL
ADCAH,0
DECCL
JNZN1
MOV050AH,AX
12.自0200H单元开始,有100个无符号数,编一个程序求这100个数的和(用8位数运算指令),把和放在0264H和0265H单元(和用两字节表示),且高位在0265H单元。
LEABX,0200H
MOVCL,100
DBCCL
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.什么是字扩展?
什么是位扩展?
用户自己购买内存条进行内存扩充,是在进行何种存储器扩展?
当存储芯片的容量小于所需内存容量时,需要用多个芯片构成满足容量要