文档详情

《汇编语言程序设计》-相伟-电子教案第8章.ppt

发布:2023-07-29约3.15万字共10页下载文档
文本预览下载声明
21世纪高等院校规划教材 汇编语言程序设计相 伟 主编 徐小平 李珍香 副主编中国水利水电出版社 第八章 输入输出与中断 本章学习目标通过本章学习,读者应该掌握以下内容:输入输出及输入输出控制方式中断技术DOS与BIOS中断调用 8.1 输入输出数据状态CPU接口外设控制图8-1 I/O接口 一般来说,I/O接口的需要解决以下问题: ① 速度匹配 ② 信号电平匹配 ③ 信息格式及类型转换 ④ 时序匹配 8.1.1 输入输出概述1.CPU与I/O设备之间交换的信息类型 ① 数据信息 ② 状态信息 ③ 控制信息 2.端口的编址方式 ① I/O端口与存储器统一编址 ② I/O端口单独编址 8.1.2 输入输出指令1. IN指令 用来从指定的端口地址中取数据送入累加器里。 IN AL,PORT IN AX,PORT IN AL,DX IN AX,DX 2.OUT指令用来把累加器的内容送往指定的外设端口中。 OUT PORT,AL OUT PORT,AX OUT DX,AL OUT DX,AX 例如: IN AL ,40H ;(40H)→AL OUT 80H,AL ;AL→(80H) MOV DX,379H IN AL,DX ;(379H)→AL 1.无条件传送方式例8-1 假设有一个包含8个开关的输入接口电路,其端口地址为80H,读取开关数据并存入BUF单元。则程序段为: LEA BX,BUF IN AL,80H MOV [BX] ,AL 例8-2 假设有一个包含8个LED的输出接口电路,其端口地址为82H,编写程序显示TAB缓冲区中的20个数据,每个数据的显示间隔是5s。 则程序段为: LEA SI,TAB MOV CX,20 LP: MOV AL,[SI] INC SI OUT 82H,AL CALL DELAR5s LOOP LP 2.查询传送方式 CPU在与外部设备交换数据时,很难保证输入设备已经准备好了数据,或者是输出设备已经处在可以接收数据的状态。因此,一般要在外部设备准备就绪并且I/O接口已经做好数据传送的情况下,才能进行数据传送,这种传送方式成为查询传送方式。 开始结束读外设状态 准备好?传送数据N 传送完?NYY图8-2 查询传送工作流程 例8-3 假设有一个输入接口电路,其状态端口地址为SADDR1,状态字的D0位为1表示数据准备好,数据端口地址为DADDR1,现以查询方式输入COUNT1个数据,输入的数据存放在BUF缓冲区。 则实现查询输入数据的程序段为: LEA BX,BUF MOV CX,COUNT1 LP: IN AL,SADDR1 TEST AL,01H JZ LP IN AL,DADDR1 MOV [BX],AL INC BX LOOP LP 例8-4 假设有一个输出接口电路,其状态端口地址为SADDR2,状态字的D1位为1表示外设空闲,数据端口地址为DADDR2,现以查询方式将TAB缓冲区中的COUNT2个数据输出。则实现查询输出数据的程序段为: LEA BX,TAB MOV CX,COUNT2 LP: IN AL,SADDR2 TEST AL,02H JNZ LP OUT DADDR2,AL INC BX LOOP LP 3.中断传送方式 采用中断方式后, CPU首先执行主程序,等待中断的发生。当输入设备将数据准备好,或者输出设备空闲时,便通过I/O接口向CPU发申请中断。CPU在每执行完一条指令之后都会检查是否有中断请求,只要满足中断响应条件,CPU就暂停执行当前的程序,转向执行中断处理程序,进行数据传送,等传送完成后,CPU返回到被中断的程序,继续进行原来的工作。 4.DMA方式DREQHOLDHLDADACKCPUDMA控制器存储器I/O接口图8-3 DMA传送的一般过程 DMA方式是由DMA控制器来实现对存储器的直接访问,控制存储器和I/O设备之间的数据传送的。DMA方式克服了程序查询方式和中断方式的弊端,用DMA控制器来控制存储器和I/O设备之间的数据传送时,并不经过CPU,传输过程中CPU不占用总线,这样,传输时就不需要保存断点等额外操作了。另外,整个控制数据块传送的过程,包括地址增量和计数器减量的操作,都是由硬件控制完成的,而不像前面提到的方式要依靠软件编程来实现,因而大大缩短了数据传送的控制时间,提高了整个系统的处理效率。 8.2 中断 在微型计算机系统中,广泛地采用了中断技术,如BIOS中断、DOS中断、中断控制器8259A
显示全部
相似文档