微型计算机原理及应用技术课后习题1.docx

上传人:无*** 文档编号:87075115 上传时间:2023-04-16 格式:DOCX 页数:85 大小:320.91KB
返回 下载 相关 举报
微型计算机原理及应用技术课后习题1.docx_第1页
第1页 / 共85页
微型计算机原理及应用技术课后习题1.docx_第2页
第2页 / 共85页
点击查看更多>>
资源描述

《微型计算机原理及应用技术课后习题1.docx》由会员分享,可在线阅读,更多相关《微型计算机原理及应用技术课后习题1.docx(85页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、微型计算机原理及应用技术课后习题.txt35温馨是大自然的一抹色彩,独具慧眼的匠师才能把它表现得尽善尽美;温馨是乐谱上的一个跳动音符,感情细腻的歌唱者才能把它表达得至真至纯第1章计算机基础知识教材习题解答1 .计算机中为什么都采用二进制数而不采用十进制数?【解】计算机的基本功能是对数的运算和处理。计算机中,通过数字化编码技术,对所表示的数值、文字、符号及控制信息等进行数字编码,这种数字化表示方法不仅要适合于人的自然习惯,同时要满足机器中所用器件、线路的工作状态以及数据可靠传输与易于校验纠错等方面的要求。一个具有两种不同的稳定状态且能相互转换的器件,就可以用来表示一位二进制数,所以表示二进制的器

2、件易于制造且工作可靠,并且二进制数的运算规则也最简单,因此目前计算机中均采用二进制数来表示各种信息及进行信息处理。2 .写出下列用原码或补码表示的机器数的真值:(1)01101101(2)10001101【解】(1) X原=0110001 = + 109(2) X原=10001101 = -13(3) X原=010110。= +89(4) X原= 11001110= - 783.填空: (1) (1234)10=()2=(2) (34. 6875) 10=( (3) (271.33)10=( (4) (101011001001)2=( (5) (1AB. E)16=( (6) (1010101

3、0.0111)2=(3)01011001(4)11001110X补=01101101=+ 109X补=10001101 = -115X补=01011001 =+89X补=11001110= - 50)16)2=()16)2=()16)10= () 16)10=()2)10=()16【解】(1) (1234)10=(10011010010)2=(4D2)16(2) (34.6875)10=(100010.1011)2=(22. B )16(3) (271.33)10=(100001111.010101)2=(10F.54)16(4) (101011001001)2=(2761)10=( AC9)

4、16(5) (1AB. E)16=(427.875)10=(110101011. Ill )2(6) (10101010.0111)2=(170.4375)10=( AA.7)164 .已知X=36, Y=-136, Z=-1250,请写出X、Y、Z的16位原码、反码和补码。【解】X原=0000000000100100Y原=1000000010001000Z原=1000010011100010X反=0000000000100100Y反=1111111101110111z反=mi ion oooi iioiX补=0000000000100100Y补=1111111101111000z补=mi i

5、on oooi mo5 .已知X补=01010101B,Y补=10101010B,Z补=10001111OOOOB,求 X、Y、Z 及 X+ Y、Y-Z的十进制值为多少?【解】丫一Z运算时丫需要扩展符号位X=85Y =-86Z =-28673X+Y=01010101B+101010108=11111111B=-1Y-Z=llllllll 10101010B-1000111111111111B=1111111110101010B+011100000000000IB=0110 mi ioio ioiib=285876 .用8位补码进行下列运算,并说明运算结果的进位和溢出:(1)33+114(2)3

6、3-114(3)(-33)+114(4)(-33)-114【解】(1) 33补=00100001114补=0111001000100001+0111001010010011正确的运算结果147X27,出现溢出,使符号位发生变化,出现结果:一109(2) 33补=00100001-114补=10001110001000014-1000111010101111运算结果:-81(3) -33补=11011111114补=0111001011011111+01110010101010001最高位进位,自然丢失,运算结果:+81(4) -33补=11011111-114=1000111011011111

7、+10001110101101101正确的运算结果一147 DH、DLAX (AH、AL)累加器。有些指令约定以AX (或AL)为源或目的寄存器。实际上大多数情况下,8086的所有通用寄存器均可充当累加器。BX (BH、BL)基址寄存器。BX可用作间接寻址的地址寄存器和基地址寄存器,BH、BL 可用作8位通用数据寄存器。CX (CH, CL)计数寄存器。CX在循环和串操作中充当计数器,指令执行后CX内容自动修改,因此称为计数寄存器。DX (DH、DL)数据寄存器。除用作通用寄存器外,在I/O指令中可用作端口地址寄存器,乘除指令中用作辅助累加器。指针和变址寄存器。BP (Basic Pointe

8、r Register)基址指针寄存器。SP (Stack Pointer Register)堆栈指针寄存器。SI (Source Index Register)源变址寄存器。DI (Destination Index Register)目的变址寄存器。BP、SP称为指针寄存器,用来指示相对于段起始地址的偏移量。BP和SP一般用于堆栈段。SI、DI称为变址寄存器,可用作间接寻址、变址寻址和基址变址寻址的寄存器。SI一般用于数据段,DI一般用于数据段或附加段。标志寄存器(FR):是一个16位寄存器,算术逻辑单元进行算术逻辑运算后,在标志寄存器中建立相应的标志。段地址寄存器(CS, DS、SS、ES

9、)。用于存放段地址,根据其主要用途,分为代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS、附加段寄存器ES。代码段寄存器CS:代码段是存放程序代码的存储区域,代码段寄存器用来存放代码段存储区域的起始地址。数据段寄存器DS:数据段是存放程序中所使用的数据的存储区域,数据段寄存器用来存放程序的数据存储区的起始地址。堆栈段寄存器SS:堆栈段寄存器用来存放堆栈存储区的起始地址。由堆栈段寄存器SS 与堆栈指针寄存器SP来确定当前堆栈指令的操作地址。附加段寄存器ES:附加段是为某些字符串操作指令存放目的操作数而设置的一个附加的数据段,附加段寄存器用来存放该附加数据段存储区域的起始地址。指令指针寄存器(

10、IP)。又称程序计数器,是16位寄存器。IP中存放当前将要执行的指令的有效地址,每取出一条指令IP自动增量,即指向了下一条指令。指令队列缓冲器:是一个与CPU速度相匹配的高速缓冲寄存器。在EU执行指令的同时, BIU可以从内存中取出下一条或下几条指令放到指令缓冲器中,EU执行完一条指令后,可以立即从指令缓冲器中执行下一条指令。4.状态标志与控制标志有何不同,程序中是怎样利用这两类标志的?标志寄存器有哪些标志位,各在什么情况下置位?【解】状态标志根据算术逻辑运算结果由硬件自动设定,它们反映运算结果的某些特征或状态,可作为后继操作(如条件转移)的判断依据。控制标志由用户通过指令来设定,它们可控制机

11、器或程序的某些运行过程。标志寄存器的内容如下:15141312111098765432100FDFIFTFSFZFAFPFCFCF (Carry Flag)进位标志,反映在运算结果的最高位有无进位或借位。如果运算结果的最高位产生了进位(加法)或借位(减法)则CF=1,否则CF=O。PF (Parity Flag)奇偶标志,反映运算结果中“1”的个数的奇偶性,主要用于判断数据传送过程中是否出错。若结果的低8位中有偶数个“1”则PF=1,否则PF=O。AF (Auxiliary Carry Flag)辅助进位标志,又称半进位标志。加减运算时,若D3向 D4产生了进位或借位则AF=1,否则AF=O。

12、在BCD码运算时,该标志用于十进制调整。ZF (Zero Flag)零标志,反映运算结果是否为0。若结果为零则ZF=1,否则ZF=0。SF (Sign Flag)符号标志,反映运算结果最高位即符号位的状态。如果运算结果的最高位为1则SF=1(对带符号数即为负数),否则SF=0(对带符号数即为正数)。OF (Overflow Flag)溢出标志,反映运算结果是否超出了带符号数的表数范围。若超出了机器的表数的范围,即为产生溢出,则0F=l,否则0F=0。DF (Direction Flag)方向标志,用于串处理指令中控制串处理的方向。当DF=1时,每次操作后变址寄存器SI、DI自动减量,因此处理方

13、向是由高地址向低地址方向进行。当DF=O,则SI、DI自动增量,处理方向山低地址向高地址方向进行。该标志由方向控制指令STD或 CLD设置或清除。IF (Interrupt Flag)中断允许标志,用于控制CPU是否允许响应可屏蔽中断请求。IF=1为允许响应可屏蔽中断请求,IF=0则禁止响应可屏蔽中断请求。该标志可由中断控制指令STI 或CLI设置或清除。TF (Trap Flag)陷阱标志,用于单步操作。TF=1时,每执行一条用户程序指令后自动产生陷阱,进入系统的单步中断处理程序。TF=0时,用户程序会连续不断地执行,不会产生单步中断。5.求出下列运算后各个标志的状态,并说明进位标志和溢出标

14、志的区别。(1)1278H +3469H(2)54E3H -27A0H(3)3881H +3597H(4)01E3H -01E3H【解】CF进位标志,反映在运算结果的最高位有无进位或借位。OF溢出标志,反映运算结果是否超出了带符号数的表数范围。机器实际处理时判断是否溢出的方法是根据最高位的进位(CF)与次高位的进位是否相同来确定,若两者不相同则OF=1(表示有溢出),否则0F=0(表示无溢出)。(1)0001001001111000+00110100011010010100011011100001运算后各个标志的状态:0FIFTFSFZFAFPFCF000110(2)0101010011100

15、011一00100111101000000010110001000011运算后各个标志的状态:OFDFIFTFSFZFAFPFCF0000(3)0011100010000001+00110101100101110110111000011000运算后各个标志的状态:OFDFIFTFSFZFAFPFCF00001(4)000000011110001100000001111000110000000000000000运算后各个标志的状态:OFDFIFTFSFZFAFPFCF006.8086 CPU中存储器的逻辑地址和物理地址之间有什么关系,各有多少值?【解】物理地址为某一个存储单元的实际地址,对于80

16、86它是一个20位的地址。物理地址从00000H-FFFFFH变化,对应1MB的空间。逻辑地址,又称偏移地址或有效地址,即对段首的偏移量。偏移地址从0000HFFFFH 变化,对应64KB的空间。物理地址的获得方法是:将段寄存器的内容左移4位(即X16),与逻辑地址相加,得到20位物理地址。根据寻址方式的不同,偏移地址可以来自程序计数器(IP)或其它寄存器。7.8086CPU使用的存储器为什么要分段,怎样分段?为什么要设置段寄存器,有几个段寄存器?各段寄存器有什么意义?【解】8086 CPU内部数据结构是16位的,即所有的寄存器都是16位的,而外部寻址空间为1MB,即需要20位地址线。为了能用

17、内部寄存器中的16位地址来寻址1MB空间,8086将1MB 空间以16字节为一个内存节,共分成64K个节。节的起始地址分别为00000H、00010IK 00020H、FFFF0H,称为段基址。节的起始地址的后4位二进制数为全0,称为节的段地址.用于存放段地址的寄存器称为段寄存器,根据其主要用途,分为代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS、附加段寄存器ES。代码段寄存器CS:用来存放代码段存储区域的起始地址。数据段寄存器DS:数存放程序的数据存储区的起始地址。堆栈段寄存器SS:用来存放堆栈存储区的起始地址。由堆栈段寄存器SS与堆栈指针寄存器SP来确定当前堆栈指令的操作地址。附加段

18、寄存器ES:附加段是为某些字符串操作指令存放目的操作数而设置的一个附加的数据段,附加段寄存器用来存放该附加数据段存储区域的起始地址。8 .简述A0与在8086系统中的应用。【解】8086系统中将1MB存储空间分成两个512KB的物理存储体。一个存储体由偶数地址组成,另一个存储体由奇数地址组成。用A0位来区分两个存储体。用和A0的组合来选择存储体,其组合关系及操作情况如下:(1)从偶地址读写一个字节(A0=10).AD15AD8上的数据被忽略,字节内容通过AD7 AD0传送。(2)从奇地址读写一个字节(A0=01),在AD15-AD8上传送的数据有效,AD7-AD0上数据被忽略。(3)从偶地址开

19、始读写一个字(A0=00),在AD15ADO上传送的数据同时有效。(4)从奇地址开始读写一个字。第一个总线周期A0=01,从奇地址读写低字节,在 AD15AD8上传送的数据有效。第二个总线周期A0=10,从偶地址读写高字节,在AD7ADO 上传送的数据有效。9 .8086系统中为什么要采用地址锁存器8282?采用什么方法从分时复用地址/数据线中将数据和地址信号分离出来?【解】8086地址总线与数据总线是分时复用的,高8位数据有效信号也是复用信号。在T1状态,总线上输出20位地址信号及信号,而在T2T4状态,总线用于数据传送,信号也失效。为了正确地交换数据,地址信号及信号在T2T4期间必须保持,

20、所以需要设一组地址锁存器(3片8282),用于锁存地址及信号。在T1状态,CPU送出地址锁存允许信号ALE,将ALE接向8282的选通输入端STB。当ALE =1时,8282输出跟随输入变化,用ALE的下降沿将总线上已经稳定的地址信号锁入8282。10.8086和8088 CPU的主要区别是什么?【解】8088的内部结构和指令功能与8086完全相同,只是为了和原有的8位微处理器外围芯片兼容,其外部数据总线是8位的。11 .8086系统中的存储器采用什么结构?如何与地址、数据线连接?【解】8086系统中将1MB存储空间分成两个512KB的物理存储体。个存储体由偶数地址组成,另一个存储体由奇数地址

21、组成。用A0位来区分两个存储体。12 .8086的I/O端口寻址范围是多少?什么是I/O端口与内存分别独立编址?【解】8086的I/O端口使用16位地址A15A0, I/O端口地址范围为0000HFFFFH,可寻址空间为64KBoI/O端口与内存分别独立编址时,指令访问的是I/O端口还是内存,由地址信息无法区分,由M/信号区分是I/O端口的寻址与内存寻址。13 .在对存储器和I/O设备读写时,要用到(10读)、(10写)、(存储器读)、(存储器写)信号,这些信号的作用是什么?它们在最小模式时可用怎样的电路得到?请画出示意图。【解】:该信号有效时,对I。端口执行读操作:该信号有效时,对10端口执

22、行写操作:该信号有效时,对存储器执行读操作:该信号有效时,对存储器执行写操作在最小模式时可分别用以下电路得到上述信号:14 .什么是基地址和位移量,它们之间有何联系?【解】8086 CPU内部数据结构是16位的,而外部寻址空间为1MB。为了能用内部寄存器中的16位地址来寻址1MB空间,8086将1MB空间以16字节为一个内存节(Paragraph),共分成64K个节。节的起始地址称为段基址。偏移地址是存储地址对段首的偏移量。偏移地址从0000H-FFFFH变化,对应64KB的空间。它们之间有何联系:物理地址=基地址X 16+位移量。15 .设CS=1200H, IP=0FF00H,此时指令的物理地址是多少?指向这物理地址的CS和IP 的值是惟一的吗?【解】指令的物理地址:12000H+0FF00H=21F00H指向这一物理地址的CS和IP的值不是惟一的。16 .若CS=1000H,指出当前代码段可寻址的存储空间的大小和地址范围。【解】当前代码段可寻址的存储空间的大小:64KB当前代码段可寻址的存储空间的地址范围:10000H1FFFFH17 .简述8086单CPU和多CPU系统各自主要特点,并说明有何差别。【解】单CPU系统中只有一个

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁