汇编语言程序设计第10章.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
;10.1 概 述 ; 因此,这个I/O地址空间对80486来讲,最多能提供64 K个8位端口、32 K个16位端口、16 K个32位端口或总容量不超过64 KB的不同位端口的组合。这64 K的I/O地址空间是指物理地址而不是线性地址,因为I/O指令不经过分段或分页部件。处理器要访问的是存储地址空间还是I/O地址空间是容易区分的。所有I/O端口与CPU之间的通信都是由输入/输出指令完成的。其中输入指令完成从I/O到CPU的信息传送;而输出指令完成从CPU到I/O的信息传送。; 输入和输出设备是计算机系统的重要组成部分。程序、数据和各种现场采集到的信息要通过输入装置输入至计算机。计算结果或各种控制信息要输出到各种输出设备,以便显示、打印和实现各种控制操作。因此,CPU与输入/输出设备之间的信息交换也是计算机系统中非常重要和十分频繁的操作。 输入过程是:输入设备把数据送到接口,由CPU执行输入程序把接口中的数据读入CPU,再根据需要放入存储器或寄存器中。处理程序完成对数据的处理并将处理结果放入指定的寄存器或存储器中。 ; 输出过程:CPU执行输出程序,将存储器或寄存器中等待输出的内容送到输出接口中,然后启动输出设备,将接口中的数据通过输出设备输出。 输入/输出的基本条件是:连接CPU与外设的接口电路和相应的软件——驱动程序。;10.1.1 I/O指令IN和OUT 1.格式 输入指令: IN OP1, OP2 IN AL, imm8 IN AX, imm8 IN EAX, imm8 IN AL, DX IN AX, DX IN EAX, DX;输出指令: OUT OP1, OP2 OUT imm8, AL OUT imm8, AX OUT imm8, EAX OUT DX, AL OUT DX, AX OUT DX, EAX; 2.功能: I/O指令IN和OUT用于在I/O端口和AL、AX或EAX累加器之间交换数据。输入指令IN完成从I/O到CPU的信息传送;输出指令OUT完成从CPU到I/O的信息传送。 3.端口访问方法 80486有16条I/O地址线,I/O端口范围是64 K。访问端口方法有两种: ① 用1字节立即数指定的方法,可以访问0~255的端口; ② 采用DX寄存器间接寻址方法,可以访问0~(64 K-1)个端口中的任一端口。; 4.举例 IN AL, 0FAH ;从端口0FAH输入8位数到AL IN EAX,28H ;将端口28H、29H、2AH和2BH的32位数送EAX MOV DX, 3AEH ;I/O地址大于255时,应通过DX间接寻址 IN AX, DX ;从DX指出的端口输入16位数到AX OUT 21H,AL ;将8位数从AL输出到端口21H OUT DX, EAX ;将32位数从EAX输出到DX指出的端口; 5.说明 在保护方式下,当处理器遇到一条I/O指令时,它首先检查现行任务的特权级是否高于或等于I/O特权级,即是否CPL≤IOP1。若是,则执行I/O操作;否则,处理器检查I/O允许位图,若I/O允许位图不允许访问,则会发生异常13。;10.1.2 端口地址 通过以上叙述可以看出,在进行I/O程序设计时,需要对端口地址、控制及状态端口的各位含义有清楚的了解。IBM PC机的部分端口地址如表10-1所示。控制及状态端口各位的含义在讨论具体外设时描述。;表10-1 端口地址对照表;10.1.3 CPU与外设之间的信息交换方式 CPU与外设通过硬件接口电路或控制器相连接,这些接口或控制器中都有数量不等的端口,用作CPU与外设之间传送数据及提供数据传送所需要的控制逻辑与信号。使用IN、OUT指令对这些端口进行操作,便可以实现CPU与外设的信息交换。概括起来,CPU与外设需要交换的信息有:数据信息、状态信息以及控制信息。例如,当需要在打印机上打印一个字符(数据)时,需要先检查打印机是否准备好(状态

文档评论(0)

135****3907 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档