网站大量收购独家精品文档,联系QQ:2885784924

汇编语言程序设计 习题6:输入输出及接口学习资料.docVIP

汇编语言程序设计 习题6:输入输出及接口学习资料.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

PAGE

PAGE3

输入输出及接口

〔习题6.2〕

一般的I/O接口电路安排有哪三类寄存器?它们各自的作用是什么?

〔解答〕

(1)数据寄存器

?保存外设给CPU和CPU发往外设的数据

⑵状态寄存器

?保存外设或接口电路的状态

⑶控制寄存器

?保存CPU给外设或接口电路的命令

〔习题6.4〕

参看P160图6-6,编程实现以下功能:当K0键单独按下时,发光二极管L0~L7将流水点亮(Ln→Ln+1),每个维持200ms;当K1键单独按下时,发光二极管L0~L7将反向流水点亮(Ln←Ln+1),每个也维持200ms;在其他情况下各发光二极管均不点亮。假定有延时200ms的子程序DELAY可直接调用(提示:该程序强调流水方向的切换,可在程序中设立标志来决定流水显示的方向,至于每次先从哪个管子开始点亮则无关紧要)。

〔解答〕

again:movdx,8000h

inal,dx

cmpal,0feh ;D7~D0?

jznext1 ;单独按下K0,转移到next1

cmpal,0fdh ;D7~D0?

jznext2 ;单独按下K1,转移到next2

jmpagain ;其它情况不点亮

next1: movcx,8

moval,1 ;从L0开始

next11: outdx,al ;某个LED电亮

calldelay ;延时200ms

shlal,1 ;rolal,1

loopnext11

jmpagain

next2: movcx,8

moval,80h ;从L7开始

next21: outdx,al ;某个LED电亮

calldelay ;延时200ms

shral,1 ;roral,1

loopnext21

jmpagain

〔习题6.5〕

请描述采用查询方式进行CPU与外设间传送数据的过程。如果有一个输入设备,其数据口地址为FFE0H,状态口地址为FFE2H,当状态标志D0=1时,表明一个字节的输入数据就绪,请编写利用查询方式进行数据传送的程序段。要求从该设备读取100个字节并写到从2000H:2000H开始的内存中。注意在程序中添加注释。

〔解答〕

?通过读取状态寄存器的标志位来检查外设是否就绪。若不就绪就继续查询,即程序不断循环;直至就绪。然后,进行下一步的传送工作。

movbx,2000h

movds,bx

movcx,100

again: movdx,0ffe2h

status: inal,dx ;查询一次

testal,01h

jzstatus

movdx,0ffe0h

inal,dx ;输入一个字节

mov[bx],al

incbx

loopagain ;循环,输入100个字节

〔习题6.6〕

某字符输出设备,其数据口和状态口的地址均为80H。在读取状态时,当标志位D7=0时,表明该设备闲,可以接收一个字符,请编写利用查询方式进行数据传送的程序段。要求将存放于符号地址ADDR处的一串字符(以$为结束标志)输出给该设备。注意在程序中添加注释。

〔解答〕

movbx,offsetaddr

again: movah,[bx]

cmpah,’$’

jzdone

status: inal,80h ;查询一次

testal,80h

jnzstatus

moval,ah

out80h,al ;输出一个字节

incbx

jmpagain ;循环

done: ……

〔习题6.7〕

以可屏蔽中断为例,说明一次完整的中断过程主要包括哪些环节?8088响应可屏蔽中断请求,需要先满足哪些前提条件?

〔解答〕

习题6.7解答:参考教材第6.4.2节(第165页)

〔习题6.10〕

DMA的意思是?????,主要用于高速外设和内存间的数据传送。进行DMA传送的一般过程是:外设先向DMA控制器提出?????,DMA控制器通过?????信号有效向CPU提出总线请求,CPU回以?????信号有效表示响应。此时CPU的三态信号线将输出?????状态,即将它们交由?????进行控制,完成外设和内存间的直接数据传送。

〔解答〕

?DMA的意思是直接存储器存取,主要用于高速外设和内存间的数据传送。进行DMA传送的一般过程是:外设先向DMA控制器提出DMA请求,DMA控制器通过总线请求HOLD信号有效向CPU提出总线请求,CPU回以总线响应HLDA信号有效表示响应。此时CPU的三态信号线将输出高阻状态,即将它们

文档评论(0)

155****4925 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档