前言微机原理与接口技术”是电类专业本科生的必修专业基础课。该课程主要内容包括:计算机科学技术基础,计算机/微型计算机的组成与结构,微处理器结构,指令系统与汇编语言程序设计,存储器及其接口,输入/输出及DMA接口,中断系统,串并行通信及其接口电路,模拟接口,总线技术,80x86/Pentium保护模式的软件体系结构,高性能微处理器、常见的计算机外部设备等相关知识。通过教学和实践,学生能掌握微型计算机的工作原理和系统结构,掌握微机测控系统的研发技术和基本方法,为今后的相关专业课程学习奠定了基础。由于该课程内容不但包括了硬件知识,而且也包括了软件知识,相对讲覆盖知识面广、涉及的概念偏多,抽象难以理解、同时也由于其实践性强,要搞好该门课程教学,必须辅之大量练习题。本书与我校微机原理与接口技术主流教材配套,目的在于指导学生学习、练习及考试(课程考试与考研),书中收集了大量的习题和答案,并同时也精选了一些自测题,内容简明扼要、重点突出,系统性、实用性较强,可以启迪学生思维,拓宽思路,弥补学生训练不足,教会学生其自动手能力,激发学生学习兴趣,使学生牢固掌握教材内容,并学以致用。可作为课程学习和复习考研的辅导用书(必备资料),也可供从事微机应用系统开发的工程技术人员阅读参考。全书由张坤鳌副教授组织编写,牟奇副教授参编,龚赏福教授、朱宇副教授在百忙中审阅了全书,并提出许多宝贵意见,在此本人表示衷心。第一章微型计算机基础习题一1.简述微型计算机系统的组成。2.简述计算机软件的分类及操作系统的作用。3.将下列十进制数转换成二进制数:(1)49;(2)73.8125;(3)79.754.将二进制数变换成十六进制数:(1)101101B;(2)1101001011B;(3)1111111111111101B;(4)100000010101B;(5)1111111B;(6)10000000001B5.将十六进制数变换成二进制数和十进制数:(1)FAH;(2)5BH;(3)78A1H;(4)FFFFH;(5)34.2AH;(6)B8.93H6.将下列十进制数转换成十六进制数:(1)39;(2)299.34375;(3)54.56257.将下列二进制数转换成十进制数:(1)10110.101B;(2)10010010.001B;(3)11010.1101B8.计算(按原进制运算):(1)10001101B+11010B;(2)10111B+11100101B;(3)1011110B-1110B;(4)124AH+78FH;(5)5673H+123H;(6)1000H-F5CH;9.已知a=1011B,b=11001B,c=100110B,按二进制完成下列运算,并用十进制运算检查计算结果:(1)a+b;(2)c-a-b;(3)a·b;(4)c/b10.已知a=00111000B,b=11000111B,计算下列逻辑运算:(1)aANDb;(2)aORb;(3)aXORb;(4)NOTa11.设机器字长为8位,写出下列各数的原码和补码:(1)+1010101B;(2)-1010101B;(3)+1111111B;(4)-1111111B;(5)+1000000B;(6)-1000000B12.写出下列十进制数的二进制补码表示(设机器字长为8位):(1)15;(2)-1;(3)117;(4)0;(4)-15;(5)127;(6)-128;(7)8013.设机器字长为8位,先将下列各数表示成二进制补码,然后按补码进行运算,并用十进制数运算进行检验:(1)87-73;(2)87+(-73);(3)87-(-73);(4)(-87)+73;(5)(-87)-73;(6)(-87)-(-73);14.已知a,b,c,d为二进制补码:a=00110010B,b=01001010B,c=11101001B,d=10111010B,计算:(1)a+b;(2)a+c;(3)c+b;(4)c+d;(5)a-b;(6)c-a;(7)d-c;(8)a+d-c15.设下列四组为8位二进制补码表示的十六进制数,计算a+b和a-b,并判断其结果是否溢出:(1)a=37H,b=57H;(2)a=0B7H,b=0D7H;(3)a=0F7H,b=0D7H;(4)a=37H,b=0C7H16.求下列组合BCD数的二进制和十六进制表示形式:(1)3251(2)12907(3)ABCD(4)abcd17.将下列算式中的十进制数表示成组合BCD码进行运算,并用加6/减6修正其结果:(1)38+42;(2)56+77;(3)99+88;(4)34+69;(5)38-42;(6)77-56;(7)15-76;(8)89-2318.将下列字符串表示成相应的ASCII码(用十六进制数表示):(1)Example1;(2)JinanUniversity;(3)-108.652;(4)Howareyou?;(5)Computer(6)InternetWeb19.将下列字符串表示成相应的ASCII码(用十六进制数表示):(1)Hello(2)123CR456;(注:CR表示回车)(3)ASCII;(4)Thenumberis2315[参考答案]3.解:(1)49=00110001B(2)73.8125=01001001.1101B(3)79.75=01001111.11B5.解:(1)FAH=11111010B=250D(2)5BH=01011011B=91D(3)78A1H=0111100010100001B=30881D(4)FFFFH=1111111111111111B=65535D7.解:(1)10110.101B=22.625(2)10010010.001B=146.0625(3)11010.1101B=26.81259.解:a=1011B=11,b=11001B=25,c=100110B=38(1)a+b=100100B=36(2)c-a-b=10B=2(3)a·b=100010011B=275(4)c/b=1……1101B(=13)11.解:(1)+1010101B原码01010101B补码01010101B(2)-1010101B原码11010101B补码10101011B(3)+1111111B原码01111111B补码01111111B(4)-1111111B原码11111111B补码10000001B(5)+1000000B原码01000000B补码01000000B(6)-1000000B原码11000000B补码11000000B13.解:按补码表示+87=01010111B;+73=01001001B;-87=10101001B;-73=10110111B(1)87-73=01010111B-01001001B=1110B=14(2)87+(-73)=01010111B+10110111B=[1]00001110B=14(舍去进位)(3)87-(-73)=01010111B-10110111B=[-1]10100000B=-96(溢出)(4)(-87)+73=10101001B+01001001B=11110010B=-14(5)(-87)-73=10101001B-01001001B=[-1]01100000B=96(溢出)(6)(-87)-(-73)=10101001B-10110111B=11110010B=-1415.解:(1)a=37H,b=57H;a+b=8EH;a-b=[-1]E0H=-32(2)a=0B7H,b=0D7H;a+b=[1]8EH=-114;a-b=[-1]E0H=-32(3)a=0F7H,b=0D7H;a+b=[1]CEH=-50;a-b=20H=32(4)a=37H,b=0C7H;a+b=FEH=-2;a-b=[-1]70H=11217.解:(1)将38、42表示成组合BCD码:38H、42H,然后按二进制进行运算,并根据运算过程中的AF,CF进行加6/减6修正。38H+42H=7AH,低4位需要加6修正:7AH+6=80H,所以有38+42=80;(2)56H+77H=CDH,高4位、低4位都应加6修正:CDH+66H=[1]33H,因此有56+77=133;(3)99H+88H=[1]21H(AF=1),高4位、低4位都应加6修正:[1]21H+66H=[1]87H,因此99+88=187(4)34H+69H=9DH,低4位需要加6修正:9DH+6=A3H,修正结果使高4位超出9,这时再对高4位进行加6修正:A3H+60H=[1]03H,因此34+69=103(5)38H-42H=[-1]F6H,因CF=1(有借位),高4位应减6修正:[-1]F6H-60H=[-1]96H,指令的借位应表示成100的补码,因此38-42=96-100=-4(6)77H-56H=21H,不需要修正,因此77-56=21(7)15H-76H=[-1]9FH,高4位、低4位都应减6修正:[-1]9FH-66H=[-1]39H,因此15-76=39-100=-61(8)89H-23H=66H,不需要修正,因此89-23=6619.解:字符串的ASCII码(用十六进制数表示)为:(1)48,65,6C,6C,6F(2)31,32,33,0D,34,35,36(3)41,53,43,49,49(4)54,68,65,20,6E,75,6D,62,65,72,20,69,73,20,32,33习题二一、选择题1.80486CPU进行算术和逻辑运算时,可处理的信息的长度为(D)。A、32位B、16位C、8位D、都可以2.在下面关于微处理器的叙述中,错误的是(C)。A、微处理器是用超大规模集成电路制成的具有运算和控制功能的芯片B、一台计算机的CPU含有1个或多个微处理器C、寄存器由具有特殊用途的部分内存单元组成,是内存的一部分D、不同型号的CPU可能具有不同的机器指令3.若用MB作为PC机主存容量的计量单位,1MB等于(B)字节。A、210个字节B、220个字节C、230个字节D、240个字节4.运算器在执行两个用补码表示的整数加法时,判断其是否溢出的规则为(D)。A、两个整数相加,若最高位(符号位)有进位,则一定发生溢出B、两个整数相加,若结果的符号位为0,则一定发生溢出C、两个整数相加,若结果的符号位为1,则一定发生溢出D、两个同号的整数相加,若结果的符号位与加数的符号位相反,则一定发生溢出5.运算器的主要功能是(C)。A、算术运算B、逻辑运算C、算术运算与逻辑运算D、函数运算6.运算器由很多部件组成,其核心部分是(B)。A、数据总线B、算术逻辑单元C、累加器D、多路开关7.在一般的微处理器中,(D)包含在CPU中。A、内存B、输入/输出单元C、磁盘驱动器D、算术逻辑单元8.80486CPU的标志寄存器中,OF标志表示运算结果的(C)情况。A、进/借位B、符号C、溢出D、辅助进位9.若某数据段位于存储区38000H~47FFFH,则该数据段的段基址为(D)。A、38000HB、47FFFHC、3000HD、3800H10.程序设计中所使用的地址是(A)。A、逻辑地址B、有效地址C、物理地址D、段基址11.80X86执行程序时,对存储器进行访问时,物理地址可由(B)组合产生。A、SS和IPB、CS和IPC、DS和IPD、CS和BP12.某处理器与内存进行数据交换的外部数据总线为32位,它属于(C)。A、8位处理器B、16位处理器C、32位处理器D、64位处理器13.在堆栈操作中,隐含使用的通用寄存器是(D)。A、AXB、BXC、SID、SP14.主要决定微机性能的是(A)A、CPUB、耗电量C、质量D、价格15.十进制负数–38的八位二进制补码是(B)A、01011011BB、11011010BC、11011011BD、01011010B16.若某台微型计算机的型号是奔四800,则其中800的含义是(D)A、CPU中有800个寄存器B、CPU中有800个运算器C