1、第一部分 例题与习题 第1章 微型计算机基础1.1 例 题1把十进制数137.875转化为二进制数。P7解:把十进制数转换成二进制数时,需要对一个数的整数部分和小数部分分别进行处理,得出结果后再合并。整数部分:一般采用除2取余法小数部分:一般采用乘2取整法- 1- 0- 0- 1- 0- 0- 0- 1 余数 低位 整数 高位2 | 137 0.875- 1- 1- 12 | 68 2 2 | 34 1.750 2 | 17 2 2 | 8 1.500 2 | 4 2 2 | 2 1.000 1 高位 低位(137)10=(10000111)2 (0.875)10=(0.1101)2所以,(1
2、37.875)10=(10001001.111)22把二进制数10011.0111转换为八进制数和十六进制数。P9解:八进制、十六进制都是从二进制演变而来,三位二进制数对应一位八进制数,四位二进制数对应一位十六进制数,从二进制向八进制、十六进制转换时,把二进制数以小数点为界,对小数点前后的数分别分组进行处理,不足的位数用0补足,整数部分在高位补0,小数部分在低位补0。(10 011.011 1)2=(010 011.011 100)2=(23.34)8(1 0011.0111)2=(0001 0011.0111)2=(13.7)163将八进制数23.34转换为二进制数。P9解:(23.34)8
3、=(010 011.011 100)2=(10011.0111)24X=0.1010,Y=0.0111,求XY补,并判断是否有溢出?P11解:XY补=X补Y补X补=0.1010 Y补=1.1001 Y补=0.0111 0.1010 0.0111 1.0001 说明:当异号相减运算时,通过补码,减法运算转化为两个正数的加法运算,结果为负(符号位为1),表示运算结果溢出。510010101B分别为原码、补码、BCD码表示时,对应的十进制数为多少?解:X原=10010101,X=21X补=10010101,X原=11101011,X=107XBCD=10010101,X=956简述计算机为什么能实现
4、自动连续的运行?解:计算机能实现自动连续的运行,是由于计算机采用了存储程序的工作原理。把解决问题的计算过程描述为由许多条指令按一定顺序组成的程序,然后把程序和处理所需要的数据一起输入到计算机的存储器中保存起来。计算机接收到执行命令后,由控制器逐条取出并执行指令,控制整个计算机协调地工作,从而实现计算机自动连续的运行。1.2习 题1选择题(1)8086是( )。 P1A微机系统 B微处理器 C单板机 D单片机(2)下列数中最小的数为( )。P7A(101001)2 B(52)8 C(2B)16 D(50)10(3)下列无符号数中,其值最大的数是( )。P7A(10010101)2 B(227)8
5、 C(96)16 D(150)10(4)设寄存器的内容为10000000,若它等于127,则为( )。P10A原码 B补码 C反码 DASCII码(5)在小型或微型计算机里,普遍采用的字符编码是( )。P13ABCD码 B16进制 C格雷码 DASCII码(6) 若机器字长8位,采用定点整数表示,一位符号位,则其补码的表示范围是( P12 )。A. (271) 27 B. 27 271 C. 27 27 D. (271) 271 (7)二进制数00100011,用BCD码表示时,对应的十进制数为( )。P14A 23 B 35 C.53 D.67(8)已知X补=10011000,其真值为( )
6、。P10A102 B103 C48 D104(9)二进制数10100101转化为十六进制是( )。P7A105 B95 C125 DA5(10)连接计算机各部件的一组公共通信线称为总线,它由( )。P4 A地址总线和数据总线组成 B地址总线和控制总线组成C数据总线和控制总线组成 D地址总线、数据总线和控制总线组成 (11)计算机硬件系统应包括( )。P3A运算器、存储器、控制器 B主机与外围设备C主机和实用程序 D配套的硬件设备和软件系统(12)计算机硬件能直接识别和执行的只有( )。A高级语言 B符号语言 C汇编语言 D机器语言(13)完整的计算机系统是由( )组成的。P3A主机与外设 BC
7、PU与存储器CALU与控制器 D硬件系统与软件系统(14)计算机内进行加、减法运算时常采用( )。P10AASCII码 B原码 C反码 D补码(15)下列字符中,ASCII码值最小的是( )。P13Aa BA Cx DY(16)下列字符中,其ASCII码值最大的是( )。P13AD B9 Ca Dy(17)目前制造计算机所采用的电子器件是( )。P1A中规模集成电路 B超大规模集成电路C超导材料 D晶体管(18)计算机中的CPU指的是( )。P3A控制器 B运算器和控制器C运算器、控制器和主存 D运算器(19)计算机发展阶段的划分通常是按计算机所采用的( )。P1A内存容量 B电子器件C程序设
8、计语言 D操作系统 (20)计算机系统总线中,可用于传送读、写信号的是( )。P4A地址总线 B数据总线 C控制总线 D以上都不对(21)通常所说的“裸机”指的是( )。P4-P5A只装备有操作系统的计算机 B不带输入输出设备的计算机 C未装备任何软件的计算机 D计算机主机暴露在外(22)计算机的字长是指( )。P14A32位长的数据 BCPU数据总线的宽度 C计算机内部一次并行处理的二进制数码的位数DCPU地址总线的宽度(23)计算机运算速度的单位是MIPS,其含义是( )。P15A每秒钟处理百万个字符 B每分钟处理百万个字符 C每秒钟执行百万条指令 D每分钟执行百万条指令(24)键盘输入1
9、999时,实际运行的ASCII码是( )。P13A41H49H47H46H B51H59H57H56H C61H69H67H66H D31H39H39H39H2填空题(1)计算机中的软件分为两大类:_软件和_软件。P5(2)部件间进行信息传送的通路称为_。P4(3)为判断溢出,可采用双符号位补码进行判断,此时正数的符号用 表示,负数的符号用 表示。P11(4)8位二进制补码所能表示的十进制整数范围是_。P11(5)用16位二进制数表示的无符号定点整数,所能表示的范围是_。P12(6)若X补=00110011B,Y补=11001100B,XY补= B。P11(7) 十进制数255的ASCII码,
10、表示为 ,用压缩BCD码表示为 ,其十六进制数表示为 。P13(8)总线是连接计算机各部件的一组公共信号线,它是计算机中传送信息的公共通道,总线由 、 和控制总线组成。P4(9)数据总线用来在 与内存储器(或I/O设备)之间交换信息。P16(10)在微机的三组总线中, 总线是双向的。P4(11)地址总线由 发出,用来确定CPU要访问的内存单元(或I/O端口)的地址。P4(12)以微处理器为基础,配上 和输入输出接口等,就成了微型计算机。3将下列十进制数分别转换成二进制数、十六进制数。P10(1)124.625 (2)635.05 (3)301.6875 (4)39104将二进制数1101.10
11、1B、十六进制数2AE.4H、八进制数42.57Q转换为十进制数P8。5用8位二进制数表示出下列十进制数的原码、反码和补码。P10(1)127 (2)127 (3)66 (4)66 6设机器字长16位,定点补码表示,尾数15位,数符1位,问:P12(1)定点整数的范围是多少?(2)定点小数的范围是多少?7请写出下列字母、符号、控制符或字符串的ASCII码。P13(1)B (2)h (3)SP(空格) (4)5 (5)$ (6)CR(回车) (7)LF(换行) (8)* (9)Hello 8什么是微处理器、微型计算机、微型计算机系统?P19简述数据总线和地址总线的特点。P410衡量微机系统的主要
12、性能指标有哪些?P14第2章 16位和32位微处理器2.1 例 题1简述8086总线分时复用的特点。P25解:为了减少引脚信号线的数目,8086微处理器有21条引脚是分时复用的双重总线,即AD15AD0,A19/S6A16/S3以及/S7。这21条信号线在每个总线周期开始(T1)时,用来输出所寻址访问的内存或I/O端口的地址信号A19A0以及“高8位数据允许”信号;而在其余时间(T2T4)用来传输8086同内存或I/O端口之间所传送的数据D15D0以及输出8086的有关状态信息S7S3。2何为时钟周期?它和指令周期、总线周期三者之间的关系是什么?P36解:(1)时钟脉冲的重复周期称为时钟周期。
13、时钟周期是CPU的时间基准,由CPU的主频决定。(2)指令周期是执行一条指令所需要的时间,包括取指令、译码和执行指令的时间。指令周期由一个或多个总线周期组成,不同指令的指令周期所包含的总线周期个数是不同的,它与指令的性质与寻址方式有关。(3)一个总线周期至少由4个时钟周期组成,分别表示为T1、T2、T3、T4。38086有哪两种工作方式?主要区别是什么?解:微处理器有两种工作方式:最小方式和最大方式。(1)系统中只有一个CPU,对存储器和I/O接口的控制信号由CPU直接产生的单处理机方式称为最小方式,此时MN/接高电平;P44(2) 对存储器和I/O接口的控制信号由8288总线控制器提供的多处
14、理机方式称为最大方式,此时MN/接低电平,在此方式下可以接入8087或8089。4有一个16个字的数据区,它的起始地址为70A0H:DDF6H,如下图所示。请写出这个数据区首、末字单元的物理地址。P56 70A0H:DDF6H 16个字图1.2.1 存储器单元分布图解:首地址=70A00HDDF6H=7E7F6H末地址=7E7F6H1622=7E7F6H20H2H=7E814H5根据8086存储器读写时序图,回答如下问题:P15图1.2.2 存储器读周期时序图图1.2.3存储器写周期时序图(1)地址信号在哪段时间内有效?P27(2)读操作和写操作的区别?P38(3)存储器读写时序与I/O读写时
15、序的区别?P38(4)什么情况下需要插入等待周期TW?P40解:(1)在T1周期,双重总线AD15AD0,A19/S6A16/S3上输出要访问的内存单元的地址信号A19A0。(2)读操作和写操作的主要区别是: 控制信号在读周期中为低电平,在写周期中为高电平。 在读周期中,控制信号在T2T3周期为低电平(有效电平);在写周期中,控制信号为低电平(有效电平)。 在读周期中,数据信息一般出现在T2周期以后。在T2周期,AD15AD0进入高阻态,此时,内部引脚逻辑发生转向,由输出变为输入,以便为读入数据作准备。而在写周期中,数据信息在双重总线上是紧跟在地址总线有效之后立即由CPU送上的,两者之间无高阻
16、态。(3)存储器操作同I/O操作的区别是:在存储器周期中,控制信号始终为高电平;而在I/O周期中,始终为低电平。(4)CPU在每个总线周期的T3状态开始采样READY信号,若为低电平,则表示被访问的存储器或I/O设备的数据还未准备好,此时应在T3状态之后插入一个或几个TW 周期,直到READY变为高电平,才进入T4状态,完成数据传送,从而结束当前总线周期。2.2 习 题1选择题(1)在8086/8088的总线周期中,ALE信号在T1期间有效。它是一个( )。P41A负脉冲,用于锁存地址信息 B负脉冲,用于锁存数据信息C正脉冲,用于锁存地址信息D正脉冲,用于锁存数据信息 (2)8086/8088
17、的最大模式和最小模式相比至少需增设( )。P42A数据驱动器 B中断控制器C总线控制器 D地址锁存器(3)在8086CPU中,不属于总线接口部件的是( )P196A20位的地址加法器 B指令队列 C段地址寄存器 D通用寄存器(4)在8088系统中,只需1片8286就可以构成数据总线收发器,而8086系统中构成数据总线收发器的8286芯片的数量为( )。P33A1 B2 C3 D4(5)CPU内部的中断允许标志位IF的作用是( )。P9A禁止CPU响应可屏蔽中断 B禁止中断源向CPU发中断请求 C禁止CPU响应DMA操作 D禁止CPU响应非屏蔽中断(6)在8086的存储器写总线周期中,微处理器给
18、出的控制信号(最小模式下),分别是( )。A1,0,1 B0,1,0C0,1,1 D1,0,0(7)当8086CPU从总线上撤消地址,而使总线的低16位置成高阻态时,其最高4位用来输出总线周期的( )。P10A数据信息 B控制信息C状态信息 D地址信息(8)8086CPU在进行I/O写操作时,和必须是( )。A0,0 B0,1 C1,0 D1,1(9)若在一个总线周期中,CPU对READY信号进行了5次采样,那么该总线周期共包含时钟周期的数目为( )。A5 B6 C7 D8(10)8086系统复位后,下面的叙述错误的是( )。A系统从FFFF0H处开始执行程序 B系统此时能响应INTR引入的中
19、断C系统此时能响应NMI引入的中断DDS中的值为0000H(11)CPU访问内存时,信号开始有效对应的状态是( )。AT1 BT2 CT3 DT4(12)下列说法中属于最小工作模式特点的是( )。P31ACPU提供全部的控制信号 B由编程进行模式设定C不需要8286收发器 D需要总线控制器8288(13)8088CPU的指令队列缓冲器由( )组成。P18A1字节移位寄存器 B4字节移位寄存器C6字节移位寄存器 D8字节移位寄存器(14)在8086/8088CPU中,与DMA操作有关的控制线是( )。P28ANMI BHOLDCINTR D(15)8086CPU中,不属于EU部分的寄存器是( )
20、P19 AIP BBP CDI DSP2填空题(1)8086/8088微处理器被设计为两个独立的功能部件: 和 。P10(2)当8086进行堆栈操作时,CPU会选择 段寄存器来形成20位堆栈地址P22。(3)8086CPU时钟频率为5MHz时,它的典型总线周期为 ns。P36(4)8086CPU的最大方式和最小方式是由引脚 信号的状态决定。P25(5)当Intel 8086工作在最大方式时,需要 芯片提供控制信号。P34(6)若8086系统用8位的74LS373来作为地址锁存器,那么需要 片这样的芯片。P33(7)根据功能不同,8086的标志位寄存器可分为 标志和 标志。P21(8)8086/
21、8088CPU中与中断操作有关的控制标志位是_,与串操作有关的控制标志位是_,与单步操作有关的控制标志位是_。P21(9)8086CPU在执行指令过程中,当指令队列已满,且EU对BIU又没有总线访问请求时,BIU进入 状态。P19(10)复位后,8086将从 地址开始执行指令。P37(11)8086/8088CPU的A19/S6A16/S3在总线周期的T1 期间,用来输出_位地址信息中的_位,而在其它时钟周期内,用来输出_信息。P27(12)8086CPU工作在最小模式下,控制数据流方向的信号是_、_、_、_、_。P27(13)当8086/8088CPU在进行写数据操作时,控制线、应分别输出_
22、电平、_电平。P27(14)为了减轻总线负载,总线上的部件大都具有三态逻辑,三态逻辑电路输出信号的三个状态是_、_、_。P283完成下列各式补码运算,并根据结果设置标志位SF、ZF、CF、OF。P21(1) 96(19) (2) 90107 (3) (33)14 (4) (33)(14)4写出下列存储器地址的段地址、偏移地址和物理地址。P20(1)2314H:0035H (2)1FD0H:000AH5在8086系统中,下一条指令所在单元的物理地址是如何计算的?P226若某存储器容量为2KB,在计算机存储系统中,其起始地址为2000H:3000H,请计算出该存储器物理地址的范围。P2278086
23、的复位信号是什么?有效电平是什么?CPU复位后,寄存器和指令队列处于什么状态?P2788086CPU标志寄存器中的控制位有几个?简述它们的含义。P219设8088的时钟频率为5MHz,总线周期中包含2个TW等待周期。问:P36(1)该总线周期是多少?(2)该总线周期内对READY信号检测了多少次?108086CPU与8088CPU的主要区别有哪些?P16118086/8088CPU由哪两部分构成?它们的主要功能是什么?P17128086CPU系统中为什么要用地址锁存器?P32138086/8088CPU处理非屏蔽中断NMI和可屏蔽中断INTR有何不同?P2814简述8086/8088CPU中指
24、令队列的功能和工作原理。P3715简述8086/8088CPU中、DT/控制线的作用。P2916说明空闲状态的含义。17简述时钟发生器8284的功能。18简要说明8086、80286、80386CPU的主要区别。第3章 16位/32位微处理器指令系统3.1 例 题1指出下列指令中源操作数的寻址方式。(1)MOV AX,002FH(2)MOV BX,SI(3)MOV CX,BX+SI+2(4)MOV DX,DS:1000H(5)MOV SI,BX解:(1)立即寻址 (2)寄存器间接寻址 (3)基址变址寻址 (4)直接寻址 (5)寄存器寻址2若寄存器AX、BX、CX、DX的内容分别为18,19,2
25、0,21时,依次执行PUSH AX,PUSH BX,POP CX,POP DX后,寄存器CX的内容为多少?解:执行PUSH AX指令后,将18压入堆栈,(SP)2 SP; 执行PUSH BX指令后,将19压入堆栈,(SP)2 SP; 执行POP CX指令后,将19从堆栈中弹出,放入CX ,(SP)2 SP; 执行POP DX指令后,将18从堆栈中弹出,放入DX ,(SP)2 SP; 故上述四条指令执行后,(CX)=19。3指出下列指令的错误所在:(1) MOV AL,SI(2) MOV BL,SIDI(3) XCHG CL,100(4) PUSH AL (5) IN AL,256(6) MOV
26、 BUF,SI(7) SHL AL,2(8) MOV DS,2000H(9) MUL 100(10)MOV AL,BYTE PTR SI解:(1)AL、SI的数据类型不匹配(2)不允许同时使用变址寄存器SI、DI,正确的基址变址寻址方式中应运用一基址、一变址寄存器;(3)只能在寄存器与存储器单元或寄存器之间交换数据;(4)只能向堆栈中压入字类型数据; (5)I/O端口地址若超过8位,应该由DX寄存器提供;(6)两操作数不能同时为存储器操作数;(7)移位次数大于,应该由CL寄存器提供;(8)立即数不能直接送给段寄存器;(9)乘法指令的操作数不能是立即数;(10)PTR算符不能运用于寄存器寻址方式
27、。4执行下列指令序列后,AX和CF中的值是多少?STC MOV CX,0403H MOV AX,0A433H SAR AX,CL P73 XCHG CH,CL P62 SHL AX,CL解:STC;CF=1。 MOV CX,0403H;(CX)0403HMOV AX,0A433H;(AX)=0A433HSAR AX,CL;算术右移3位,(AX)=0F486HXCHG CH,CL;互换CH、CL中内容,(CX)=0304HSHL AX,CL;逻辑左移4位,(AX)=4860H,CF=1所以,(AX)=4860H,CF=1。5设计指令序列,完成下列功能:(1)写出将AL的最高位置1,最低位取反,其
28、它位保持不变的指令段。(2)写出将AL中的高四位和低四位数据互换的指令段。(3)检测AL中的最高位是否为1,若为1,则转移到标号NEXT处,否则顺序执行,请用两条指令完成之。(4)写出将立即数06H送到口地址为3F00H的端口的指令序列。解:(1)OR AL,80H XOR AL,01H(2)MOV CL,4 ROR AL,CL P75(3)TEST AL,80H JNZ NEXT(4)MOV AL,06H MOV DX,3F00H OUT DX,AL P653.2 习 题1选择题(1)标志寄存器中属于控制标志位的是( )。P64ADF、OF、SFBDF、IF、TFCOF、CF、PFDAF、O
29、F、SF(2)已知某操作数的物理地址是2117AH,则它的段地址和偏移地址可能是(P64)。A2108H:00EAH B2100H:117AHC2025H:0F2AH D2000H:017AH(3)8086在基址变址的寻址方式中,基址、变址寄存器分别是( )。P60AAX或CX、BX或CX BBX或BP、SI或DICSI或BX、DX或DI DCX或DI、CX或SI(4)下列指令中,正确的一条是( )。AMOV CS,BX BMOV AX,TAB2-TAB1+100COUT CX,AL DINC SI(5)下列指令执行后有可能影响CS值的指令数目是( )。P61JMP、 MOV、 RET、 AD
30、D、 INTJC、 LODS、 CALL、 MUL、 POP A3 B4 C5 D6(6)设(SS)=338AH,(SP)=0450H,执行PUSH BX和PUSHF两条指令后,堆栈顶部的物理地址是( )。P59A33CECH B33CF2HC33CF4H D33CE8H(7)若(AX )=15,要得到(AX) =15应执行的指令是( )。P59ANEG AX BNOT AXCINC AX DDEC AX(8)若(SP)=0124H,(SS)=3300H,在执行RET 4这条指令后,栈顶的物理地址为(P63)。A33120H B3311EH C33128HD3312AH(9)已知程序序列为:P
31、65 ADD AL,BL JNO L1 JNC L2若AL和BL的内容有以下四组给定值,使该指令序列转向L2执行的给定值是(P65)。A(AL) =0B6H、(BL )= 87HB(AL )= 05H、 (BL) = 0F8H C(AL) = 68H、 (BL )= 74HD(AL) = 81H、 (BL) = 0A2H (10)以下三指令执行后,(DX)=( )。P65 MOV DX,0 MOV AX,0FFABH CWDA0FFABH B0 C0FFFFH D无法确定(11)设(AX)=0C544H,在执行指令ADD AH,AL后,相应的状态为( )。ACF=0、OF=0 BCF=0、OF
32、=1CCF=1、OF=0 DCF=1、OF=1(12)将累加器AX 内容清零的错误指令是( )。AAND AX,0 BXOR AX,AX CSUB AX,AX DCMP AX,AX(13)将变量BUF的偏移地址送入SI的正确指令是( )。AMOV SI,BUF BMOV SI,BUFCLEA SI,BUF DMOV OFFSET BUF,SI(14)INC指令不影响( )标志。A OF BCF CZF DSF(15)下列判断累加器AX内容是否为全0的4种方法中,正确的有( )种。 SUB AX,0 XOR AX,0 JZ L1 JZ L1 OR AX,AX TEST AX,0FFFFH JZ
33、L1 JZ L1A 1 B2 C3 D4(16)设AL中已有压缩型BCD码,为实现对AL的减1操作,可选用的指令序列是( )。A DEC ALBSBB AL,0 AASDASC SUB AL,1DSUB AL,1 AASDAS(17)已知AX,BX中均为带符号数,当进行字相除时,下面指令或指令序列正确的是( )。A DIV BXB CWD IDIV BXC XOR DX,DX D CBW DIV BX IDIVBX(18)条件转移指令JNBE产生转移的条件是( )ACF=0 AND ZF=0B CF=0 AND ZF=1CCF=1 AND ZF=0D CF=1 AND ZF=1 (19)设BX
34、=0002H,DI=10A5H,DS=1100H,BP=0100H,CS=2100H下列指令中包含的物理转移地址是( )LAB DW 0600H,0640H,06A0H,06C0HJMP LABBX A116A0H B11640H C21640H D216A0H(20)在下列指令中,隐含使用AL寄存器的指令有( )条。 AAA MOVSB MUL BH CBW SCASB XLATA 2 B3 C4 D5(21)已知(SS)=1000H,(SP) = 2000H,(BX) = 283FH,指令CALL WORD PTRBX的机器代码是0FF17H,该指令的起始地址为1000H,试问执行该指令后,内存单元11FFEH中的内容是( )。 A 28H B3FH C00H D02H(22)设AL中的值为84H,CF=1,执行 RCR AL,1指令后,AL中的值和CF分别为( )。A0C2H、1 B4