• 610.05 KB
  • 2022-04-22 11:27:51 发布

微机原理与接口技术》洪永强课后习题集__第2版.pdf

  • 38页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'《微机原理与接口技术》—习题及参考答案与洪永强编著的教材(第2版)配套使用喻其山2009年9月2日 目录第1章微型计算机概述..............................................................................4第2章微处理器..........................................................................................5第3章寻址方式和指令系统......................................................................8第4章汇编语言程序设计........................................................................13第5章输入输出接口................................................................................17第6章存储器............................................................................................19第7章中断系统........................................................................................21第8章计数器/定时器与DMA控制器....................................................27第9章并行接口与串行接口....................................................................29第10章总线................................................................................................34第11章模拟量输入/输出通道接口...........................................................35第12章人机交互设备及其接口................................................................37第13章典型微型计算机主板及芯片........................................................38 第1章微型计算机概述1.冯·诺依曼计算机的结构特点是什么?答:(1)、由运算器、控制器、存储器、输入设备和输出设备五大部分组成。(2)、数据和程序以二进制代码形式不加区别地存放在存储器中,存放位置由地址指定,地址码也为二进制。(3)、控制器是根据存放在存储器中的指令序列及程序来工作的,并由一个程序计数器(即指令地址计数器)控制指令的执行。控制器具有判断能力,能以计算结果为基础,选择不同的动作流程。2.微处理器内部一般由哪些部分组成?各部分的主要功能是什么?3.典型微机有哪三大总线?它们传送的是什么信息?答:(1)、有数据总线,地址总线和控制总线。(2)、数据总线用来传输数据信息,是双向总线;地址总线用于传送CPU发出的地址信息,是单向总线;控制总线用来传送控制信号、时序信号和状态信息等。其中有的是CPU向内存和外设发出的信息,有的则是内存或外设向CPU发出的信息。可见,CB中每一根线的方向是一定的、单向的,但CB作为一个整体是双向的。4.试用示意图说明内存单元的地址和内存单元的内容,二者有何联系和区别?答:示意图如右所示:联系:存储单元中存放着信息,该信息可以是数据,也可以是另一单元的地址的一部分,每个存储单元都包含着地址和内容两个部分。都用二进制数表示,地址为无符号整数,书写格式为16进制。区别:地址是微机用来管理内存单元而设置的,相当于内存单元的编号;而内容是存放在各个内存单元中的二进制信息。5.什么叫微处理器?什么叫微型计算机?什么叫微型计算机系统?这三者有什么区别和联系?6.高级语言、汇编语言、机器语言有何区别?各有何特点?7.评价微型计算机性能的主要指标有哪些?试举例说明现在市场主流机型微型计算机的性能参数。8.现代微型计算机的主板通常由哪些部分组成?主板上的总线扩展插槽有何用途? 9.把下列十进制数转换为二进制数、八进制数和十六进制数。(1)4.85(2)255(3)25610.把下列数转换为十进制数。(1)10001100B(2)28Q(3)1FH11.设两个二进制数A=11010010B和B=11001110B,求A和B的各种逻辑运算。12.分别用8位和16位二进制数表示下列数的补码。(1)127D(2)-127D(3)80D(4)-80D答:n=8n=16(1)127D:01111111B=7FH0000000001111111B=007FH(2)-127D:10000001B=81H1111111110000001B=0FF81H(3)80D:01010000B=50H0000000001010000B=0050H(4)-80D:10110000B=0B0H1111111110110000B=0FFB0H13.下列数是某十进制数的补码,求这个十进制数。(1)无符号十进制数的补码7AH;(2)有符号十进制数的补码7AH;(3)无符号十进制数的补码E8H;(4)有符号十进制数的补码E8H。答:(1)122D;(2)122D(3)232D(4)-24D14.用8位二进制补码计算下列各题。(1)56+23(2)56-23(3)-56+23(4)-56-(-23)答:(1)56+23=00111000B+00010111B=01001111B=4FH;CF=0;OF=0(2)56-23=00111000B-00010111B=00111000B+11101001B=00100001B=21H;CF=1;OF=0(3)-56+23=11001000B+00010111B=11011111B=0DFH;CF=0;OF=0(4)-56-(-23)=11001000B-11101001B=11001000B+00010111B=11011111B=0DFH;CF=0;OF=015.给出十进制数-30的原码、反码、补码(8位二进制数)的形式,并指出8位二进制原码、反码、补码所能表示的数值范围(用十进制数表示)。16.用组合和非组合BCD码分别表示十进制数388和12。17.分别写出下列字符串的ASCII码。(1)10ab(2)AF96(3)Howareyou?(4)B&D第2章微处理器1.8086CPU从功能上分为哪两个工作部件?每个工作部件的功能、组成和特点分别是什么? 2.8086CPU中有几个通用寄存器,有几个变址寄存器,有几个地址指针寄存器?它们中通常哪几个寄存器可作为地址寄存器使用?答:(1)、有4个通用寄存器AX、BX、CX、DX,有2个变址寄存器SI、DI,有2个地址指针寄存器SP、BP。(2)、BX、BP、SI、DI四个寄存器可作为地址寄存器使用。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(DirectionFlag)方向标志:DF为1,SI、DI减量,由高地址向低地址处理;DF为0,SI、DI增量,由低地址向高地址处理;IF(InteruptFlag)中断标志:IF为1时允许中断;TF(TrapFlag)陷阱标志(又叫跟踪标志):每执行一条指令就引起一个内部中断。用于单步方式操作,TF为1,指令执行完后产生陷阱,由系统控制计算机;TF为0,CPU不产生陷阱,正常工作。4.简述最小模式和最大模式的含义及其区别。5.8086CPU的地址线有多少位?其寻址范围是多少?答:(1)、8086CPU的地址线有20位;(2)、其寻址范围是1MB。地址范围为:00000~FFFFFH。6.8086CPU工作在最小模式时,(1)当CPU访问存储器时,要利用哪些信号?(2)当CPU访问外部设备时,要利用哪些信号?(3)当HOLD有效并得到响应时,CPU的哪些信号是高阻?7.8086CPU工作在最大模式时,S2、S1、S0在CPU访问存储器与CPU访问外部设备时,分别是什么状态?8.在8086最大模式系统中,8288总线控制器的作用是什么?它产生哪些控制信号?FFFFFFFFFE9.8086采用什么方式管理内存?1MB的内存空FFFFDFFFFC间分为哪两个存储体?它们如何与地址总线、数据总线相连?答:(1)、8086采用分段方式管理内存;5432A19~A1D15~D8BHED7~D0A0高(奇)位和低(偶)位存储器条 (2)、1MB的内存空间分为偶地址和奇地址两个存储体;(3)、如右图所示:10.什么是段基址、偏移地址和物理地址?它们之间有什么关系?答:(1)、段基址:存储器分段时,每个段的起始地址的低4位为0,高16位为段基址,放入段寄存器中;偏移地址:段内某内存单元的物理地址相对于段起始地址的偏移量称为段内偏移地址,也叫有效地址;20物理地址:8086/8088有20条地址线,最大内存容量为1MB(2),其中任何一个内存单元都有一个唯一的20位的地址,称为内存单元的物理地址。(2)、物理地址(PA)=段基址×10H+偏移地址(EA)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)=2000H-12=1FF4H;原来的(SP)=2300H+12=230CH12.(3)、如右图所示:对于8086,当(CS)=2020H时,物理地址为24200H,则当(CS)=6520H时,物理地址应转移到什么地方?13.什么是总线周期?什么是时钟周期?一个典型的总线周期最小包括几个时钟周期?什么情况下需要插入等待周期TW?答:(1)、总线周期:总线接口部件完成一个取指令或传送数据的完整操作所需的最少时钟周期数。(2)、时钟周期:CPU输入的CLK时钟信号。(3)、4。(4)、当被写入数据或者被读取数据的外设或存储器不能及时地配合CPU传送数据。这时,外设或存储器会通过“READY”信号线在T3状态启动之前向CPU发一个“数据未准备好的信号”,于是CPU会在T3之后插入一个或多个附加的时钟周期TW。14.总线周期中每个T状态的具体任务是什么?15.试画出8086最小模式下将内存单元50326H的内容55H读入AL的时序图。16.简述微处理器的发展历程。17.什么是超标量结构?什么是超级流水线? 18.什么是SIMD?什么是SSE?19.什么是Intel的虚拟化技术?20.Intel高级智能高速缓存技术有什么特点?21.简述超线程技术和多核技术,它们有什么区别?第3章寻址方式和指令系统1.什么叫寻址方式?8086CPU有哪几种寻址方式?2.指出下列指令中源操作数和目的操作数的寻址方式:(1)MOVAX,0AH(2)ADD[BX],DX(3)PUSHCS(4)POPDS(5)MULBL(6)MOVDX,[1200H](7)MOVSB(8)SUBAX,5[BP+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.在直接寻址方式中,一般只指出操作数的偏移地址。试问:段地址如何确定?如果要用某个段寄存器指出段地址,指令应如何表示?答:(1)、段地址默认为是DS的内容。(2)、用短跨越前缀指出段地址。指令中用“段寄存器:”表示。4.当用寄存器间接寻址方式时,试问:BX、BP、SI、DI分别在什么情况下使用?它们的物理地址如何计算?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,VAR[BX][SI](5)MOVAX,[BX+25H](6)MOVDI,ES:[BX](7)MOVDX,[BP](8)MOVBX,20H[BX](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+EA6.设堆栈指针SP的初值为2300H,(AX)=5000H,(BX)=4200H。执行指令PUSHAX后,(SP)=?,再执行指令PUSHBX及POPAX之后,(SP)=?(AX)=?(BX)=?答:(1)、(SP)=22FEH。(2)、(SP)=22FEH,(AX)=4200H,(BX)=4200H。7.试说明指令MOVBX,15[BX]与指令LEABX,15[BX]的区别。答:指令MOVBX,15[BX]是读取数据段偏移地址为((BX)+0FH)的内容送到BX中。指令LEABX,15[BX]是取该偏移地址值(BX)+0FH送到BX中。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的值分别是多少?MOVBX,OFFSETCOUNTMOVSI,[BX]MOVAX,COUNT[SI][BX]答:(AX)=3040H,(BX)=1200H,(SI)=1000H。9.设标志寄存器值原为0401H,AX=3272H,BX=42A2H。执行下列减法指令SBBAL,BH之后,AX和标志寄存器的值分别是多少?答:(AX)=322FH,(FR)=0410H。 10.设若标志寄存器原值为0A11H,SP=0060H,AL=4。下列几条指令执行后,标志寄存器、AX、SP的值分别是多少?PUSHFLAHFXCHGAH,ALPUSHAXSAHFPOPF答:(FR)=0411H,(AX)=0411H,(SP)=005EH。11.指出下列指令的错误(1)ADDSI,CL(2)MOV50,AL(3)MOVCS,AX(4)MOVDS,1234H(5)SHLAX,05H(6)XCHG200,AL(7)INAX,378H(8)JNZBX(9)MOVAH,CX(10)MOV33H,AL(11)MOVAX,[SI][DI](12)MOV[BX],[SI](13)ADDBYTEPTR[BP],256(14)MOVDATA[SI],ES:AX(15)JMPBYTEPTR[BX](16)OUT230H,AX(17)MOVDS,BP(18)MUL39H答:(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的乘法指令不能为立即数。12.若内存单元DATA在数据段中偏移量为24C0H处,24C0~24C3H单元中依次存放着55H、66H、77H、88H。下列几条指令执行后,寄存器AX、BX、CL、SI、DS的值分别是多少?MOVAX,DATALEASI,DATAMOVCL,[SI] LDSBX,DATA13.条件转移指令均为相对转移指令,请解释“相对转移”含义,试问若须往较远的地方进行条件转移,该怎么办?14.假设(DS)=212AH,(CS)=0200H,(IP)=1200H,(BX)=0500H,(DI)=2600H,位移量DATA=40H,(217A0H)=2300H,(217E0H)=0400H,(217E2H)=9000H。试确定下列转移指令的转移地址。(1)JMP2300H(2)JMPWORDPTR[BX](3)JMPDWORDPTR[BX+DATA](4)JMPBX(5)JMPDWORDPTR[BX][DI]答:(1)、0200H:2300H。CS不变,段内转移(2)、0200H:2300H。CS不变,段内转移(3)、9000H:0400H。段间转移(4)、0200H:0500H。CS不变,段内转移(5)、(23DA2H):(23DA0H)。段间转移15.若32位二进制数存放于DX和AX中,试利用移位与循环指令实现以下操作:(1)DX和AX中存放的无符号数,将其分别乘2除2。(2)若DX和AX中为有符号数,将其分别乘2和除2。答:(1)、SHLAX,1;AX乘2RCLDX,1;DX乘2SHRDX,1;DX除2RCRAX,1;AX除2(2)、SALAX,1;AX乘2RCLDX,1;DX乘2SARDX,1;DX除2RCRAX,1;AX除216.下段程序完成什么工作?DATX1DB300DUP(?)DATX2DB100DUP(?)MOVCX,100MOVBX,200MOVSI,0MOVDI,0NEST:MOVAL,DATX1[BX][SI]MOVDATX2[DI],ALINCSIINCDILOOPNEXT17.执行下列指令后,AX寄存器的内容是什么?TABLEDW10,20,30,40,50;000AH,0014H,001EH,0028H,0032H ENTRYDW3TABLE0AH……00HMOVBX,OFFSETTABLE14HADDBX,ENTRYTABLE+300HMOVAX,[BX]1EH答:(AX)=1E00H。存储方式如右图所示:00H28H18.指出下列程序段的功能00HMOVCX,1032HCLD00HLEASI,FIRST3.17题的TABLELEADI,DECOND存储方式REPMOVSB答:将数据段首地址为FIRST的十个字节数据传送到附加段首地址为DECOND的内存缓冲区中。19.试写出程序段把DX、AX中的双字右移四位。(80页有答案)20.当执行中断指令时,堆栈的内容有什么变化?如何求得子程序的入口地址?21.试述中断指令IRET与RET指令的区别。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码相加,并送到第三个存储单元中。23.用指令或指令队列实现下述要求的功能。(1)AH的高4位清0;(2)AL的高4位取反;(3)AH的低4位移到高4位,低4位清0;(4)AL的高4位移到低4位,高4位清0;(5)将BX的低2位全变为1。 答:(1)ANDAH,0FH(2)XORAL,0F0H(3)MOVCL,4SHLAH,CL(4)MOVCL,4SHRAL,CL(5)ORBX,0003H24.写出可使AX清0的几条指令。答:ANDAX,0XORAX,AXMOVAX,0SUBAX,AX25.若AL=0FFH,BL=13H,指出下列指令执行后标志AF、OF、ZF、SF、PF、CF的状态。(1)ADDBL,AL(2)SUBBL,AL(3)INCBL(4)NEGBL(5)ANDAL,BL(6)MULBL(7)CMPBL,AL(8)IMULBL(9)ORBL,AL(10)XORBL,BL答:(1)(AF)=1、(OF)=0、(ZF)=0、(SF)=0、(PF)=1、(CF)=1(2)(AF)=1、(OF)=0、(ZF)=0、(SF)=0、(PF)=1、(CF)=1(3)(AF)=0、(OF)=0、(ZF)=0、(SF)=0、(PF)=1、(CF)=不变(4)(AF)=1、(OF)=0、(ZF)=0、(SF)=1、(PF)=1、(CF)=1(5)(AF)=0、(OF)=0、(ZF)=0、(SF)=0、(PF)=0、(CF)=0(6)(OF)=1、(CF)=1、其它标志无定义(7)(AF)=1、(OF)=0、(ZF)=0、(SF)=0、(PF)=1、(CF)=1(8)(OF)=0、(CF)=0、其它标志无定义(9)(AF)=0、(OF)=0、(ZF)=0、(SF)=1、(PF)=1、(CF)=0(10)(AF)=0、(OF)=0、(ZF)=1、(SF)=0、(PF)=1、(CF)=026.已知BUF单元有一个单字节无符号数X,按要求编写一程序段计算Y(无符号字数据),并将其存入累加器。Y=X-20+3X答:MOVAL,BUF;取XMOVBL,3MULBL;*3MOVBL,BUF;再取XMOVBH,0;无符号数位数0扩展SUBBX,20;-20ADDAX,BX;计算结果并存入累加器27.分析下面的程序段完成什么功能?MOVCL,04SHLDX,CL MOVBL,AHSHLAX,CLSHRBL,CLORDL,BL答:程序段将((DX),(AX))的双字同时左移4位,即将此双字乘以10H(16)。第4章汇编语言程序设计1.什么是汇编语言?什么是汇编语言程序?什么是汇编?什么是汇编程序?2.一个完整的汇编语言程序结构上有什么特点?3.汇编语言有哪三种基本语句?它们各自的作用是什么?4.逻辑运算符与逻辑运算指令中的助记符有完全相同的符号,如何区别它们?作用有何不同?5.下面两条语句汇编后,两个字节存储单元NUM1和NUM2中的内容分别是什么?NUM1DB(12OR4AND2)GE0EHNUM2DB(12XOR4AND2)LE0EH答:(1)、NUM1中的内容是00H;因为12不大于等于0EH(2)、NUM2中的内容是0FFH;因为12小于等于0EH6.下列指令执行后,字存储单元DA2中的内容是多少?DA1EQUBYTEPTRDA2DA2DW0ABCDH……SHLDA1,1SHRDA2,1答:DA2中的内容是55CDH7.对下面的数据定义,各条MOV指令单独执行后,有关寄存器的内容是什么?NUMB1DB?NUMB2DW20DUP(?)NUMB3DB‘USB’1)MOVAX,TYPENUMB12)MOVAX,TYPENUMB23)MOVCX,LENGTHNUMB24)MOVDX,SIZENUMB25)MOVCX,LENGTHNUMB3答:1)、(AX)=12)、(AX)=2 3)、(CX)=0014H4)、(DX)=0028H5)、(CX)=18.假设程序中的数据定义如下:PNUMDW?PNAMEDB16DUP(?)COUNTDD?PLETHEQU$-PNUM问PLETH的数值是多少?它代表什么意思?答:(1)、PLETH的数值是16H(2)、表示自PNUM开始到PLETH为止的变量占用的存储单元数。9.程序中如何实现对各段寄存器和IP、栈顶的初始化?10.什么是宏?宏指令的功能是什么?宏与过程在汇编过程中,它们的目标代码有什么区别?11.简述程序设计的步骤。12.编写程序,不用乘法计算Z=10×X+Y/8,用移位运算。答:MOVAX,XSHLAX,1;AX乘2MOVBX,AXSHLAX,1;AX乘2SHLAX,1;AX乘2ADDAX,BX;8X+2XMOVBX,YMOVCL,3SHRBX,CL;无符号数Y/8ADDAX,BX;10×X+Y/8MOVZ,AX13.编写程序,建立一数据表,表中连续存放1-9的平方,查表求某数字的平方。答:TABLEDB1*1,2*2,3*3,4*4,5*5,6*6,7*7,8*8,9*9……MOVBX,OFFSETTABLEMOVAL,nDECALXLAT;n的平方即在AL中14.简述利用跳转表实现多路分支程序设计的思想。地址跳转表和指令跳转表只要区别是什么?15.简述分支结构程序设计的注意事项。16.编写程序,将自定义的三个符号数X、Y、Z的最大者送入MAX字单元。 答:MOVAX,XCMPAX,YJGENEXTMOVAX,YNEXT:CMPAX,ZJGENEXT1MOVAX,ZNEXT1:MOVMAX,AX17.在A、B、C中存在有三个数,编写程序完成如下处理:1)若有一个数为零,则将其它两个量清为零。2)若三个数都不为零,求它们的和,并送D中。3)若三个数都为零,则将它们都置一。答:CMPA,0JNZNEXTCMPB,0JNZNEXT1CMPC,0JNZNEXT1MOVA,1MOVB,1MOVC,1JMPOKNEXT:CMPB,0JZNEXT1CMPC,0JZNEXT1MOVAX,AADDAX,BADDAX,CMOVD,AXJMPOKNEXT1:MOVA,0MOVB,0MOVC,0OK:……18.循环结构程序由哪几部分组成?各部分的功能是什么?19.简述循环结构程序设计的注意事项。20.编写程序,将以STR1为首地址的字节串传送到以STR2为首地址的字节存储区中。21.从偏移量DAT1开始存放200个带符号的字节数据,编写程序,找出其中最小的数放入DATA2中。 22.子程序设计时,有哪些注意事项?23.调用程序和主程序之间是如何进行参数传递的?24.用主程序调用子程序的结构形式,编程实现∑n!=1!+2!+3!+4!+5!1,n0(提示:n!=,n!用n(n-1)!代替,则计算n!子程序必n(n1),n0须用递归调用n!子程序,但每次调用所使用的参数都不同。(在114页有答案)25.已知X是单字节带符号数,请设计计算下列表达式的程序。X20,X0Y=X,X0求绝对值|X|的算法是:当X为正数时为其本身,当X为负数时则将其求补。26.在缓冲区BUF地址起有一字符串,其长度存于COUNT单元。要求删除其中所有的“A”字符,修改字符串长度并存回COUNT单元。22227.编程求级数1+2+3+……的前10项。第5章输入输出接口1.为什么要在CPU与外设之间增设接口?(1cpu与外设两者的信号线不兼容,在信号线的定义、逻辑定义、时序关系上都不一致;2两者的工作速度不兼容,CPU的速度高,外设的速度低;3若不通过借口而由CPU直接对外设的操作实时控制,就会使CPU穷处于应付与外设打交道之中,大大降低了CPU的效率;4若外设直接由控制,也会使外设的硬件结构依赖于CPU,对外设的本身的发展不利)2.微型计算机的接口一般应具备哪些功能?(1数据缓冲的功能; 2端口选择的功能;3信号转换的功能;4接收和执行CPU的命令的功能;5中断的功能;5可编程的功能)3.接口电路的硬件一般由哪几部分组成?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.一般的I/O接口电路安排有哪三类寄存器?它们各自的作用是什么?6.常见的I/O端口地址译码电路一般有哪几种结构形式?(门电路一马;译码器译码;比较器译码)7.I/O地址线用作端口寻址时,高位地址线和低位地址线各作何用途?如何决定低位地址线的根数?答:(1)、高位地址线参加译码,分别产生各接口芯片的片选信号,而低位地址线作为芯片内部寄存器的访问地址。(2)、根据接口芯片中端口地址的数量来决定低位地址线的根数。8.译码器译码电路一般有哪几部分组成?(译码控制端;选择输入端;译码输出端)9.若要求I/O端口读写地址为264H,则在图5-4中的输入地址线要做哪些改动? 10.图5-5是PC机系统板的I/O端口地址译码器电路,它有何特点?试根据图中的地址线的分配,写出DMAC、INTR、T/C以及PPI的地址范围?11.CPU与外设之间的数据传送方式有哪几种?它们各应用在什么场合?试比较这几种基本输入输出方式的特点。答:(1)、程序控制方式、中断传送方式、直接存储器存取方式。(2)、内容太多,略!(3)、内容太多,略!12.CPU与外设进行数据传送时,采用哪一种传送方式CPU的效率最高?答:直接存储器存取方式的效率最高。但是根据不同的应用场合需要不同的传送方式,有的时候必须使用程序控制方式或者中断传送方式。13.查询传送方式、中断传送方式和DMA传送方式分别用什么方法启动数据传送过程?第6章存储器1.什么是SRAM、DRAM、ROM、PROM、EPROM、E2PROM?分别说明它的特点和简单工作原理。2.用存储器组成内存时,为什么总采用矩阵形式?请用一个具体例子进行说明。3.如果要访问一个存储容量为64K×8的存储器,需要多少条数据线和地址线?(8;16)4.某SRAM的单元中存放有一个数据如88H,CPU将它读取后,该单元的内容是什么?5.DRAM为什么要进行定时刷新?试简述刷新原理及过程。为了实现刷新,DRAM芯片对外部电路有什么要求?6.什么是FPMDRAM?什么是SDRAM?什么是DDRSDRAM?7.PROM和EPROM在写入信息之前,各单元的数据是什么?8.已知RAM的容量为(1)16K×8(2)32K×8(3)64K×8(4)2K×8如果RAM的起始地址为5000H,则各RAM对应的末地址为多少?9.如果一个应用系统中ROM为8KB,最后一个单元地址为57FFH,RAM紧接着ROM后面编址,RAM为16KB,求该系统中存储器的第一个地址和最后一个单元地址。10.如果存储器起始地址为1200H,末地址为19FFH,求该存储器的容量。 11.存储器与CPU的接口主要由哪些部分组成?12.分别说明全译码法、部分译码法和线选法的主要优缺点。13.若某微机有16条地址线,现用SRAM2114(1K×4位)存储芯片组成存储系统,问采用线选译码时,系统的存储容量最大为多少?需要多少个2114存储器芯片?答:(1)、系统的存储容量最大6KB。(2)、需要12个2114存储器芯片。14.设有一个具有14位地址和8位自唱的存储器,问:(1)该存储器能存储多少字节的信息?(16k)(2)如果存储器由1K×1位金泰RAM组成,需要多少芯片?(128片)(3)需要多少位地址作芯片选择?15.用1024×1位的RAM芯片组成16K×8位的存储器,需要多少个芯片?分为多少组?共需多少根地址线?地址线如何分配?试画出与CPU的连接框图。16.某8088系统用2764(8K×8位)EPROM芯片和6264(8K×8位)SRAM芯片构成16KB的内存。其中,ROM的地址范围为0FE000H~0FFFFFH,RAM的地址范围为0F0000~0F1FFFH。试利用74LS138译码,画出存储器与CPU的连接图,并标出总线信号名称。17.用2732(4K×4位)、6116(2K×8位)和74LS138构成一个存储容量为12KBROM(000000H~02FFFH)、8KBRAM(030000H~04FFFH)的存储系统。系统地址总线为20位,数据总线为8位。试画出存储器与CPU的连接图。18.什么是Cache?它能够极大地提高计算机的处理能力是基于什么原理?19.Cache与主存之间有几种地址映像方式?分别说出其功能特点。20.简述Cache的几种替换算法,你认为应该选用哪种算法最好?21.什么叫虚拟存储器?为什么要设虚拟存储器22.简述虚拟存储器的三种方式。试说明各自的优缺点。(段页式虚拟存储器需要经过两级查表才能完成地址转换,费时较多)(页式虚拟存储器的优点:1主存储器的利用率较高;2页表现对简单;3地址印象和变换速度比较快,只要建立虚页号和实页号之间的对应关系即可;4对外存管理比较容易。缺点:1程序模块化不好,逻辑不清晰;2页表很长,需要占用很大的存储空间)(段式存储器:优点:1程序模块化好;2便于实现信息保护;3程序动态链接和调度比较容易。缺点:1地址变换花费时间长;2主存利用率低;3对外存管理比较困难) 第7章中断系统1.什么是中断?什么是中断系统?中断系统的功能有哪些?(就是在CPU正常运行程序时,由于内部事件、外部事件或由程序预先安排的事件所引起的CPU暂时停止长在运行的程序而转去执行请求CPU服务的内部、外部事件或预先安排事件的服务程序,待服务程序处理完毕后又返回去执行被暂停的程序,这个过程称为中断)(1功能:1正确识别中断请求,实现中断响应、中断处理、中断返回;2实现中断优先级排队;3实现中断嵌套)2.中断处理过程包括哪几个基本阶段?中断服务程序中为什么要保护现场和恢复现场?如何实现?答:(1)、中断请求、中断判优、中断响应、中断处理、中断返回。(2)、为返回到被中断程序时,使CPU内部的寄存器内容还原为中断前的值,以便能正确执行被中断程序。(3)、一系列的PUSH指令来保护现场,一系列的POP指令来恢复现场。3.什么是内部中断和外部中断?如何分类?()4.INTR中断和NMI中断有什么区别?答:非屏蔽中断NMI:边沿触发方式,不受IF屏蔽的中断,中断类型码固定为02H,所以不需要中断响应周期INTA。可屏蔽中断INTR:8086的INTR中断请求信号来自中断控制器8259A,是电平触发方式,高电平有效。INTR是受IF屏蔽的中断。5.中断向量表的作用是什么?如何设置中断向量表?中断类型号为15H的中断向量存放在哪些存储器单元中?答:(1)、中断向量表的作用是中断号与该中断号相应的中断服务程序入口地址之间的连接表。即通过中断号找到中断向量。(2)、PC系列微机把其存储器的0000~03FFH共1024个地址单元作为中断向量表,每个中断向量占用4字节的存储单元,连续存放在中断向量表中,共256个中断类型。(3)、15H×4=0054H~0057H四个存储单元中。6.设某系统中8259A的两个端口地址分别为24H和25H,试分别写出下列情况应向8259A写入的命令字:(1)读中断请求寄存器IRR的值。(2)读中断服务寄存器ISR的值。(3)读查询方式下的查询状态字。(4)发一般的中断结束命令EOI。7.单片8259A能管理多少级可屏蔽中断?若用3片级联能管理多少级可屏蔽中断?答:(1)、8。(2)、22。 8.8259A有哪几种优先级控制方式?8259A的中断请求有哪两种触发方式?对请求信号有什么要求?9.若8086系统中使用1片8259A,中断请求信号采用边沿触发方式。中断类型号为08H~0FH,采用完全嵌套、中断非自动结束方式。8259A在系统中的连接采用非缓冲方式,它的端口地址为0FFFEH、0FFFCH。请画出系统连接图及编写初始化8259A的程序段。答:系统连接图如下图所示。D7~D0D7~D0CAS2~CAS0IOWCS2WRIORCS1RDINTAS0INTAIR7+5VINTRINT74LS30G2AY08086CPU八输入74LS138SP/ENIR074LS00A15~A8G2BG18259AA7CY6A6BA5初始化8259A的程序段如下:CLIMOVAL,13H;初始化ICW1MOVDX,0FFFCH;1片8259A、边沿触发OUTDX,ALMOVAL,08H;初始化ICW2MOVDX,0FFFEH;中断类型号为08H~0FHOUTDX,ALMOVAL,01H;初始化ICW4OUTDX,AL;全嵌套、中断非自动结束、非缓冲MOVAL,00H;初始化OCW1OUTDX,AL;8259A全部开中断STI┇10.某系统内有8个INTR外中断源,用一片8259A管理8级中断源。设8259A占用地址24H、25H,各中断源的类型码为40H~47H,各级中断对应的服务程序入口地址CS:IP分别为1000H:0000H、2000H:0000H、…、8000H:0000H。试写出初始化程序,并编程向中断向量表中置入各中断向量。 答:程序段如下:CLIMOVAL,13H;初始化ICW1OUT24H,AL;1片8259A、边沿触发MOVAL,40H;初始化ICW2OUT25HAL;中断类型号为40H~47HMOVAL,01H;初始化ICW4OUT25H,AL;全嵌套、中断非自动结束、非缓冲MOVAL,00H;初始化OCW1OUT25H,AL;8259A全部开中断PUSHES;向中断向量表中置入各中断向量MOVAX,0000H;中断向量表在内存的0段MOVES,AXMOVBX,40H*4MOVWORDPTRES:[BX],0000HMOVWORDPTRES:[BX+2],1000HMOVBX,41H*4MOVWORDPTRES:[BX],0000HMOVWORDPTRES:[BX+2],2000HMOVBX,42H*4MOVWORDPTRES:[BX],0000HMOVWORDPTRES:[BX+2],3000HMOVBX,43H*4MOVWORDPTRES:[BX],0000HMOVWORDPTRES:[BX+2],4000HMOVBX,44H*4MOVWORDPTRES:[BX],0000HMOVWORDPTRES:[BX+2],5000HMOVBX,45H*4MOVWORDPTRES:[BX],0000HMOVWORDPTRES:[BX+2],6000HMOVBX,46H*4MOVWORDPTRES:[BX],0000HMOVWORDPTRES:[BX+2],7000HMOVBX,47H*4MOVWORDPTRES:[BX],0000HMOVWORDPTRES:[BX+2],8000HPOPESSTI┇11.编写程序段,实现如下功能:(1)使用INT21H的5H号功能,打印一个字符‘A’。 (2)使用INT17H的0H号功能,把字符‘P’输出给0号打印机。(3)从通信接口COM1接收一个字符,并放入内存。(4)通过通信接口COM1向外发送1个字符。答:(1)、MOVDL,‘A’MOVAH,05HINT21H(2)、MOVDX,0;0号打印机MOVAL,‘P’MOVAH,0INT17H(3)、MOVAH,03H;从通信接口COM1接收一个字符INT21HMOVBUF,AL(4)、MOVDL,‘C’;通过通信接口COM1发送字符CMOVAH,04HINT21H12.利用DOS系统功能调用,完成将键盘输入的小写字母转换为大写字母并输出显示,直到输入‘$’字符时停止输出答:完整程序如下:CODESEGMENTASSUMECS:CODESTART:MOVAH,02HMOVDL,0DH;显示“回车”INT21HMOVAH,02HMOVDL,0AH;显示“换行”INT21HINPUT:MOVAH,01H;键盘输入一个字符回显功能INT21HCMPAL,‘$’;‘$’字符?JEINPUT_ENDCMPAL,‘a’;‘a~z’字符?JBINPUTCMPAL,‘z’JAINPUTANDAL,0DFH;小写字母转换为大写字母MOVAH,02HMOVDL,AL;显示大写字母INT21HJMPINPUTINPUT_END:MOVAX,4C00H;返回DOS功能INT21HCODEENDSENDSTART 13.从内存单元BUF开始的缓冲区中有7个8位无符号数,依次为53H、0D8H、67H、82H、0A6H、9EH、0F4H。编程找出它们的中间值并放入RES单元,且将结果以“(RES)=?”的格式显示在屏幕上。14.设某测试系统中,1号端口为测试口,所得数据是0~9之间的十进制整数;2号端口为显示口,对应于数字0~9的LED七段共阴显示码依次为:3FH、06H、5BH、4FH、66H、6DH、3DH、07H、7FH、6FH。编写一段查表送显的程序,要求先从测试口读入一个数据,再查表将相应的显示码从显示口送出,如此反复进行直至读入数据0FFH为止。15.编程实现以下操作:从键盘输入4个数字,分别作为两个10~99之间的十进制数。求它们的和,并把结果以三位十进制数的形式显示在屏幕上。要求输入回显的两个加数与送显的和之间有适当的分隔,以示区别。格式自行拟定。答:完整程序如下:CODESEGMENTASSUMECS:CODESTART:MOVAH,02HMOVDL,0DH;显示“回车”INT21HMOVAH,02HMOVDL,0AH;显示“换行”INT21HCALLINPUT;输入2数并转换为十进制数送BLMOVAL,BL;转换的十进制数保存在AL中CALLINPUT;输入2数并转换为十进制数送BLADDAL,BLDAAMOVBH,0ADCBH,0;将进位位保存在BH中MOVBL,AL;将求和结果保存在BL中CALLOUTPUT;输入显示子程序调用INT20H;结束,返回DOSINPUTPROCPUSHAXMOVAH,01H;键盘输入一个字符功能INT21HANDAL,0FH;ASCII码转换为二进制数MOVBL,ALMOVCL,4SHLBL,CL;BL内容左移四位MOVAH,01H;键盘输入一个字符功能INT21HANDAL,0FH;ASCII码转换为二进制数ORBL,AL;合成为一个两位的十进制数 MOVAH,02HMOVDL,"";显示空格INT21HPOPAXRETINPUTENDPOUTPUTPROCPUSHAXPUSHDXPUSHCXMOVAH,02HMOVDL,"";显示空格INT21HMOVDL,BH;显示进位位ORDL,30H;进位位转换为ASCII码MOVAH,02HINT21HMOVDL,BL;显示求和结果高位MOVCL,04HSHRDL,CLORDL,30H;结果高位转换为ASCII码MOVAH,02HINT21HMOVDL,BL;显示求和结果低位ANDDL,0FHORDL,30H;结果低位转换为ASCII码MOVAH,02HINT21HPOPCXPOPDXPOPAXRETOUTPUTENDPCODEENDSENDSTART16.比较变量x、y的大小使用16进制的形式在屏幕上输出较大的值,若x=y,则输出字符串‘EQUAL’。17.请用字程序结构编写如下程序:从键盘输入一个二位十进制数的月份数(01~12),然后显示出相应的英文缩写名。18.在ARRAY数组中,保存一个从大到小顺序排列的以字为单位的字符数组,数组长度存放于数组的第一个单元中。从键盘接受一个字符,在数组中查找 在字符,若找到,则使CF为1。并在SI中保存该字符数组中的偏移地址;若找不到,则提示继续输入字符,直至在ARRAY数组中找到该字符为止。19.从键盘输入一串字符,并在显示屏上显示出来。要求用DOS中断的09功能。20.在磁盘中建立一个文件,并显示完成的结果,假设BUF1中存放正常信息,BUF2中存放错误信息。第8章计数器/定时器与DMA控制器1.微机系统中的外部定时有哪两种方法?其特点如何?(硬件定时和软件定时)2.8253计数/定时器有哪些特点?3.8253初始化编程包括哪两项内容?答:设定方式控制字和计数初始值。4.8253有哪几种工作方式?区分不同工作方式的特点体现在哪几方面?5.设8253芯片的计数器0、计数器2和控制口地址分别为04B0H、04B4H、04B6H。定义计数器0工作在方式3,CLK0为5MHz,要求输出OUT0为1KHz方波;定义计数器2用OUT0作计数脉冲,计数值为1000,计数器计到0时向CPU发出中断请求,CPU响应这一中断请求后继续写入计数值1000,开始重新计数,保持每一秒钟向CPU发出一次中断请求。试写出对8253的初始化程序,并画出硬件连接图。答:硬件连接图如下页所示:8253的初始化程序段如下:INIT8253:MOVDX,04B6H;控制口MOVAL,37H;计数器0方式3OUTDX,ALMOVDX,04B0H;计数器0MOVAX,5000H;计数值=5MHz/1kHz=5000OUTDX,ALMOVAL,AHOUTDX,ALMOVDX,04B6H;控制口MOVAL,0B5H;计数器2方式2OUTDX,ALMOVDX,04B4H;计数器2MOVAX,1000H;计数值1000OUTDX,ALMOVAL,AH OUTDX,ALD7~D0D7~D0IOWCS2WRIORCS1RDINTA8259S01Hz8253IRINTROUT2或门5MHzG2AY08086CPU743274LS138CLK07400+5VA9G2BOUT0A8G1GATE0A10CY5A6BY6GATE2A7CLK26.将8253计数器0设为方式3(方波发生器),计数器1设为方式2(分频器)。要求计数器0的输出脉冲作为计数器1的时钟输入,CLK0连接总线时钟4.77MHz,定时器1输出OUT1约为40HZ,试编一段程序。设8253端口地址为:40H~43H。答:程序段如下:计数值=4.77MHZ÷40Hz=119250=2385×50INIT8253:MOVAL,37H;计数器0方式字OUT43H,AL;控制口MOVAX,2385H;计数器0计数值OUT40H,ALMOVAL,AHOUT40H,ALMOVAL,55H;计数器1方式字OUT43H,AL;控制口MOVAL,50H;计数器1计数值OUT41H,AL7.某8086系统中包含一片8253芯片,要求完成如下功能:(1)利用技术器0完成对外部事件计数功能,每计满100次向CPU发出中断请求;(2)利用技术器1产生频率为1kHz的方波(计数输入脉冲为2.5MHz);(3)利用技术器2输出1s定时信号。8.什么是DMA传送方式?为什么DMA方式能实现高速传送?9.说明DMA控制器应具有什么功能?10.8237A有哪些内部寄存器?各有什么功能?初始化编程要对哪些寄存器进行 预置?11.分述8237A单字节传送(每次DMA操作只操作,即发送出一次总线请求,DMAC占用总线后,进入DMA周期,只传送一个字节数据,便释放总线)、数据块传送(只要DMA传送一开始,DMAC始终占用总线,直到数据传送结束或校验完毕或检索到匹配字符,才把总线控制权还给CPU)、请求传送(DMAC控制总线以后,每传送完一个字节,都由DMAC检测外设是否有继续传送的要求,如果有,继续传送数据,如果没有则释放总线,继续检测外设的传送要求,直到外设重新有了利用DMAC传送数据的要求时,再申请总线)三种工作方式的传送过程。12.简要说明8237A的初始化步骤。13.假设利用8237A通道1在存储器的两个区域BUF1和BUF2间直接传送100个数据,采用连续传送方式,传送完毕后不进行自动预置,试写出初始化程序。14.设8237A的端口地址为00H~0FH,通道0的页面寄存器地址为87H,使通道0工作在成组方式,地址增变化,自动预置功能,把从内存25000H开始的1024字节传送给外设端口。DACK为高电平有效,DREQ为低电平有效,固定优先级,正常时序,不扩展写信号,非存储器到存储器传送。试设计8237A的初始化程序。第9章并行接口与串行接口1.可编程并行接口芯片8255A面向I/O设备一侧的端口有几个?其中C口的使用有哪些特点?2.试分别说明可编程并行接口芯片8255A的方式控制字和置位/复位字的作用及其格式中每位的含义是什么?3.“由于8255A的端口C按位置位/复位控制字是对C口进行操作,所以可以写到C口”,这句话对吗?为什么?答:(1)、不对!(2)、因为该控制字按规定只能写入控制口,而且D7=0。4.如何对8255A进行初始化编程?答:通过向8255A控制口设定方式选择控制字来进行初始化编程。方式选择控制字的格式如下页图所示:5.可编程并行接口芯片8255A有哪几种工作方式?各自的特点何在?1D6D5D4D3D2D1D0方式选择控制字的标识位PC3~PC0:1—输入,0—输出端口B:1—输入,0—输出A组方式选择端口A00—方式0B组方式选择:0—方式0,1—方式11—输入01—方式1PC7~PC4:1—输入,0—输出0—输出1x—方式2 9.4图:方式选择控制字的格式6.在方式1下输入和输出时,其专用联络信号是如何定义的?7.8255A工作于方式2,采用中断传送,CPU如何区分是输入中断还是输出中断?8.设计一个利用8255A的PC5输出占空比1:1的方波电路,并编写相应程序。9.现有4种简单的外设:①一组8位开关;②一组8位LED指示灯;③一个按钮开关;④一个蜂鸣片。要求:(1)用8255A作为接口芯片,将这些外设构成一个简单的微机应用系统,画出接口连接图。(2)编制3种驱动程序,每个程序必须包括至少有两种外设共同作用的操作(例如,根据8位开关“ON”和“OFF”的状态来决定8个LED指示灯“亮”和“灭”。又如,当按下按钮开关时,才使蜂鸣片发声等)。(方式0和方式1下,在按下按钮并释放后,再根据8位开关“ON”和“OFF”的状态来决定8个LED指示灯“亮”和“灭”。使用查询方式。)答:(1)、接口连接图如下:8255与CPU的连接省略。+5VD7D6D5D4D3D2D1D01K1K1K1K1K1K1K1KPB7PB6PB5PB4PB3PB2PB1PB0PC0KN8255PC45K5K5K5K5K5K5K5K5KK7K6K5K4K3K2K1K0图中,PB口经限流电阻接8位LED指示灯;PA口经上拉电阻接8位开关, PC4经上拉电阻接按钮开关(作为PA口工作于方式1输入的选通信号STB),APC0接蜂鸣片。假设8255的端口地址为60H、61H、62H、63H,地址译码电路图中未画出。(2)、8255初始化程序段如下:A口方式0输入,B口方式0输出,C口低4位输出、高4位输入。MOVAL,10011000B;8255方式控制字98HOUT63H,AL;控制口MOVAL,0FFH;关闭8位LED指示灯OUT61H,AL;B口OUT62H,AL;C口,禁鸣蜂鸣片;驱动程序1如下:根据8位开关“ON”和“OFF”的状态来决定8个LED指示灯“亮”和“灭”。NEXT:INAL,60H;输入A口的8位开关状态OUT61H,AL;送B口8位LED指示灯显示JMPNEXT;死循环输入并显示;驱动程序2如下:当按下按钮开关时,才使蜂鸣片发声。VOICE:INAL,62H;输入C口的按钮开关状态TESTAL,10H;PC4=0?JNZVOICE_OFFMOVAL,00HOUT63H,AL;置PC0=0,发声CALLDELAY2S;延时2秒JMPVOICEVOICE_OFF:MOVAL,01HOUT63H,AL;置PC0=1,关闭声音JMPVOICE;死循环检测发声;驱动程序3如下:A口工作于方式0下,在按下按钮并释放后,再根据8位开关“ON”和“OFF”的状态来决定8个LED指示灯“亮”和“灭”。使用查询方式。LED0_OFF:INAL,62H;输入C口的按钮开关状态TESTAL,10H;PC4=0?JNZLED0_OFF;没有按按钮,继续等待按下LED0_ON:INAL,62H;输入C口的按钮开关状态TESTAL,10H;PC4=0?JZLED0_ON;仍然按下,继续等待释放INAL,60H;输入A口的8位开关状态OUT61H,AL;送B口8位LED指示灯显示JMPLED0_OFF;死循环输入并显示;驱动程序4如下:8255初始化程序段:A口方式1输入,B口方式0输出,C口低4位输出、高4位配合A口工作。 MOVAL,10110000B;8255方式控制字0B0HOUT63H,AL;控制口MOVAL,0FFH;关闭8位LED指示灯OUT61H,AL;B口OUT62H,AL;C口,禁鸣蜂鸣片;A口工作于方式1下,在按下按钮并释放后,再根据8位开关“ON”和“OFF”的状态来决定8个LED指示灯“亮”和“灭”。使用查询方式。LED1_OFF:INAL,62H;输入C口的状态TESTAL,20H;PC5=0?(PC5为IBFA)JZLED1_OFF;没有按按钮,继续等待STBAINAL,60H;IBFA=1,输入A口的8位开关状态OUT61H,AL;送B口8位LED指示灯显示JMPLED1_OFF;死循环输入并显示10.串行传送的特点是什么?11.什么是串行传送的全双工和半双工?12.异步传输时,每个字符对应1位起始位、7位信息位、1位奇偶校验位和1位停止位,如果波特率为9600b/s,则每秒传输的最大字符数是多少?13.调制解调器(MODEM)在通信中的作用?14.什么是波特率?发送时钟和接收时钟与波特率有什么关系?15.串行通信按信号格式分为哪两种?这两种格式有何不同?(全双工和半双工)16.串行接口的基本功能有哪些?17.试简述8251A内部结构及工作过程。18.试说明8251A的方式控制字、操作控制字和状态字各位的含义及它们之间的关系。在对8251A进行初始化编程时,应按什么顺序向它的控制口写入控制字19.某系统中使可编程串行接口芯片8251A工作在异步方式,7位数字,不带校验,2位停止位,波特率因子为16,允许发送也允许接收,若已知其控制口地址为04A2H,试编写初始化程序。答:程序段如下:方式字为11001010B=CAH,控制字为00010101B=15HINIT8251:MOVAL,0CAH;方式字MOVDX,04A2HOUTDX,AL;控制口MOVAL,15H;控制字OUTDX,AL;控制口20.设8251A的控制口和状态口地址为04A2H,数据输入/输出口地址为04A0H (输出端口未用),输入100个字符,并将字符放在buffer所指的内存缓冲区中。请写出这段的程序。答:程序段如下:方式字为11001010B=CAH,控制字为00010100B=14HINIT8251:MOVAL,0CAH;方式字MOVDX,04A2HOUTDX,AL;控制口MOVAL,14H;控制字OUTDX,AL;控制口MOVCX,100LEASI,buffer;输入缓冲区RECEV:MOVDX,04A2HINAL,DX;读取状态TESTAL,02H;RxRDY=1?JZRECEVTESTAL,38H;输入数据有三种错误之一吗?JNZERRORMOVDX,04A0H;数据口INAL,DX;输入数据ANDAL,7FH;7位数据,清除最高位MOV[SI],ALINCSILOOPRECEVJMPSTOPERROR:……STOP:……21.在图9-17两台微机串行通信例子中,在不改变硬件的情况下,通信双方的约定改为1位停止位、奇校验、波特率因子为16,其他参数不变,试编写出两机的初始化程序。答:发送部分初始化程序段如下:方式字为01011110B=5EH,控制字为00110111B=37HINIT8251A:MOVDX,309HMOVAL,0;先写三个00HOUTDX,AL;控制口OUTDX,ALOUTDX,ALMOVAL,40;40H,软件复位命令OUTDX,AL;控制口MOVAL,5EH;方式字OUTDX,ALMOVAL,37H;控制字OUTDX,AL接收部分初始化程序段如下:方式字为01011110B=5EH,控制字为00010100B=14HINIT8251B:MOVDX,309H MOVAL,0;先写三个00HOUTDX,AL;控制口OUTDX,ALOUTDX,ALMOVAL,40;40H,软件复位命令OUTDX,AL;控制口MOVAL,5EH;方式字OUTDX,ALMOVAL,14H;控制字OUTDX,AL第10章总线1.什么是总线?微型计算机的总线由哪些部分组成?各部分的作用是什?2.什么是总线标准?试简述总线标准4个特性的含义。(总线标准是指芯片之间、插板之间及系统之间,通过总线进行连接和传输信息时,应遵守的一些协议与规范,包括硬件和软件两个方面)(特性:物理特性,电气特性,功能特性,时间特性)3.微机系统中总线的层次结构是怎样的?试说明微机系统中系统总线和局部总线的概念.局部总线有什么特点?4.总线有哪些主要的性能参数?(总线带宽,总线频率,总线宽度)试比较ISA总线与PCI总线的性能参数。5.ISA和EISA总线的相似点和不同点是什么?6.简述ISA,EASA,PCI总线的特点。7.PCI局部总线的信号线有多少根?可分为哪几组功能信号?8.PCIExpress总线的主要性能特点有哪些?9.简述PCIExpress总线的主要组件及其功能。10.基于完整的HyperTransport技术系统有哪些部分组成?11.InfiniBend的体系结构主要由那些组件构成?12.RS-232C最主要的接线是什么?其功能是什么?13.RS-232C在实际应用中有几种连接方式?它分别适用于什么工作要求?14.EIA-RS-232C电平和TTL电平有什么区别?如何将EIA电平和TTL电平接口?进行电平和逻辑关系的转换 15.MXA232与MC1488,MC1489这两类芯片在使用中有什么区别?16.USB接口有什么特点?USB如何扩展?最多可连接多少个USB设备?17.USB系统由哪些部分组成?18.USB的数据流类型有几种?实时数据流,中断数据流,控制信号流,快数据流19.USB由那几种传输类型?各有什么特点?等时传输,中断传输,控制传输,成批传输20.SCSI接口标准的主要特点有哪些?21.为什么引入AGP接口?它有什么特点?22.IEEE1394的主要特点是什么?试与USB作比较第11章模拟量输入/输出通道接口1.一个完整的微机控制系统的输入通道和输出通道应包括哪几个环节?2.D/A转换器和A/D转换器在微型计算机的应用系统中起什么作用?3.说明D/A转换器的工作原理。4.在D/A转换中,什么是分辨率?什么是相对转换精度?5.DAC0832与CPU有几种连接方式?它们与CPU的硬件接口有何不同?6.利用DAC0832设计一个电路和相应程序,完成一个锯齿波发生器的功能,使锯齿波呈负向增长,并且锯齿波周期可调。D/A转换器端口号为66H。7.用DAC0832组成一个输出±10V的D/A转换电路,并写出产生一个三角波的程序。8.某控制系统模拟量输出通道如图11-20所(1)图11-20中采用的是哪一种控制方式?其输出是什么形式?(2)写出图中Y2和Y4两个地址。(3)画出实现D/A转换的程序框图。(4)用8086汇编语言写出完成上述D/A转换的程序。9.A/D转换器的原理有几种?它们各有什么特点和用途?10.试说明逐次逼近型A/D转换器转换原理。11.在A/D转换中,什么是分辨率?什么是转换时间? -2012.A/D转换器的结束信号(设为EOC)有什么作用?根据该信号在I/O控制中的连接方式,A/D转换有几种控制方式?它们各在接口电路和程序设计上有什么特点?13.设某8位A/D转换器的输入电压位0~+5V,求出当输入模拟量为下列值时输出的数字量。(1)1.25V;(2)2V;(3)2.5V;(4)3.75V;(5)4V;(6)5V。14.某A/D转换电路如图11-21所示。(1)试写出A/D转换器的地址。(2)该电路采用什么控制方式?画出该中转换的程序框图。(3)用8086汇编语言编写出完成上述A/D转换的程序。-2115.设被测温度变化范围为0℃~1200℃,如果要求误差不超过0.4℃,应选用分辨率为多少位的A/D转换器(设ADC的分辨率和精度一样)。16.AD574A有何特点? 17.一个模拟信号的变化范围为-10~+10V,试设计出AD574与16位微机的接口电路图及相应的程序。18.试利用8253、8255A、8259A和AD574A设计一个数据采集系统,假设模拟信号已满足A/D转换的要求。要求每隔50us采集一个数据,数据I/O传送控制采用中断控制,8255A的INTR信号(方式1)接8259A的IR2,CPU为8088。外围逻辑电路自选,试完成:(1)进行硬件设计,画出连接图。(2)进行软件设计,包括8253、8255A和8259A的初始化及中断服务。第12章人机交互设备及其接口1.编码键盘与非编码键盘有什么区别?2.非编码键盘应达到哪些功能?识别被按键有哪几种方法?简述逐行扫描法的基本思想。3.说明非编码键盘的工作原理。4.试应用8255A设计一个4*8的非编码矩阵键盘硬件框图并编写出程序。5.说明PC微机键盘的特点和接口标准。6.鼠标器与主机常用的接口标准类型有哪些?(串行,专用的PS2,USB,红外线,无线)7.说明液晶显示器的工作原理。8.液晶显示器的性能指标有哪些?分辨率,可视角度,亮度,对比度,响应时间9.液晶显示器的静态驱动和动态驱动方式各有什么特点?10.液晶显示器的接口主要有几种类型?各有什么特点?(D-sub(VGA),DVI,HDMI,Display)11.针式打印机由哪些部分组成?说明针式打印机的打印过程。12.喷墨打印机喷墨有哪些实现方式?具体如何实现的。13.并行打印机常用哪些接口标准?该标准定义了多少条信号线?14.试述激光打印机的打印过程。15.试说明并行打印机的数据传送过程。16.简述网卡的工作原理。 17.具体说明网卡有哪几类分类方法?18.简述调制解调器的结构组成。19.调制解调器主要有哪几种?各有什么特点?ADSL技术的优点:上行雨下行带宽不等,介入速度快;线路使用效率高;不同的ADSL用户之间不会发生带宽共享,可获得很好的通信效果;安装便捷,成本低廉20.简述扫描仪,触摸屏,数码相机的功能和工作特。分辨率不高;拍照有延迟;存储介质多样;照片可以直接传送到计算机处理21.常用的输入设备有哪些?它们各有什么特点?第13章典型微型计算机主板及芯片1.主板在微机系统中的作用是什么?2.ATX主板上有哪些主要的部件?它们各有什么特点?3.目前主流微机的主板一般采用什么结构?(AT主板,atx主板,btx主板,nlx主板,atbaby主板)4.BTX主板结构有什么特点?比起ATX主板有哪些不同?5.列出三种主要的扩展槽及其用途。6.Pentium系列微机主板上的控制芯片组多采用南桥、北桥结构,南桥芯片和北桥芯片个有什么作用?7.现代微机的控制芯片组主要有哪几个厂家的系列产品?8.目前主流控制芯片组有哪些?它们各有什么特点?9.主板上除了控制芯片组以外,还有哪些其他的芯片?10.简述CPU接口的发展。11.内存接口主要有哪几种类型?各有什么特点?12.简述IDE接口的作用和发展。13.简述SCSI接口标准。14.主板扩展接口有哪几种?15.简述PCIExpress接口的特点。16.IEEE1394标准接口的特点是什么?'