微机原理与接口技术课后习题参考答案文档格式.docx
- 文档编号:17555988
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:77
- 大小:234.71KB
微机原理与接口技术课后习题参考答案文档格式.docx
《微机原理与接口技术课后习题参考答案文档格式.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术课后习题参考答案文档格式.docx(77页珍藏版)》请在冰豆网上搜索。
所谓总线,它将多个功能部件连接起来,并提供传送信息的公共通道,能为多个功能
部件分时共享,CPU通过总线连接存储器和I/O接口等,构成了微型计算机。
这里指的总线(BUS)包括地址总线、数据总线和控制总线三种。
5•地址总线的作用是什么?
地址总线(AddressBus,AB),通常是CPU用来发出地址信息的,用于对存储器和I/O
接口进行寻址。
6.什么叫溢出?
判断溢出的方法是什么?
(1)溢出通常指计算机运算的结果超出了计算机所能允许的范围。
本章所讲的溢出是
指用补码实现加/减运算后,若参与操作的两数在定义域内,但运算结果超出了字长范围内补码所能允许表示的值,所计算出的结果产生了错误,称之为溢出。
(2)加/减运算判断溢出的方法:
如果把加/减法运算都变成补码相加,则两个正数相加可能产生正的溢出,两个负数相
加可能会产生负的溢出,正负两数相加不会产生溢出。
具体实现的方法是:
两个操作数运算后,用最高位和次高位产生的进位位异或,异或结果为1,则表示有溢出,结果为0,表示无溢出。
例如:
两个8位数运算后,溢出标志
OF=C6®
C7
7.假设四种CPU主存地址分别为16根、20根、24根以及32根,试问每种CPU可寻址内存多少字节?
解:
每种CPU可寻址内存分别是:
216=64KB、220=1MB、224=16MB、232=4GB。
&
在一般指令格式中,由哪两部分组成?
由操作码和操作数组成。
9.设字长为16位,将下列十进制数转换成二进制数、十六进制数以及BCD数。
165②129③257④513
165=01000000B=41H=(01100101)BCD
2129=10000001B=81H=(000100101001)BCD
3257=100000001B=101H=(001001010111)BCD
4513=1000000001B=201H=(010100010011)BCD
10.设字长为8位,写出x、y的原码、反码和补码,并且用补码计算x+y,问是否有溢出?
1x=-78y=35②x=-64y=-66
1x=-78y=35
凶原=11001110,凶反=10110001,凶补=10110010
[Y]原=00100011,[Y]反=00100011,[Y]补=00100011
[X]补+[Y]补=10110010+00100011=11010101,无溢出。
2x=-64y=-66
凶原=11000000,凶反=10111111,凶补=11000000
[Y]原=11000010,[Y]反=10111101,[Y]补=10111110
[X]补+[Y]补=11000000+10111110=01111110,有溢出。
11.试用8位二进制写出以下数、字母以及控制命令的ASCH码,还要写出它们各自的
奇校验、偶校验、标记校验及空格校验的ascn码。
1B②8③CR④NUL
各自对应的奇校验、偶校验、标记校验及空格校验的ascn码如表1所示。
表1数、字母以及控制命令的ascn码
数、字母以及控制命令
奇校验
偶校验
标记校验
空格校验
B
11000010
01000010
8
00111000
10111000
CR
00001101
100001101
10001101
NUL
10000000
000000000
00000000
12.设两个BCD数X=10001001,Y=01110101,试用列竖式的方法计算X+Y,注意要做加6修正运算。
10001001
01110101
11111110结果不正确
110个位加6修正
100000100结果还不正确
+110十位加6修正
101100100结果正确
13.若规格化32位浮点数N的二进制存储格式为41360000H,求其对应的十进制数值。
解:
41360000H=01000001001101100000000000000000B
N=(-1)SX(1.M)X2e-127=(-1)0X(1.011011)X2130-127
=1.011011X23=1011.011=11.375D
14.微机中的存储器是如何编址的?
在微机中,存储器均按字节(一字节由8位二进制信息组成)编址,即每个字节有一个
二进制的地址编码。
给每个存储单元分配的一个固定地址,称为单元地址。
15•微型计算机的硬件系统由那些部件组成?
微型计算机的硬件系统主要由运算器、控制器、存储器、输入设备及输出设备五大部分组成。
16.计算机的主要性能指标有哪些?
字长、CPU的主频、主存储器的容量及外存储器的容量等。
第2章(2.5习题)
1•微型计算机可以工作在哪三种工作模式下?
微处理器可以工作在:
实地址模式、保护模式及虚拟8086模式共三种。
2•如何从实模式转变到保护模式?
通过对CPU中的控制寄存器CR0中的b0位置1,即保护允许位PE置1,于是系统进入保护模式。
这是由操作系统程序来实现的。
3.实模式有哪些特征?
实地址模式(Real-AddressMode)也称实模式,简单地说,是指80286以上的微处理器
所采用的8086的工作模式。
在实模式下,采用类似8086CPU的体系结构,其寻址机制,尤
其是存储器寻址,以及中断处理机制均和8086相同。
在实模式下,关键是CPU寻址空间只
有1MB(00000H〜FFFFFH),也是采用分段管理存储器的方式,将存储器分成四种类型的段,每段存储空间最大为64KB。
将1MB的存储空间保留两个区域:
一个是中断向量表区(00000〜003FFH),这是1KB的存储空间,用于存放256个中断服务程序的入口地址(中断向量),每个中断向量占4字节。
4.16位微处理器有哪些通用寄存器?
AX、BX、CX、DX、SI、DI、SP和BP。
5.16位微处理器有哪4个段寄存器?
每个段寄存器的作用是什么?
4个段寄存器分别是代码段寄存器CS、数据段寄存器DS、附加段寄存器ES及堆栈段寄存器SS。
(1)代码段寄存器CS是一个随机存取存储区,用来保存微处理器使用的程序代码。
在8086系统中,代码段寄存器CS定义了代码段的起始地址。
代码段的最大存储空间为64KB。
(2)数据段寄存器DS也是一个随机存取存储区,用来保存程序执行过程中所使用的
数据及存放程序运行后的结果。
数据段寄存器DS定义了数据段的起始地址,其最大存储空
间也是64KB。
(3)附加段寄存器ES是为某些串操作指令存放操作数而附加的一个数据段。
与数据
段类似,附加段寄存器ES定义了附加段的起始地址,其最大存储空间也为64KB。
(4)堆栈段寄存器SS是一个特殊的随机存取存储区,用来临时保存程序执行过程中有
关寄存器的内容、程序的地址信息及传递参数等。
堆栈段寄存器SS与堆栈指针SP共同确定
堆栈段内的存取地址。
其最大存储空间为64KB。
6•如何理解32位微处理器的通用寄存器与16位的通用寄存器兼容?
虽然32位微处理器将8086原来的8个16位通用寄存器AX、BX、CX、DX、SI、DI、BP、SP均扩展成(Extended)32位的寄存器,即EAX、EBX、ECX、EDX、ESI、EDI、EBP、ESP。
但是,它保留了原来的8个16位寄存器和8个8位的寄存器,仍然可以使用它们编程,当然,所编写的程序仍然可以在32位机上运行。
既可以用32位寄存器编程,还可以用16位
及8位寄存器编程,这就实现了寄存器的兼容。
7.什么叫段基地址?
什么叫偏移地址?
编程人员在编程时,只能涉及到逻辑地址,而不能涉及到实际地址。
逻辑地址在实模式下,它由段基地址与段内偏移地址组成,习惯上写为“段基地址:
偏移地址”,实模式下,段基地址与段内偏移地址都是16位,段基地址是段起始地址的高16位,说明每个段在
主存中的起始位置,段内偏移地址也称“偏移量”,是所要访问存储单元距离起始地址之
间的字节距离。
在32位段的情况下,偏移量是32位。
段寄存器与32位偏移地址寄存器的固定搭配如何?
固定搭配如表2所示。
表2段寄存器与32位偏移地址寄存器的固定搭配
段寄存器
偏移地址寄存器
物理地址的用途
CS
EIP
指令地址
DS
EAX、EBX、ECX、EDX、ESI、
EDI、8位、16位或32位二进制数
数据段内地址
SS
ESP、EBP
堆栈段内地址
ES
只有串操作时默认EDI
附加数据段内地址(目地址)
FS
:
无固定搭配寄存器
一般数据地址
GS
9.8086CPU由哪两部分组成?
它们的主要功能各是什么?
8086CPU内部结构从功能上看,它由两大部件组成,分为总线接口部件BIU(Bus
InterfaceUnit)和执行部件EU(ExecutionUnit)。
(1)总线接口部件BIU的主要功能:
它是8086CPU与外部存储器和I/O端口的接口,提供了16位双向数据总线和20位地址总线,负责CPU与存储器及I/O端口之间的数据传送操作(包括物理地址的形成)。
(2)执行部件EU主要功能:
从BIU中的指令队列获取指令,对指令进行译码分析并执
行,执行指令所需要的操作数和运算结果的存储,是由EU向BIU传递偏移地址,BIU只要
收到EU送来的偏移地址,于是将送来的偏移地址与相应的段地址组成20位的物理地址,根
据现行的20位物理地址,通过执行存储器的读/写总线周期来完成读/写操作,或者是通过执行I/O端口的读/写总线周期来完成读/写I/O端口的操作。
10.8086CPU中的标志寄存器FLAGS有哪些状态标志位?
在什么情况下置位?
状态标志有6位:
CF、PF、AF、ZF、SF和OF。
1CF(CarryFlag),进位标志位。
本次运算中最高位有进位或借位时,CF=1。
2PF(ParityFlag),奇偶校验标志位。
本次运算结果的低8位中1的个数为偶数时,
PF=1。
3AF(AuxiliaryCarryFlag),辅助进位标志位。
本次运算结果低4位向高4位有进位
或借位时,AF=1。
4ZF(ZeroFlag),零标志位。
若运算结果为0时,ZF=1。
5SF(SignFlag),符号标志位。
当运算结果的最高位为1,则SF=1。
6OF(OverflowFlag),溢出标志位。
当运算结果有溢出时,OF=1。
11.什么是逻辑地址?
什么是物理地址?
如何将逻辑地址转换为物理地址?
从8088/8086开始,CPU内部就有了对存储器的分段机制,每个存储单元可以看成两种地址:
逻辑地址与物理地址。
(1)逻辑地址
逻辑地址是编程时所使用的地址,在实模式下,它由段基地址与段内偏移地址组成,习惯上写为“段基地址:
偏移地址”。
(2)物理地址
物理地址又称为实际地址,它是信息在内存中存放的实际地址,是CPU访问存储器时
实际发出的地址信息。
(3)在实地址方式下,由CPU中的总线接口单元将段基地址左移4位后与16位的偏移
地址相加,生成20位的物理地址。
可以访问1MB的存储空间。
12.设X=35H,Y=76H,进行X+Y和X-Y运算后,标志寄存器FLAGS的状态标志位各是什么?
(1)X+Y=35+76后,CF=0、AF=0、SF=0、OF=0、ZF=0、PF=1。
(2)X-Y=35-76后,CF=1、AF=1、SF=1、OF=0、ZF=0、PF=1。
13.什么叫存储器地址交叉?
微机的存储器为什么要用存储器地址交叉技术?
答:
(1)在一个物理存储芯片内部所有存储单元的地址编号都不是连续的,而在相邻存储
芯片之间的物理地址是相连接的,例如,16位的微处理器8086/80286把内存地址分为偶地
址的字节数据、奇地址的字节数据,因此,分为偶字库和奇字库,即在一个物理存储芯片
内所有存储单元的地址编号都是奇地址,另一物理存储芯片内所有存储单元的地址编号都是偶地址,这就称为地址交叉。
(2)偶地址存储体与数据总线的低8位(D7〜D0)相连,奇地址存储体与数据总线高8位(D15〜D8)相连,可以由偶地址有效选中偶字库(例A0=0),由奇地址有效选中奇字库
(例(BHE=0)。
原因是:
便于CPU可以只访问偶地址一个字节,也可以只访问奇地址一个字节,还可以访问一个字(2字节)。
在CPU的外部数据总线为32位的情况下,CPU不仅可能只访问一个字节、一个字,还可能访问一个双字,因此,把内存分成4个存储体,实现存储器地址的4体交叉。
14•请将实模式下逻辑地址转变成物理地址。
(1)FFFFH:
0000H
(2)0045H:
0018H
(3)2000H:
4600H
(4)B821H:
3456H
解:
(1)FFFFH:
(2)0045H:
(4)B821H:
0000H,物理地址=FFFFHX16+0000H=FFFF0H
0018H,物理地址=0045HX16+0018H=00468H
4600H,物理地址=2000HX16+4600H=24600H
3456H,物理地址=B821HX16+3456H=BB666H
15.在8086系统中,CPU执行访问存储器指令时,BHE=0,说明当前CPU要访问哪
一个存储体?
当BHE=0时,
CPU要访问奇地址的存储体。
第3章(3.12习题)
3.1按照16位微处理器的寻址方式看,分别指出下列指令中源操作数和目的操作数的寻址方式。
(1)movax,0
(2)mov[si],ax
(3)mov2[di],bx
(4)mov2[bx+si],dx
寻址
;
源操作数:
立即寻址,目的操作数:
寄存器寻址
寄存器寻址,目的操作数:
变址寻址
相对变址寻址
相对基址(加)变址
(5)movax,[1000h]
直接寻址,目的操作数:
(6)movdx,[bx][si]
(7)movax,[bx]
基址(加)变址寻址,目的操作数:
基址寻址,目的操作数:
(8)movdx,[bp+8]
相对基址寻址,目的操作数:
3.2按照32位微处理器的寻址方式看,分别指出下列指令中源操作数和目的操作
数的寻址方式。
(1)moveax,01h
(2)mov[esi],ax
(3)mov[esi*2],bx
寄存器寻址,目的操作数:
基址寻址
比例变址
(4)mov[ebx+esi],dx例变址寻址
(5)moveax,[1OOOh]
(6)movdx,[ebx+esi*8]寄存器寻址
(7)movedx,eax
(8)movdx,[ebp*2+8]寄存器寻址
(9)movdx,[ebx+8]器寻址
基址加比
基址加比例变址寻址,目的操作数:
比例变址加位移寻址,目的操作数:
基址加位移寻址,目的操作数:
寄存
(10)movax,[ebx+esi*2+78h]
基址加比例变址加位移寻址,目的操
作数:
3.3指出下列指令的错误原因
(1)inc[si]
(2)moveax,bx
(3)mov2,ax
(4)mov[ebx],[edi]
目的操作数类型不明确
源操作数和目的操作数类型不匹配
立即数不能作目的操作数
源操作数和目的操作数不能同时为存储器操作数
(5)movax,[bx+bp]
(6)movax,[si+di]
(7)movah,300
(8)movcs,1OOOh
(9)pushal
(10)shlax,8
(11)movax,bx+di
(12)movip,bx
(13)moves,ds
(14)mov[sp],ax
基址变址寻址方式不能冋时为基址寄存器
基址变址寻址方式不能冋时为变址寄存器
300超出了ah可以容纳的数据范围
cs不能由程序员赋值,它由系统自动赋值
push要求操作数为16位或32位
当移位次数超过1时,先将移位次数送cl,再移位
基址变址寻址方式缺少一对方扩号
ip不能由程序员赋值,它由系统自动赋值
源操作数和目的操作数不能同时为段寄存器
入栈只能用push指令实现
3.4比较下列两条指令,指出他们的区另叽
moveax,[si]
mov[si],eax
从内存读数据送eax
把eax的值写入到内存
3.5假设(EAX)=12345678H,写出下面每条指令单独执行后,(EAX)=?
(1)
(eax)=00005678h
(eax)=12345678h
(eax)=0
(eax)=12345679h
(eax)=12345677h
(eax)=12345670h
andeax,OOOOffffh
(2)testeax,1
(3)xoreax,eax
(4)subeax,eax
⑸addeax,1
⑹oreax,1
⑺cmpeax,0000ffffh
(8)inceax
(9)deceax
(10)subeax,8
3.6假定(AX)=1234H,(BX)=00FFH,回答每条指令单独执行后,(AX)=?
(BX)=?
(1)andax,bx
(ax)=0034h
(bx)=00ffh
(2)testax,bx
(ax)=1234h
(3)xorax,bx
(ax)=12cbh
(4)xchgax,bx
(ax)=00ffh
(bx)=1234h
(5)addax,bx
(ax)=1333h
(6)subbx,ax
(bx)=0eecbh
(7)orbx,ax
(bx)=12ffh
(8)cmpax,bx
(bx)=00ffh
3.7假设(EAX)=11223344H,(EBX)=11225566H,写出下面程序段每条指令执行后
(EAX)=?
(EBX)=?
addeax,ebx
(eax)=224488aaH,(ebx)=11225566H
addeax,00000088h
(eax)=22448932H,(ebx)=11225566H
subeax,ebx
(eax)=112233ccH,(ebx)=11225566H
incebx
andebx,0000ffffh
(eax)=112233ccH,(ebx)=11
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 接口 技术 课后 习题 参考答案