您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 第六章“输入输出及接口”习题答案
1第六章输入输出及接口〔习题6.2〕I/O端口与存储器地址常有_____和_____两种编排方式,8088/8086处理器支持后者,设计有专门的I/O指令。其中指令IN是将数据从_____传输到_____,执行该指令时8088/8086处理器引脚产生_____总线周期。指令“OUTDX,AL”的目的操作数是_____寻址方式,源操作数是_____寻址方式。〔解答〕(I/O端口与存储器地址)统一编址(I/O端口与存储器地址)独立编址外设处理器I/O读(I/O端口的DX)寄存器间接寄存器〔习题6.4〕基于教程P142图6-7接口电路,编程使发光二极管循环发光。具体要求是:单独按下开关K0,发光二极管以L0、L1、L2、……L7顺序依次点亮,每个维持200ms,并不断重复,直到有其他按键操作;单独按下开关K1,发光二极管以L7、L6、L5、……L0顺序依次点亮,每个也维持200ms,并不断重复,直到有其他按键操作;其他开关组合均不发光,单独按下开关K7,则退出控制程序。延时200ms可以直接调用子程序DELAY实现。〔解答〕again:movdx,6000hmoval,0ffhoutdx,al;全不亮again1:inal,dxcmpal,7fh;D7~D0=0111111B?jzdone;单独按下K7,退出cmpal,0feh;D7~D0=11111110B?jznext1;单独按下K0,转移到next1cmpal,0fdh;D7~D0=11111101B?jznext2;单独按下K1,转移到next2jmpagain;其它情况不点亮next1:movcx,8moval,1;从K0开始next11:outdx,al;某个LED电亮calldelay;延时200msshlal,1;rolal,1loopnext11jmpagain1next2:movcx,82moval,80h;从K7开始next21:outdx,al;某个LED电亮calldelay;延时200msshral,1;roral,1loopnext21jmpagain1done:moval,0ffhoutdx,al;全不亮〔习题6.5〕有一个查询输入接口电路类似图6-9,但其数据端口为8F40H、状态端口为8F42H。从状态端口最低位可以获知输入设备是否准备好一个字节的数据:D0=1表示准备好,D0=0说明没准备好。不考虑查询超时,编程从输入设备读取100个字节保存到INBUF缓冲区。〔解答〕movbx,offsetinbufmovcx,100again:movdx,8f42hstatus:inal,dx;查询一次testal,01hjzstatusmovdx,08f40hinal,dx;输入一个字节mov[bx],alincbxloopagain;循环,输入100个字节〔习题6.5〕(第二版)请描述采用查询方式进行CPU与外设间传送数据的过程。如果有一个输入设备,其数据口地址为FFE0H,状态口地址为FFE2H,当状态标志D0=1时,表明一个字节的输入数据就绪,请编写利用查询方式进行数据传送的程序段。要求从该设备读取100个字节并写到从2000H:2000H开始的内存中。注意在程序中添加注释。〔解答〕通过读取状态寄存器的标志位来检查外设是否就绪。若不就绪就继续查询,即程序不断循环;直至就绪。然后,进行下一步的传送工作。movbx,2000hmovds,bxmovcx,100again:movdx,0ffe2hstatus:inal,dx;查询一次testal,01hjzstatusmovdx,0ffe0h3inal,dx;输入一个字节mov[bx],alincbxloopagain;循环,输入100个字节〔习题6.6〕有一个查询输出接口电路类似图6-10,但其数据端口和状态端口均为8000H,并从状态端口的D6位获知输出设备是否能够接收一个字节的数据:D6=1表示可以接收、D6=0说明不能接收。不考虑查询超时,编程将存放于缓冲区OUTBUF处的字符串(以0为结束标志)传送给输出设备。〔解答〕movbx,offsetoutbufmovdx,8000hagain:movah,[bx]cmpah,0jzdonestatus:inal,dx;查询一次testal,40hjnzstatusmoval,ahoutdx,al;输出一个字节incbxjmpagain;循环done:……〔习题6.6〕(第二版)某字符输出设备,其数据口和状态口的地址均为80H。在读取状态时,当标志位D7=0时,表明该设备闲,可以接收一个字符,请编写利用查询方式进行数据传送的程序段。要求将存放于符号地址ADDR处的一串字符(以$为结束标志)输出给该设备。注意在程序中添加注释。〔解答〕movbx,offsetaddragain:movah,[bx]cmpah,’$’jzdonestatus:inal,80h;查询一次testal,80hjnzstatusmoval,ahout80h,al;输出一个字节incbxjmpagain;循环done:……〔习题6.7〕结合中断传送的工作过程,简述有关概念:中断请求、中断响应、中断关闭、断点保护、4中断源识别、现场保护、现场恢复、中断开放、中断返回、以及中断优先权和中断嵌套。〔解答〕参看教程P147-150。中断源识别:处理器明确此次中断的具体来源,以便转向为其服务的程序中。中断嵌套:当一个中断服务时处理器又响应新的中断请求就形成中断嵌套。〔习题6.7〕(第二版)以可屏蔽中断为例,说明一次完整的中断过程主要包括哪些环节?8088响应可屏蔽中断请求,需要先满足哪些前提条件?〔解答〕习题6.7解答:参考教材第6.4.2节(第165页)〔习题6.10〕查询、中断和DMA传送是微机中常用的外设数据交换方式,请说明各自的特点。〔解答〕参看教程P143-152及课件。〔习题6.10〕(第二版)DMA的意思是,主要用于高速外设和内存间的数据传送。进行DMA传送的一般过程是:外设先向DMA控制器提出,DMA控制器通过信号有效向CPU提出总线请求,CPU回以信号有效表示响应。此时CPU的三态信号线将输出状态,即将它们交由进行控制,完成外设和内存间的直接数据传送。〔解答〕DMA的意思是直接存储器存取,主要用于高速外设和内存间的数据传送。进行DMA传送的一般过程是:外设先向DMA控制器提出DMA请求,DMA控制器通过总线请求HOLD信号有效向CPU提出总线请求,CPU回以总线响应HLDA信号有效表示响应。此时CPU的三态信号线将输出高阻状态,即将它们交由DMAC(DMA控制器)进行控制,完成外设和内存间的直接传送。
本文标题:第六章“输入输出及接口”习题答案
链接地址:https://www.777doc.com/doc-4126497 .html