您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 1632位微机原理汇编语言及接口技术第六章课后习题答案
习题6.2⑴数据寄存器保存外设给CPU和CPU发往外设的数据⑵状态寄存器保存外设或接口电路的状态⑶控制寄存器保存CPU给外设或接口电路的命令习题6.4again:movdx,8000hinal,dxcmpal,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,1loopnext11jmpagainnext2:movcx,8moval,80h;从K7开始next21:outdx,al;某个LED电亮calldelay;延时200msshral,1;roral,1loopnext21jmpagain习题6.5通过读取状态寄存器的标志位来检查外设是否就绪。若不就绪就继续查询,即程序不断循环;直至就绪。然后,进行下一步的传送工作。movbx,2000hmovds,bxmovcx,100again:movdx,0ffe2hstatus:inal,dx;查询一次testal,01hjzstatusmovdx,0ffe0hinal,dx;输入一个字节mov[bx],alincbxloopagain;循环,输入100个字节习题6.6ADDRdb'asdfasdfasdfasdf$'movsi,0DO:inal,80h;读状态testal,80h;检测外设是否忙(D7=1),忙继续检测jnzDO;test位与moval,ADDR[si];AL放入字符,准备输出给外设cmpal,'$';看是否字符串结束jzSTOP;结束out80h,al;输出字符串给外设incsi;指向下一个字符loopDO;循环STOP:习题6.9stipushaxpushdx……movdx,8001hstatus:inal,dxtestal,01hjnzservice0testal,02hjnzservice1testal,04hjnzservice2testal,08hjnzservice3……service0:callproc0jmpdoneservice1:callproc1jmpdoneservice2:callproc2jmpdoneservice3:callproc3jmpdone……done:popdxpopaxiret习题6.10DMA的意思是直接存储器存取,主要用于高速外设和内存间的数据传送。进行DMA传送的一般过程是:外设先向DMA控制器提出DMA请求,DMA控制器通过总线请求HOLD信号有效向CPU提出总线请求,CPU回以总线响应HLDA信号有效表示响应。此时CPU的三态信号线将输出高阻状态,即将它们交由DMAC(DMA控制器)进行控制,完成外设和内存间的直接传送。
本文标题:1632位微机原理汇编语言及接口技术第六章课后习题答案
链接地址:https://www.777doc.com/doc-3021870 .html