您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 26063-微机原理及接口技术—李干林—习题参考解答2015.08.10
习题参考解答1.1什么是微处理器、微型计算机、微型计算机系统?参考答案:将运算器和控制器集成在一块大规模集成电路芯片上作为中央处理部件,简称为微处理器;以微处理器为核心,再配上存储器、接口电路等芯片,构成微型计算机;微型计算机系统由硬件和软件系统两大部分组成:(1)硬件系统由微型计算机和外设组成的计算机实体;(2)软件系统是指为微型计算机运行的全部技术资料和各种程序,由系统软件和应用软件构成。1.2什么是微型计算机的三种总线?参考答案:系统总线包含有三种不同功能的总线,即数据总线DB(DataBus)、地址总线AB(AddressBus)和控制总线CB(ControlBus)。“数据总线DB”用于传送数据信息。数据总线是双向三态形式的总线,即他既可以把CPU的数据传送到存储器或I/O接口等其它部件,也可以将其它部件的数据传送到CPU。“地址总线AB”是专门用来传送地址的,由于地址只能从CPU传向外部存储器或I/O端口,所以地址总线总是单向三态的。“控制总线CB”用来传送控制信号和时序信号。1.3评估微型计算机的主要技术指标有哪些?参考答案:评估微型计算机的主要技术指标有:⑴CPU的字长,决定计算机内部一次可以处理的二进制代码的位数;⑵内存储器容量与速度,内存储器容量是衡量它存储二进制信息量大小的一个重要指标,内存储器的速度用存取周期来衡量;⑶CPU指令执行时间,反映CPU运算速度的快慢;⑷系统总线的传输速率等。1.4将下列十进制数分别转换为二进制、十六进制数。⑴35⑵130⑶0.625⑷48.25参考答案:⑴100011B,23H⑵10000010B,82H⑶0.101B,0.AH⑷110000.01B,30.4H1.5将下列二进制数分别转换为十进制、八进制、十六进制数。⑴101101B⑵11100110B⑶110110.101B⑷101011.011B参考答案:⑴45,55Q,2DH⑵230,346Q,E6H⑶54.625,66.5Q,36.AH⑷43.375,53.3Q,2B.6H1.6写出下列十进制数的原码、反码、补码(分别采用8位二进制和16位二进制表示)。⑴38⑵120⑶-50⑷-89参考答案:⑴原码、反码、补码:00100110B,0000000000100110B⑵原码、反码、补码:01111000B,0000000001111000B⑶原码:10110010B,1000000000110010B反码:11001101B,1111111111001101B补码:11001110B1111111111001110B⑷-89原码:11011001B,1000000001011001B反码:11001101B,1111111111001101B补码:11001110B1111111111001110B1.7已知补码求出其真值和原码。⑴21H⑵93H⑶45A6H⑷0DA25H参考答案:⑴真值:+21H,原码:21H⑵真值:-6DH,原码:EDH⑶真值:+45A6H,原码:45A6H⑷真值:-25DBH,0A5DBH1.8将下列十进制数转换为压缩和非压缩格式的BCD码。⑴12⑵55⑶147⑷368参考答案:⑴00010010B,0000000100000010B⑵01010101B,0000010100000101B⑶000101000111B,000000010000010000000111B⑷001101101000B,000000110000011000001000B1.9下列十进制数算术运算,试用8位二进制补码计算,并用十六进制数表示运算结果,判断是否有溢出。⑴35-45⑵80+50⑶-70-60⑷-20+(-60)参考答案:各数的补码:[35]补=00100011B,[-45]补=11010011B,[80]补=01010000B,[50]补=00110010B,[-70]补=10111010B,[-60]补=11000100B,[-20]补=11101100B。⑴35-45=11110110B=-10,结果正确,没有溢出;⑵80+50=10000010B=-126,结果不正确,有溢出,因为130超出了8位补码的表示范围上限+127;⑶-70-60=01111110B=-126,结果不正确,有溢出,因为-130超出了8位补码的表示下限-128;⑷-20+(-60)=10110000B=-80,结果正确,没有溢出。1.10分别写出下列字符串的ASCII码(十六进制表示)。⑴3aB8⑵eF10⑶+5(0:⑷Howareyou?参考答案:⑴33614238H⑵65463130H⑶2B3528303AH⑷486F770061726500796F753FH35+(-45)00100011B+11010011B11110110B80+5001010000B+00110010B10000010B-70+(-60)10111010B+11000100B101111110B-20+(-60)11101100B+11000100B110110000BCY=0,CS=0OF=CY⊕CS=0⊕0=0没有溢出CY=0,CS=1OF=CY⊕CS=0⊕1=1有溢出CY=1,CS=0OF=CY⊕CS=1⊕0=1有溢出CY=1,CS=1OF=CY⊕CS=1⊕1=0没有溢出2.18086CPU内部由哪两部分组成?它们的主要用途是什么?参考答案:8086CPU内部按功能分执行单元EU和总线接口单元BIU。执行单元的功能:负责指令的执行。同时向BIU输出数据(操作结果),并对寄存器和标志寄存器进行管理。在ALU中进行16位运算,数据传送和处理均在EU控制下进行。总线接口单元的功能:负责从内存或I/O端口取指令、取操作数和保存运算结果。2.28086/8088CPU有哪些寄存器?各有什么用途?参考答案:8086/8088CPU内部有14个16位的寄存器,按功能可分为:通用寄存器(8个)、段寄存器(4个)和控制寄存器(2个)。⑴.通用寄存器组EU中有4个16位的通用寄存器,即数据寄存器AX、BX、CX、DX。数据寄存器AX、BX、CX、DX一般用来存放数据,但它们都有各自的特定用途。AX称为累加器,是最常用的寄存器。它常用来存放算术逻辑运算中的操作数,而且一些操作要在AX中完成,如乘法操作和除法操作。此外,所有的I/O指令都使用累加器与外设端口交换信息。BX称为基址寄存器。它常用来存放操作数在内存中数据段内的基地址。CX称为计数器。在设计循环程序时一般使用该寄存器存放循环次数。DX称为数据寄存器。在寄存器间接寻址的I/O指令中存放I/O端口地址;在做双字长乘除法运算时,DX与AX一起存放一个双字长操作数,其中DX存放高16位数。⑵.指针和变址寄存器8086/8088CPU中,有一组4个16位寄存器,它们是基址指针寄存器BP,堆栈指针寄存器SP,源变址寄存器SI,目的变址寄存器DI。这组寄存器存放的内容是某一段地址偏移量,用来形成操作数地址,主要在堆栈操作和变址运算中使用。SP称为堆栈指针寄存器;BP称为基址指针寄存器;SI称为源变址寄存器;DI称为目的变址寄存器。⑶.段寄存器CS、DS、SS、ES8086/8088有20位地址总线,一共可以寻址1M的空间。而所有内部寄存器都是16位的,只能直接寻址64KB,因此采用分段技术来解决。将1MB的存储空间分成若干逻辑段,每段最长64KB,这些逻辑段在整个存储空间中可以浮动。8086/8088定义4个独立的逻辑段,分别为:代码段、数据段、堆栈段和附加数据段,将程序代码或数据分别放在这4个逻辑段中。每个逻辑段的段地址分别放在对应的段寄存器中,代码或资料在段内的偏移地址由有关寄存器或立即数给出。8086/8088的4个段寄存器:①CS称为代码段寄存器,用来存储程序当前使用的代码段的段地址(起始地址)。②DS称为数据段寄存器,用来存放程序当前使用的数据段的段地址。③SS称为堆栈段寄存器,用来存放程序当前所使用的堆栈段的段地址。④ES称为附加数据段寄存器,用来存放程序当前使用的附加数据段的段地址。⑷.指令指针寄存器IPIP称为指令指针寄存器,用来存放预取指令在代码段内的偏移地址。⑸.标志寄存器FF称为标志寄存器,是一个16位的寄存器,其中只用了9位。分别为6个状态标志位和3个控制标志位。2.38086/8088CPU中标志寄存器有几位状态位?有几位控制位?其含义各是什么?参考答案:标志寄存器是一个16位的寄存器,其中只用了9位。分别为6个状态标志位和3个控制标志位。⑴状态标志位状态标志位用来反映算术和逻辑运算结果的一些特征。①CF:进位标志位。当进行加减运算时,若最高位发生进位或借位则CF=1,否则CF=0。②PF:奇偶标志位。当运算结果的低8位中含有偶数个1时,PF=1,否则PF=0。③AF:辅助进位标志位。加法或减法运算时,若结果的低字节的低4位向高4位有进位或借位,则AF=1;否则AF=0。④ZF:零标志位。若当前的运算结果为0,则ZF=1;否则ZF=0。⑤SF:符号标志位。与运算结果的最高位相同,当运算结果的最高位为1时,SF=1;否则为0。⑥OF:溢出标志位。当运算结果超出了带符号数的范围,即溢出时,OF=1;否则OF=0。⑵控制标志位控制标志位有3个,用来设置控制条件来控制CPU的操作,由程序设置或清除。①TF:跟踪标志位。②IF:中断允许标志位。用来控制可屏蔽中断的控制标志。若IF=1,允许CPU接受可屏蔽中断请求;若IF=0,则禁止CPU回应可屏蔽中断请求。IF的状态对非屏蔽中断及内部中断没有影响。③DF:方向标志位。控制串操作指令用的标志。2.4Intel8086CPU和8088CPU主要区别有哪些?参考答案:8086CPU与8088CPU的区别主要有以下4个方面:⑴.内部结构8086的指令队列有6B,而8088仅有4B。它们的执行单元EU完全相同,而总线接口单元BIU却不完全相同。8086CPU内、外部的数据总线(DB)都为16位,8088内部数据总线为16位,外部为8位。⑵.引出线和内存组织8086有一条高8位数据总线允许引出线BHE,它可以看做一条附加的地址线,用来访问内存的高字节,而A0用来访问内存的低字节。⑶.地址/数据复用线8086的地址/数据复用线是16位AD15~AD0;而8088仅有AD7~AD0复用,A8~A15仅作为地址线使用。⑷.内存与I/O接口选通信号电平。内存与I/O接口选通信号电平不同:8086为M/IO,即高电平进行存储器操作,低电平进行I/O操作;而8088则相反,为IO/M。2.5逻辑地址和物理地址指的是什么?如果已知逻辑地址为1200:0ABCDH,其物理地址为多少?参考答案:把用段地址和偏移地址表示存储单元的地址称为逻辑地址,段地址和段内偏移地址经20位地址加法器生成的20位地址称为物理地址。已知逻辑地址为1200:0ABCDH,其物理地址为12000H+0ABCDH=1CBCDH。2.6若CS为3000H,试说明现行代码段可寻址的存储空间的范围。参考答案:可寻址的存储空间的范围:30000H+0000H~30000H+FFFFH,既:30000H~3FFFFH2.7设现行数据段位于存储器10000H到1FFFFH存储单元,DS段寄存器内容为多少?参考答案:一个逻辑段最大范围:0000H~FFFFH,因此DS段寄存器内容为:1000H。2.8设双字节12345678H的起始地址是1000H,试说明这个双字在存储器中如何存放?参考答案:2.9已知堆栈段寄存器SS=4000H,堆栈指针SP=0100H,试将数据56789ABCH推入堆栈,画出进栈示意图。最后栈顶SP=?参考答案:最后栈顶SP=400FCH2.10试求出下列运算后的各个状态标志。⑴1234H+6789H⑵23A5H–65C2H参考答案:⑴1234H+6789H=79BDH,CF=0,PF=1,AF=0,ZF=0,SF=0,OF=0;⑵23A5H–65C2H=0BDE3H,CF=1,PF=
本文标题:26063-微机原理及接口技术—李干林—习题参考解答2015.08.10
链接地址:https://www.777doc.com/doc-4512436 .html