《微机原理与接口技术》 洪永强习题答案.doc_第1页
《微机原理与接口技术》 洪永强习题答案.doc_第2页
《微机原理与接口技术》 洪永强习题答案.doc_第3页
《微机原理与接口技术》 洪永强习题答案.doc_第4页
《微机原理与接口技术》 洪永强习题答案.doc_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微机原理与接口技术习题及参考答案与洪永强编著的教材配套使用2008年9月2日目录第 1 章微型计算机概述1第 2 章微处理器2第 3 章寻址方式和指令系统5第 4 章汇编语言程序设计10第 5 章输入输出接口13第 6 章存储器14第 7 章中断系统16第 8 章计数器/定时器与DMA控制器22第 9 章并行接口与串行接口24第 10 章总线28第 11 章模拟量输入/输出通道接口29第 12 章人机交互设备及其接口310.1下列各数均为十进制数,请用8位二进制补码计算下列各题,并用十六进制数表示其运算结果。(1) (-85)+76(2) 85+(-76)(3) 85-76(4) 85-(-76)(5) (-85)-76(6) -85-(-76)答:(1) (-85)+76=1010 1011B+0100 1100B=1111 0111B=0F7H;CF=0;OF=0(2) 85+(-76)=0101 0101B+1011 0100B=0000 1001B=09H;CF=1;OF=0(3) 85-76=01010101B-01001100B=01010101B+10110100B=00001001B=09H;CF=0;OF=0(4) 85-(-76)=01010101B-10110100B=01010101B+01001100B=10100001B=0A1H;CF=0;OF=1(5) (-85)-76=10101011B-01001100B=1010 1011B+1011 0100B=0101 1111B=5FH;CF=0;OF=1(6) -85-(-76)=10101011B-10110100B=10101011B+01001100B=11110111B=0F7H;CF=0;OF=0第 1 章 微型计算机概述1.1 微型计算机的发展经历了哪几个时代?每个时代有哪些主要特点?1.2 简述Pentium4 微处理器的处理能力。1.3 冯诺依曼计算机的结构特点是什么?答:(1)、由运算器、控制器、存储器、输入设备和输出设备五大部分组成。(2)、数据和程序以二进制代码形式不加区别地存放在存储器中,存放位置由地址指定,地址码也为二进制。(3)、控制器是根据存放在存储器中的指令序列及程序来工作的,并由一个程序计数器(即指令地址计数器)控制指令的执行。控制器具有判断能力,能以计算结果为基础,选择不同的动作流程。1.4 典型微机有哪三大总线?它们传送的是什么信息?答:(1)、有数据总线,地址总线和控制总线。(2)、数据总线用来传输数据信息,是双向总线;地址总线用于传送CPU发出的地址信息,是单向总线;控制总线用来传送控制信号、时序信号和状态信息等。 其中有的是CPU向内存和外设发出的信息,有的则是内存或外设向CPU发出的信息。可见,CB中每一根线的方向是一定的、单向的,但CB作为一个整体是双向的。1.5 什么叫微处理器?什么叫微型计算机?什么叫微型计算机系统?这三者有什么区别和联系?1.6 微处理器内部一般由哪些部分组成?各部分的主要功能是什么?1.7 试用示意图说明内存单元的地址和内存单元的内容,二者有何联系和区别?答:示意图如有所示: 联系:存储单元中存放着信息,该信息可以是数据,也可以是另一单元的地址的一部分,每个存储单元都包含着地址和内容两个部分。都用二进制数表示,地址为无符号整数,书写格式为16进制。区别:地址是微机用来管理内存单元而设置的,相当于内存单元的编号;而内容是存放在各个内存单元中的二进制信息。1.8 高级语言、汇编语言、机器语言有何区别?各有何特点?1.9 评价微型计算机性能的主要指标有哪些?试举例说明现在市场主流机型微型计算机的性能参数。1.10 现代微型计算机的主板通常由哪些部分组成?主板上的总线扩展插槽有何用途?第 2 章 微处理器2.1 8086CPU从功能上分为哪两个工作部件?每个工作部件的功能、组成和特点分别是什么?2.2 8086CPU中有几个通用寄存器,有几个变址寄存器,有几个地址指针寄存器?它们中通常哪几个寄存器可作为地址寄存器使用?答:(1)、有4个通用寄存器AX、BX、CX、DX,有2个变址寄存器SI、DI,有2个地址指针寄存器SP、BP。(2)、BX、BP、SI、DI四个寄存器可作为地址寄存器使用。2.3 8086CPU的标志寄存器中有哪些标志位?它们的含义和作用是什么?答:(1)、有6个状态标志位CF、OF、ZF、SF、AF、PF;3个控制标志位DF、IF和TF。(2)、状态信息由中央处理机根据计算机的结果自动设置,6位状态位的意义说明如下:OF(OverFlag)溢出标志:带符号数计算溢出时为1;SF(SignFlag)符号标志:运算结果为负时为1,取最高有效位;ZF(ZeroFlag)零标志:运算结果是0为1;CF(CarryFlag)进位标志:运算结果有进位为1;AF(AuxiliaryFlag)辅助进位标志:第3位有进位置1(半字节);PF(ParityFlag)奇偶进位标志:运算结果中1的个数位为偶数置1。(3)、控制信息由系统程序或用户程序根据需要用指令设置:DF(Direction Flag)方向标志:DF为1,SI、DI减量,由高地址 向低地址处理;DF为0,SI、DI增量,由低地址向高地址处理;IF(Interupt Flag )中断标志: IF为1时允许中断;TF(Trap Flag)陷阱标志( 又叫跟踪标志):每执行一条指令就引起一个内部中断。用于单步方式操作,TF为1,指令执行完后产生陷阱,由系统控制计算机;TF为0,CPU不产生陷阱,正常工作。2.4 简述最小模式和最大模式的含义及其区别。2.5 8086CPU的地址线有多少位?其寻址范围是多少?答:(1)、8086CPU的地址线有20位;(2)、其寻址范围是1MB。2.6 8086CPU工作在最小模式时,(1) 当CPU访问存储器时,要利用哪些信号?(2) 当CPU访问外部设备时,要利用哪些信号?(3) 当HOLD有效并得到响应时,CPU的哪些信号是高阻?2.7 8086CPU工作在最大模式时,、在CPU访问存储器与CPU访问外部设备时,分别是什么状态?FFFFFFFFFD531FFFFEFFFFC420A19A1 D15D8 D7D0 A0高(奇)位和低(偶)位存储器条2.8 在8086最大模式系统中,8288总线控制器的作用是什么?它产生哪些控制信号?2.9 8086采用什么方式管理内存?1MB的内存空间分为哪两个存储体?它们如何与地址总线、数据总线相连?答:(1)、8086采用分段方式管理内存;(2)、1MB的内存空间分为偶地址和奇地址两个存储体;(3)、如右图所示:2.10 什么是段基址、偏移地址和物理地址?它们之间有什么关系?答:(1)、段基址:存储器分段时,每个段的起始地址的低4位为0,高16位为段基址,放入段寄存器中;偏移地址:段内某内存单元的物理地址相对于段起始地址的偏移量称为段内偏移地址,也叫有效地址;物理地址:8086/8088有20条地址线,最大内存容量为1MB(220),其中任何一个内存单元都有一个唯一的20位的地址,称为内存单元的物理地址。(2)、物理地址(PA)=段基址10H+偏移地址(EA)2.11 对于8086,已知(DS)=1050H,(CS)=2080H,(SS)=0400H,(SP)=2000H,问:(1) 在数据段中可存放的数据最多为多少字节?首地址和末地址各为多少?(2) 堆栈段中可存放多少个16位的字?首地址和末地址各为多少?(3) 代码段最大的程序可存放多少字节?首地址和末地址各为多少?(4) 如果先后将FLAGS、AX、BX、CX、SI和DI压入堆栈,则(SP)=?如果此时(SP)=2300H,则原来的(SP)=?答:(1)、64KB;首地址为1050:0000H,末地址为1050:FFFFH。(2)、1000H 个16位的字;首地址为0400:0000H,末地址为0400:1FFEH。(3)、64KB;首地址为2080:0000H,末地址为2080:FFFFH。(4)、(SP)=1FF4H;原来的(SP)=230CH2.12 (3)、如右图所示:对于8086,当(CS)=2020H时,物理地址为24200H,则当(CS)=6520H时,物理地址应转移到什么地方?2.13 什么是总线周期?什么是时钟周期?一个典型的总线周期最小包括几个时钟周期?什么情况下需要插入等待周期TW?答:(1)、总线周期:总线接口部件完成一个取指令或传送数据的完整操作所需的最少时钟周期数。(2)、时钟周期:CPU输入的CLK时钟信号。(3)、4。(4)、当被写入数据或者被读取数据的外设或存储器不能及时地配合CPU传送数据。这时,外设或存储器会通过“READY”信号线在T3状态启动之前向CPU发一个“数据未准备好的信号”,于是CPU会在T3之后插入一个或多个附加的时钟周期TW。2.14 总线周期中每个T状态的具体任务是什么?2.15 试画出8086最小模式下将内存单元50326H的内容55H读入AL的时序图。2.16 80386CPU的主要特点是什么?2.17 80386CPU包含哪些寄存器?各有什么主要用途?2.18 什么是实地址方式?什么是保护虚拟地址方式?什么是虚拟8086方式?它们各有什么特点?2.19 80386CPU中,选择符中3个字段的名字分别叫什么?大小各是多少?各有什么作用?2.20 一个段描述符中有几个字节?试说明其中每个字段的含义与作用?2.21 80386的地址空间可映射到多少页?页有多大?2.22 页转换产生的线性地址的3部分各是什么?2.23 简述Pentium的主要结构特点。2.24 Pentium内部结构的主要特点有哪些?什么是超标量结构?什么是超级流水线?2.25 简述Pentium处理器中U和V两个指令流水线的特点及作用。2.26 Pentium 4处理器有哪些高级特性?第 3 章 寻址方式和指令系统3.1 什么叫寻址方式?8086CPU有哪几种寻址方式?3.2 指出下列指令中源操作数和目的操作数的寻址方式:(1)MOV AX, 0AH (2)ADDBX, DX(3)PUSH CS(4)POPDS(5)MUL BL (6)MOV DX,1200H(7)MOVSB (8)SUB AX,5BP+DI答:(1)、DEST为寄存器寻址,SRC为立即数寻址。(2)、DEST为寄存器间接寻址,SRC为寄存器寻址。(3)、DEST为隐含堆栈指针寄存器间接寻址,SRC为寄存器寻址。(4)、DEST为寄存器寻址,SRC为隐含堆栈指针寄存器间接寻址。(5)、DEST为隐含寻址,SRC为寄存器寻址。(6)、DEST为寄存器寻址,SRC为存储器直接寻址。(7)、DEST为附加段存储器DI隐含寻址,SRC为数据段存储器SI隐含寻址。(串传送)(8)、DEST为寄存器寻址,SRC为基址变址相对寻址。3.3 在直接寻址方式中,一般只指出操作数的偏移地址。试问:段地址如何确定?如果要用某个段寄存器指出段地址,指令应如何表示?答:(1)、段地址默认为是DS的内容。(2)、用短跨越前缀指出段地址。指令中用“段寄存器:”表示。3.4 当用寄存器间接寻址方式时,试问:BX、BP、SI、DI分别在什么情况下使用?它们的物理地址如何计算?3.5 分别指出下列指令中源操作数和目的操作数的寻址方式。若是存储器寻址,试写出其有效地址和物理地址。设(DS)=6000H,(ES)=2000H,(SS)=1500H,(SI)=00A0H,(DI)=6010H,(BX)=0800H,(BP)=1200H,数据变量VAR为0050H。(1) MOVAX, 3050H (2) MOVDL, 80H(3) MOVAX, VAR (4) MOVAX, VARBXSI(5) MOVAX, BX+25H (6) MOVDI, ES:BX(7) MOVDX, BP (8) MOVBX, 20HBX(9) ANDAX, BX (10) MOVBX, ES:SI(11) ADCAX, BX+DI (12) PUSHDS答:(1)、DEST为寄存器寻址,SRC为立即数寻址。(2)、DEST为寄存器寻址,SRC为立即数寻址。(3)、DEST为寄存器寻址,SRC为直接寻址。EA=0050H,PA=(DS)10H+EA=60050H(4)、DEST为寄存器寻址,SRC为基址变址相对寻址。EA=0050H+0800H+00A0H=08F0H,PA=(DS)10H+EA =608F0H(5)、DEST为寄存器寻址,SRC为寄存器相对寻址。EA=0800H+25H=0825H,PA=(DS)10H+EA =60825H(6)、DEST为寄存器寻址,SRC为寄存器间接寻址。EA=0800H,PA=(ES)10H+EA =20800H(7)、DEST为寄存器寻址,SRC为寄存器间接寻址。EA=1200H,PA=(SS)10H+EA =16200H(8)、DEST为寄存器寻址,SRC为寄存器相对寻址。EA=20H+0800H=0820H,PA=(DS)10H+EA =60820H(9)、DEST为寄存器寻址,SRC为寄存器寻址。(10)、DEST为寄存器寻址,SRC为寄存器间接寻址。EA=00A0H,PA=(ES)10H+EA =200A0H(11)、DEST为寄存器寻址,SRC为基址变址寻址。EA=0800H+6010H=6810H,PA=(DS)10H+EA =66810H(12)、DEST为隐含堆栈指针寄存器间接寻址,SRC为寄存器寻址。EA=(SP)-2,PA=(SS)10H+EA 3.6 设堆栈指针SP的初值为2300H,(AX)5000H,(BX)=4200H。执行指令PUSH AX后,(SP)=?,再执行指令PUSH BX及POP AX之后,(SP)=? (AX)=? (BX)=?答:(1)、(SP)=22FEH。(2)、(SP)=22FEH,(AX)=4200H,(BX)=4200H。3.7 试说明指令MOV BX,15BX与指令LEA BX,15BX的区别。答:指令MOV BX,15BX是读取数据段偏移地址为(BX)+0FH)的内容送到BX中。指令LEA BX,15BX是取该偏移地址值(BX)+0FH送到BX中。3.8 已知(DS)=2000H,有关的内存单元值为(21000H)=00H,(21001H)=12H,(21200H)=00H,(21201H)=10H,(23200H)=20H,(23201H)=30H,(23400H)=40H,(23401H)=30H,(23600H)=60H,(23601H)=30H,位移量COUNT=1200H。执行下列指令后,寄存器AX、BX、SI的值分别是多少?MOV BX,OFFSET COUNTMOV SI,BX MOV AX,COUNTSIBX答:(AX)= 3040H,(BX)= 1200H,(SI)= 1000H。3.9 设标志寄存器值原为0401H,AX3272H,BX=42A2H。执行下列减法指令SBB AL,BH之后,AX和标志寄存器的值分别是多少?答: (AX)= 322FH,(FR)= 0410H。3.10 设若标志寄存器原值为0A11H,SP=0060H,AL=4。下列几条指令执行后,标志寄存器、AX、SP的值分别是多少?PUSHFLAHFXCHG AH,ALPUSH AXSAHFPOPF答:(FR)= 0411H,(AX)= 0411H, (SP)= 005EH。3.11 指出下列指令的错误(1) ADD SI,CL (2) MOV50,AL(3) MOV CS, AX (4) MOVDS,1234H(5) SHL AX,05H (6) XCHG200,AL(7) IN AX,378H (8) JNZBX(9) MOV AH,CX (10) MOV33H,AL(11) MOVAX,SIDI (12) MOV BX,SI(13) ADDBYTE PTR BP,256 (14) MOV DATASI,ES:AX(15) JMPBYTE PTR BX (16) OUT 230H,AX(17) MOVDS,BP (18) MUL 39H答:(1)、SI,CL字长不同。(2)、DEST不能为立即数50。(3)、DEST为CS段寄存器寻址。(4)、立即数不能直接送段寄存器。(5)、多次移位必须要用CL指出来。(6)、DEST不能为立即数200(交换指令不能有立即数寻址)。(7)、端口地址超过0FFH必须要用DX寄存器间接寻址。(8)、条件转移指令只能用短内直接短转移寻址,不能用寄存器寻址。(9)、AH,CX字长不同。(10)、DEST不能为立即数33H。(11)、SRC可为基址变址寻址。但不能为变址变址寻址。(12)、双操作数指令不能同时为存储器寻址方式。(13)、字长不同:256不是字节长度了。(14)、段跨越前缀应放在存储器操作数或整个指令的前面。(15)、JMP指令的寻址方式不能为字节属性。(16)、端口地址超过0FFH必须要用DX寄存器间接寻址。(17)、指令正确。(18)、8086的乘法指令不能为立即数。3.12 若内存单元DATA在数据段中偏移量为24C0H处,24C024C3H单元中依次存放着55H、66H、77H、88H。下列几条指令执行后,寄存器AX、BX、CL、SI、DS的值分别是多少?MOV AX, DATALEA SI, DATAMOV CL, SILDS BX, DATA3.13 条件转移指令均为相对转移指令,请解释“相对转移”含义,试问若须往较远的地方进行条件转移,该怎么办?3.14 假设(DS)=212AH,(CS)=0200H,(IP)=1200H,(BX)=0500H,(DI)=2600H,位移量DATA=40H (217A0H)=2300H,(217E0H)=0400H,(217E2H)=9000H。试确定下列转移指令的转移地址。(1) JMP 2300H (2)JMP WORD PTRBX(3) JMP DWORD PTR BX+DATA(4)JMP BX(5) JMP DWORD PTR BXDI答:(1)、0200H: 2300H。CS不变(2)、0200H: 2300H。CS不变(3)、9000H: 0400H(4)、0200H: 0500H CS不变(5)、(23DA2H): (23DA0H)3.15 若32位二进制数存放于DX和AX中,试利用移位与循环指令实现以下操作:(1) DX和AX中存放的无符号数,将其分别乘2除2。(2) 若DX和AX中为有符号数,将其分别乘2和除2。答:(1)、SHL AX, 1;AX乘2RCL DX, 1;DX乘2SHR DX, 1;DX除2RCR AX, 1;AX除2(2)、SAL AX, 1;AX乘2RCL DX, 1;DX乘2SAR DX, 1;DX除2RCR AX, 1;AX除23.16 下段程序完成什么工作?DATX1 DB 300DUP(?)DATX2 DB 100DUP(?)MOV CX,100MOV BX,200MOV SI,0MOV DI,0NEST: MOV AL,DATX1 BX SIMOV DATX2 DI,ALINC SIINC DILOOP NEXT3.17 执行下列指令后,AX寄存器的内容是什么?TABLE DW 10,20,30,40,50 ;000AH, 0014H, 001EH, 0028H, 0032H0AH00H14H00H1EH00H28H00H32H00HTABLETABLE+33.17题的TABLE存储方式ENTRY DW 3 MOV BX,OFFSET TABLEADD BX,ENTRYMOV AX,BX答:(AX)=1E00H。存储方式如右图所示:3.18 分析下面的程序段完成什么功能?MOV CL,04SHL DX,CLMOV BL,AHSHL AX,CLSHR BL,CLOR DL,BL答:程序段将 (DX),(AX) 的双字同时左移4位,即将此双字乘以10H (16)。3.19 试写出程序段把DX、AX中的双字右移四位。3.20 当执行中断指令时,堆栈的内容有什么变化?如何求得子程序的入口地址?3.21 试述中断指令IRET与RET指令的区别。3.22 根据给定的条件写出指令或指令序列:(1)将一个字节的立即数送到地址为NUM的存储单元中(2)将一个8位立即数与地址为BUF的存储单元内容相加(3)将地址为ARRAY的存储单元中的字数据循环右移一位(4)将16位立即数与地址为MEM的存储单元中的数比较(5)测试地址为BUFFER的字数据的符号位(6)将AX寄存器及CF标志位同时清零(7)用直接寻址方式将首地址为ARRAY的字数组中第5个数送往寄存器BX中(8)用寄存器寻址方式将首地址为ARRAY的字数组中第5个数送往寄存器BX中(9)用相对寻址方式将首地址为ARRAY的字数组中第8个数送往寄存器BX中(10)用基址变址寻址方式将首地址为ARRAY的字数组中第N个数送往寄存器BX中(11)将首地址为BCD_BUF存储单元中的两个压缩BCD码相加,并送到第三个存储单元中第 4 章 汇编语言程序设计4.1 什么是汇编语言?什么是汇编语言程序?什么是汇编?什么是汇编程序?4.2 一个完整的汇编语言程序结构上有什么特点?4.3 汇编语言有哪三种基本语句?它们各自的作用是什么?4.4 逻辑运算符与逻辑运算指令中的助记符有完全相同的符号,如何区别它们?作用有何不同?4.5 下面两条语句汇编后,两个字节存储单元NUM1和NUM2中的内容分别是什么?NUM1 DB(12 OR 4 AND 2) GE 0EHNUM2 DB (12 XOR 4 AND 2) LE 0EH 答:(1)、NUM1中的内容是00H;因为12不大于等于0EH(2)、NUM2中的内容是0FFH;因为12小于等于0EH4.6 下列指令执行后,字存储单元DA1中的内容是多少?DA1 EQU BYTE PTR DA2DA2 DW 0ABCDH SHL DA1,1SHR DA2,1答:DA1中的内容是55CDH4.7 对下面的数据定义,各条MOV指令单独执行后,有关寄存器的内容是什么?NUMB1 DB ?NUMB2 DW 20 DUP(?)NUMB3 DB USB1) MOVAX, TYPE NUMB12) MOVAX, TYPE NUMB23) MOV CX, LENGTH NUMB24) MOV DX, SIZE NUMB25) MOV CX, LENGTH NUMB3答:1)、(AX)=12)、(AX)=23)、(CX)=0014H4)、(DX)=0028H5)、(CX)=14.8 假设程序中的数据定义如下:PNUM DW ?PNAME DB 16 DUP(?)COUNT DD ?PLETH EQU $-PNUM问PLETH 的数值是多少?它代表什么意思?答:(1)、PLETH 的数值是16H(2)、表示自PNUM开始到PLETH为止的变量占用的存储单元数。4.9 程序中如何实现对各段寄存器和IP、栈顶的初始化?4.10 什么是宏?宏指令的功能是什么?宏与过程在汇编过程中,它们的目标代码有什么区别?4.11 简述程序设计的步骤。4.12 编写程序,不用乘法计算Z=10X+Y/8,用移位运算。答:MOVAX, XSHLAX, 1;AX乘2MOVBX, AXSHLAX, 1;AX乘2SHLAX, 1;AX乘2ADD AX, BX;8X+2XMOVBX, YMOVCL, 3SHRBX;无符号数Y/8ADDAX, BX;10X+Y/8MOVZ, AX4.13 编写程序,建立一数据表,表中连续存放1-9的平方,查表求某数字的平方。答:TABLEDB1*1,2*2,3*3,4*4,5*5,6*6,7*7,8*8,9*9MOVBX, OFFSET TABLEMOVAL, nDECALXLAT;n的平方即在AL中4.14 简述利用跳转表实现多路分支程序设计的思想。地址跳转表和指令跳转表只要区别是什么?4.15 简述分支结构程序设计的注意事项。4.16 编写程序,将自定义的三个符号数X、Y、Z的最大者送入MAX字单元。答:MOVAX, XCMPAX, YJGENEXTMOVAX,YNEXT:CMPAX, ZJGENEXT1MOV AX, ZNEXT1:MOV MAX, AX4.17 在A、B、C中存在有三个数,编写程序完成如下处理:1)若有一个数为零,则将其它两个量清为零。2)若三个数都不为零,求它们的和,并送D中。3)若三个数都为零,则将它们都置一。答:CMPA, 0JNZNEXTCMPB, 0JNZNEXT1CMPC, 0JNZNEXT1MOVA, 1MOV B, 1MOVC, 1JMP OKNEXT:CMPB, 0JZNEXT1CMPC, 0JZNEXT1MOV AX, AADDAX, BADDAX, CMOVD, AXJMP OKNEXT1:MOVA, 0MOV B, 0MOVC, 0OK:4.18 循环结构程序由哪几部分组成?各部分的功能是什么?4.19 简述循环结构程序设计的注意事项。4.20 编写程序,将以STR1为首地址的字节串传送到以STR2 为首地址的字节存储区中。4.21 从偏移量DAT1开始存放200个带符号的字节数据,编写程序,找出其中最小的数放入DATA2中。4.22 子程序设计时,有哪些注意事项?4.23 调用程序和主程序之间是如何进行参数传递的?4.24 用主程序调用子程序的结构形式,编程实现n!=1!+2!+3!+4!+5! (提示:n!= ,n! 用n(n-1)!代替,则计算n! 子程序必须用递归调用n!子程序,但每次调用所使用的参数都不同。第 5 章 输入输出接口5.1 为什么要在CPU 与外设之间增设接口?5.2 微型计算机的接口一般应具备哪些功能?5.3 接口电路的硬件一般由哪几部分组成?5.4 什么是端口?I/O端口的编址方式有哪些?各有什么特点?8086 系统中采用哪种编址方式?答:(1)、端口(port)是接口电路中能被CPU直接访问的寄存器的地址。(2)、端口地址和存储器地址统一编址,也称存储器映射方式;I/O端口地址和存储器地址分开独立编址,也称I/O映射方式。(3)、各自的特点:存储器映射方式的优点:1)、访问I/O端口可实现输入/输出操作,还可以对端口内容进行算术逻辑运算、移位等等;2)、能给端口有较大的编址空间,这对大型控制系统和数据通信系统是很有意义的。存储器映射方式的缺点:1)、端口占用了存储器的地址空间,使存储器容量减小;2)、指令长度比专门I/O指令要长,因而执行速度较慢。I/O映射方式的优点:1)、I/O端口地址不占用存储器空间;2)、使用专门的I/O指令对端口进行操作,I/O指令短、执行速度快;3)、并且由于专门I/O指令与存储器访问指令有明显的区别,使程序中I/O操作和存储器操作层次清晰,程序的可读性强。I/O映射方式的缺点:这种编址方式中,微处理器对存储器及I/O端口是采用不同的控制线进行选择的,因而接口电路比较复杂。(4)、8086 系统中采用I/O映射方式。5.5 常见的I/O端口地址译码电路一般有哪几种结构形式?5.6 I/O地址线用作端口寻址时,高位地址线和低位地址线各作何用途?如何决定低位地址线的根数?答:(1)、高位地址线参加译码,分别产生各接口芯片的片选信号,而低位地址线作为芯片内部寄存器的访问地址。(2)、根据接口中寄存器的数量来决定低位地址线的根数。5.7 译码器译码电路一般有哪几部分组成?5.8 若要求I/O端口读写地址为264H,则在图5-4中的输入地址线要做哪些改动?5.9 图5-5是PC机系统板的I/O端口地址译码器电路,它有何特点?试根据图中的地址线的分配,写出DMAC、INTR、T/C以及PPI的地址范围?5.10 CPU与外设之间的数据传送方式有哪些?它们各应用在什么场合?试比较这几个基本输入输出方式的特点。答:(1)、程序控制方式、中断传送方式、直接存储器存取方式。(2)、内容太多,略!(3)、内容太多,略!5.11 CPU 与外设进行数据传送时,采用哪一种传送方式CPU的效率最高?答:直接存储器存取方式的效率最高。但是根据不同的应用场合需要不同的传送方式,有的时候必须使用程序控制方式或者中断传送方式。第 6 章 存储器6.1 什么是SRAM、DRAM、ROM、PROM、EPROM、E2PROM? 分别说明它的特点和简单工作原理。6.2 如果要访问一个存储容量为64K8的存储器,需要多少条数据线和地址线?6.3 某SRAM的单元中存放有一个数据如88H,CPU将它读取后,该单元的内容是什么?6.4 DRAM为什么要进行定时刷新?试简述刷新原理及过程。为了实现刷新,DRAM芯片对外部电路有什么要求?6.5 什么是FPM DRAM?什么是SDRAM?什么是DDR SDRAM?6.6 PROM和EPROM在写入信息之前,各单元的数据是什么?6.7 已知RAM的容量为(1)16 K8 (2)32 K8 (3)64 K8 (4)2 K8如果RAM的起始地址为5000H,则各RAM对应的末地址为多少? 6.8 如果一个应用系统中ROM为8KB,最后一个单元地址为57FFH,RAM紧接着ROM后面编址,RAM为16KB,求该系统中存储器的第一个地址和最后一个单元地址。6.9 如果存储器起始地址为1200H,末地址为19FFH,求该存储器的容量。6.10 存储器与CPU的接口主要由哪些部分组成?6.11 分别说明全译码法、部分译码法和线选法的主要优缺点。6.12 若某微机有16条地址线,现用SRAM 2114(1 K4位)存储芯片组成存储系统,问采用线选译码时,系统的存储容量最大为多少?需要多少个2114存储器芯片?答:(1)、系统的存储容量最大6KB。(2)、需要12个2114存储器芯片。6.13 用10241位的RAM芯片组成16 K8位的存储器,需要多少个芯片?分为多少组?共需多少根地址线?地址线如何分配?试画出与CPU的连接框图。6.14 某8088系统用2764(8 K8位)EPROM芯片和6264(8 K8位)SRAM芯片构成16KB的内存。其中,ROM的地址范围为0FE000H0FFFFFH,RAM的地址范围为0F00000F1FFFH。试利用74LS138译码,画出存储器与CPU的连接图,并标出总线信号名称。6.15 什么是Cache?它能够极大地提高计算机的处理能力是基于什么原理?6.16 Cache与主存之间有几种地址映像方式?分别说出其功能特点。6.17 简述Cache的几种替换算法,你认为应该选用哪种算法最好?6.18 什么叫虚拟存储器?为什么要设虚拟存储器6.19 简述虚拟存储器的三种方式。试说明各自的优缺点。第 7 章 中断系统7.1 什么是中断?什么是中断系统?中断系统的功能有哪些?7.2 中断处理过程包括哪几个基本阶段?中断服务程序中为什么要保护现场和恢复现场?如何实现?答:(1)、中断请求、中断判优、中断响应、中断处理、中断返回。(2)、为返回到被中断程序时,使CPU内部的寄存器内容还原为中断前的值,以便能正确执行被中断程序。(3)、一系列的PUSH指令来保护现场,一系列的POP指令来恢复现场。7.3 说明链式优先权排队电路的工作过程。7.4 INTR中断和NMI 中断有什么区别?答:非屏蔽中断NMI:边沿触发方式,不受IF屏蔽的中断,中断类型码固定为02H,所以不需要中断相应周期INTA。可屏蔽中断INTR:8086的INTR中断请求信号来自中断控制器8259A,是电平触发方式,高电平有效。INTR是受IF屏蔽的中断。7.5 中断向量表的作用是什么?如何设置中断向量表?中断类型号为15H 的中断向量存放在哪些存储器单元中?答:(1)、中断向量表的作用是中断号与该中断号相应的中断服务程序入口地址之间的连接表。即通过中断号找到中断向量。(2)、PC系列微机把其存储器的000003FFH共1024个地址单元作为中断向量表,每个中断向量占用4字节的存储单元,连续存放在中断向量表中,共256个中断类型。(3)、15H4=0054H0057H四个存储单元中。7.6 设某系统中8259A的两个端口地址分别为24H和25H,试分别写出下列情况应向8259A写入的命令字:(1)读中断请求寄存器IRR 的值(2)读中断服务寄存器ISR的值(3)读查询方式下的查询状态字(4)发一般的中断结束命令EOI7.7 单片8259A能管理多少级可屏蔽中断? 若用3片级联能管理多少级可屏蔽中断?答:(1)、8。(2)、22。7.8 8259A有哪几种优先级控制方式? 8259A的中断请求有哪两种触发方式?对请求信号有什么要求?7.9 若8086系统中使用1片8259A,中断请求信号采用边沿触发方式。中断类型号为08H0FH,采用完全嵌套、中断非自动结束方式。8259A在系统中的连接采用非缓冲方式,它的端口地址为0FFFEH、0FFFCH。请画出系统连接图及编写初始化8259A的程序段。答:系统连接图如下图所示。D7D0CAS2CAS0WRRDINTA IR7 INTSP/EN IR08259ACS A0D7D0S2S1S0INTR8086CPUA15A8A7A6A5A4A3A2A1+5V IOWCIORC INTA828874LS30八输入G2A Y0 74LS138G2BG1C Y6B A Y774LS00初始化8259A的程序段如下:CLIMOVAL, 13H;初始化ICW1MOVDX, OFFFCH;1片8259A、边沿触发OUTDX, ALMOVAL, 08H;初始化ICW2MOVDX, OFFFEH;中断类型号为08H0FHOUTDX, ALMOVAL, 01H;初始化ICW4OUTDX, AL;全嵌套、中断非自动结束、非缓冲MOVAL, 00H;初始化OCW1OUTDX, AL;8259A全部开中断STI 7.10 某系统内有8个INTR 外中断源,用一片8259A管理8级中断源。设8259A占用地址24H、25H,各中断源的类型码为40H47H,各级中断对应的服务程序入口地址CS:IP分别为1000H:0000H、2000H:0000H、8000H:0000H。试写出初始化程序,并编程向中断向量表中置入各中断向量。答:程序段如下: CLIMOVAL, 13H;初始化ICW1OUT24H, AL;1片8259A、边沿触发MOVAL, 40H;初始化ICW2OUT25H AL;中断类型号为40H47HMOVAL, 01H;初始化ICW4OUT25H, AL;全嵌套、中断非自动结束、非缓冲MOVAL, 00H;初始化OCW1OUT25H, AL;8259A全部开中断PUSHES;向中断向量表中置入各中断向量MOVAX, 0000H ;中断向量表在内存的0段MOVES, AXMOVBX, 40H*4MOVWORD PTR ES:BX, 0000HMOVWORD PTR ES:BX+2, 1000HMOVBX, 41H*4MOVWORD PTR ES:BX, 0000HMOVWORD PTR ES:BX+2, 2000HMOVBX, 42H*4MOVWORD PTR ES:BX, 0000HMOVWORD PTR ES:BX+2, 3000HMOVBX, 43H*4MOVWORD PTR ES:BX, 0000HMOVWORD PTR ES:BX+2, 4000HMOVBX, 44H*4MOVWORD PTR ES:BX, 0000HMOVWORD PTR ES:BX+2, 5000HMOVBX, 45H*4MOVWORD PTR ES:BX, 0000HMOVWORD PTR ES:BX+2, 6000HMOVBX, 46H*4MOVWORD PTR ES:BX, 0000HMOVWORD PTR ES:BX+2, 7000HMOVBX, 47H*4MOVWORD PTR ES:BX, 0000HMOVWORD PTR ES:BX+2, 8000HPOPESSTI 7.11 编写程序段,实现如下功能:(1)使用INT 21H的5H号功能,打印一个字符A(2)使用INT 17H的0H号功能,把字符P输出给0号打印机(3)从通信接口COM1接收一个字符,并放入内存(4)通过通信接口COM1向外发送1个字符答:(1)、MOVDL, AMOVAH, 05HINT21H(2)、MOVDX, 0;0号打印机MOVAL, PMOVAH, 0INT17H(3)、MOVAH, 03H;从通信接口COM1接收一个字符INT21HMOVBUF, AL(4)、MOVDL, C ;通过通信接口COM1发送字符CMOVAH, 04HINT21H7.12 利用DOS 系统功能调用,完成将键盘输入的小写字母转换为大写字母并输出显示,直到输入$字符时停止输出答:完整程序如下: CODESEGMENTASSUMECS:CODESTART:MOVAH, 02HMOVDL, 0DH;显示“回车”INT21HMOVAH, 02HMOVDL, 0AH;显示“换行”INT21HINPUT:MOVAH, 01H;键盘输入一个字符回显功能INT21HCMPAL, $ ;$字符?JEINPUT_ENDCMPAL, a ;az字符?JBINPUTCMPAL, z JAINPUTANDAL, 0DFH;小写字母转换为大写字母MOVAH, 02HMOVDL, AL;显示

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论