大工汇编语言序设计 输入输出程序设计

发布时间:2024-01-17 09:01:17浏览次数:33
汇编语言序设计辅导资料十五主 题: 第八章 输入输出程序设计(第 1-2 节)内 容:第八章 输入输出程序设计 概述 本周学习输入输出程序设计,我们需要学习 I/O 程序设计,中断传送方式,包括中断向量,中断过程等问题。第八章内容实际上可以看作是汇编语言程序设计的应用,是结合硬件基础和语言编程的应用,另外在实用方面也是很值得学习的,硬件开发最终都要通过接口来实现功能。第 1 节 I/O 设备的数据传送方式1)CPU 与外设:CPU 和外设之间要交换控制,状态和数据三种信息,但真正要交换的是数据信息,这些信息可以是串行的也可以是并行的,相应的外设接口要用串行接口和并行接口2)直接存储器存取 DMA 方式:也称为成组数据传送方式,主要用于一些高速 I/O 设备,这种方式能使 I/O 设备直接和存储器进行成批数据的快速传送。这项功能主要靠 DMA 控制器完成的3)DMA 控制器:DMA 控制器主要包括四个寄存器:控制寄存器,状态寄存器,地址寄存器,字节计数器,这些寄存器在信息传送之前应进行初始化 4)DMA 方式的步骤如下: (1)DMA 控制器向 CPU 发出 HOLD 信号,请求使用总线 (2)CPU 发出响应信号 HOLD 给 DMA 控制器,并将总线让出,这时 CPU 放弃总线控制权,DMA 控制器获得总线控制权 (3)传送数据的存储器地址(地址寄存器中)通过地址总线发出 (4)传输的数据字节通过数据总线进行传输 (5) 地址寄存器增 1,指向下一要传送的字节 (6)字节计数器减 1 (7)如字节计数器非 0,转向第 3 步 (8)否则,DMA 控制器撤销总线请求信号 HOLD,传送结束 5)I/O 端口:计算机的外设和存储设备都是通过接口连接到系统总线上的,每个接口都有一组寄存器组成,包括数据寄存器,状态寄存器,命令寄存器这些寄存器都分配一个称为 I/O 端口的地址编码,计算机的 CPU 和内存就是通过这些端口和外部设备进行通信的 6)I/O 地址空间:80x86 中,I/O 端口编址在一个独立的地址空间中,这个空间允许设置 64K 个 8位端口或 32K 个 16 位端口,但实际上微机只用到了空间中很小的一部分 7)I/O 指令:I/O 指令是 CPU 与外设进行通信的最基本途径。第三章中已经介绍了 IN 和 OUT 指令用于 I/O 通信,它们都可以传送字节或字,都有直接端口寻址和间接端口寻址两种方式,举例如下: IN AL,PORT 直接端口寻址,字节 IN AX,PORT 直接端口寻址,字 IN AL,DX 间接端口寻址,字节 IN AX,DX 间接端口寻址,字 注意:间接端口寻址的时候,实际上需要先对寄存器赋值,然后才使用间接端口寻址方式下的I/O 指令,另外,I/O 指令中使用的寄存器必须是 AL 或 AX,举例如下: MOV DX,126H DX 赋值 IN AL,DX 间接端口寻址,字节输入 OR AL,80H 逻辑或 OUT DX,AL 间接端口寻址,字节输出第 2 节 中断传送方式 1)中断概念:中断是一种使 CPU 中止正在执行的程序而转去处理特殊事件的操作,它一直被大多数计算机所采用,是 CPU 和外部设备进行 I/O 通信的有效方法2)中断源:引起中断的事件称为中断源,它们可以来自外部,或来自计算机内部的某些原因。由外设控制器或协处理器引起的中断一般称为硬件中断或外中断,由中断指令 INT 引起的中断,或由CPU 某些错误引起的中断称为内中断,中断源示意图如下: 说明:非屏蔽中断 NMI,为电源错,内存或 I/O 总线的奇偶等异常事件准备,它不受中断允许标志 IF的屏蔽,而且整个系统中只能有一个非屏蔽中断,其中断类型号是 2;INTO 指令是溢出中断指令;8259A 是可编程中断控制器,它的 8 个 IR 接口从 IR0 到 IR7 的中断优先级是从高到低排列的,中断优先级下面介绍。 3)8086 中断分类: (1)内中断:包括 中断指令 INT 引起 CPU 某些错误引起 调试程序 DEBUG 设置的中断 说明:CPU 执行完 INT N 中断,可以立即产生中断,并调用相应的中断处理程序来完成中断功能,中断指令的操作数 N 指出中断类型号。中断类型号可以指出中断程序在中断向量表中的入口地址,后续会介绍; CPU 某些错误引起的中断包括除法错误,溢出中断 INTO;调试程序 DUBUG 设置的中断,它又包括单步中断和断点中断两种本周要求掌握的内容如下:基本概念:I/O 程序设计的重要性、DMA 方式、DMA 方式步骤、I/O 端口、I/O 地址空间、中断概念、中断源、中断源和中断向量表基本理论:I/O 设备和 CPU 的关系、DMA 传送方式,I/O 端口,理解中断的作用,会用中断类型号算中断向量地址 习题:1、DMA 控制器包括哪些寄存器:(A)控制寄存器 (B)状态寄存器(C)地址寄存器 (D) 字节计数器 ABCD2、I/O 指令中,直接端口寻址和间接端口寻址都只需要一条指令即可完成端口寻址。 (错)3、I/O 端口包括哪些寄存器: (A)数据寄存器 (B)地址寄存器 (C)状态寄存器 (C)命令寄存器 ACD
文档格式: docx,价格: 5下载文档
返回顶部