《汇编语言课件》第1章 基础知识第8章 输入输出程序设计.pptVIP

  • 2
  • 0
  • 约4.57千字
  • 约 51页
  • 2018-03-27 发布于江西
  • 举报

《汇编语言课件》第1章 基础知识第8章 输入输出程序设计.ppt

《汇编语言课件》第1章 基础知识第8章 输入输出程序设计.ppt

第八章 输入输出程序设计 8.1 I/O设备数据传送方式 8.2 中断传送方式 8.3 BIOS中断调用方式 8.4 综合举例 2.中断向量和中断向量表 图8.9 8086/8088系统的中断向量表 表8.2 常用中断类型用其名称 3.设置中断向量 用指令来为中断类型N设置中断向量: MOV AX,0 MOV ES,AX MOV BX,N*4;中断入口地址 MOV AX,OFFSET INTHAND MOV ES:WORD PRT[BX],AX ;设置中断处理程序INTHAND MOV AX,SEG INTHAND ;的入口地址 MOV ES:WORD PRT[BX+2],AX ┆ INTHAND: ;中断处理程序 ┆ IRET 【例8.4】使用DOS功能调用存取中断向量。 MOV AL,N MOV AH,35H;调用DOS功能35H INT 21H PUSH ES ;保存原中断向量 PUSH BX PUSH DS MOV AX,SEG INTHAND MOV DS,AX ;置用户定义的中断处理 MOV DX,OFFSET INTHAND;程序INTHAND的入口地址 ( 段地址和偏移地址) MOV AL,N ; MOV AH,25H ;设置新的中断向量 INT 21H POP DS POP DX ;恢复原中断向量 POP DS MOV AL,N MOV AH,25H INT 21H RET INTHAND: ;中断处理程序 ┆ IRET 4.中断过程 当中断发生时,由硬件自动完成下列动作: (1)取中断类型号N。 (2)标志寄存器(PSW)内容入栈。 (3)当前代码段寄存器(CS)内容入栈。 (4)当前指令计数器(IP)内容入栈。 (5)禁止外部中断和单步中断(IF=0,TF=0)。 (6)从中断向量表中取4*N的字节内容送IP,取4*N+2的字节内容送CS。 (7)转中断处理程序。 图8.10 中断响应过程 第8章 输入输出程序设计 * 开 始 8.1 I/O设备数据传送方式 8.1.1 端口寻址方式 8.1.2 CPU与外设的传送方式 返回本章目录 8.1.1 端口寻址方式 接口芯片 实际占用的端口数目 端口号(16进制) 8237DMA控制器 16 00~0F 8259A中断控制器 2 20~21 8255并行接口 4 60~63 DMA页面寄存器(74LS670) 4 80~83 NMI寄存器 1 A0 8253计数器/定时器 4 40~43 表8.1 IBM-PC接口芯片的端口地址分配表 返回本节 8.1.2 CPU与外设的传送方式 控制信息:是由CPU发送给外部设备的,命令其处于某种方式或执行某种操作。 状态信息:从接口输入的状态信息表示I/O设备当前的状态。 数据信息则是I/O设备和CPU真正要交换的信息。数据信息可分为三种类型:数字量、模拟量和开关量。 各种外设的工作速度相差很大,根据其工作状态,大致可分为三类: l????外设的工作状态是可以确定的。 l?? 外设的工作状态是不能确定的。 l????高速的外设与计算机进行数据交换。 CPU与外设之间传输数据的控制方式有三种:即程序方式、中断方式和DMA方式。 1.程序方式 (1)无条件传输方式,如图8.1所示。 【例8.1】用一个8位输出锁存器控制8个发光二极管,使发光管从上向下依次一个一个地闪亮,每个发光管亮一段规定的时间。设输出锁存器的地址为84H。 图8.1 用无条件传送方式的例子 控制程序如下: START:MOV AL,01H ;控制代码01H→AL NEXT:OUT 84H,AL;(AL)→84H CALL DELAY ;延时一定时间 ROL AL,1 ;控制代码循环左移1位 JMP NEX

文档评论(0)

1亿VIP精品文档

相关文档