汇编语言程序设计第9章
更新时间:2023-07-18 10:50:01 阅读量: 实用文档 文档下载
汇编语言程序设计
第9章输入输出与中断
北京科海电子出版社 · <<<
汇编语言程序设计
9.1 输入输出的基本概念输入输出是一个完整应用程序的重要组成部分,也是交互式应用
程序不可缺少的组成部分。任何一种输入/输出设备都要通过一个硬件接口或控制器与CPU相连。例如,软磁盘通过软盘控制器与CPU相 连,终端显示器通过数据接口与CPU相连。这些接口和控制器都能支 持输入/输出指令与外部设备交换信息。这些信息包括控制、状态和 数据3种不同性质的信息,它们必须按不同的端口地址分别传送,如 图所示。数据总线 数据寄存器 控制总线 CPU 地址总线 控制寄存器 状态寄存器 控制信号 状态信号 I/O 设备 I/O接口 外设数据
北京科海电子出版社 · <<<
汇编语言程序设计
9.1 输入输出的基本概念1. I/O端口地址 I/O端口(PORT)是CPU与I/O设备交换数据的场所。通 过I/O端口,处理机可以接受从输入设备输入的信息,也可向 输出设备发送信息。在计算机系统中,用不同的数字给各类 I/O端口进行编号,这种I/O端口的编号就称为I/O端口地址。 2. I/O指令 I/O指令应属于数据传送指令。
(1)输入指令IN格式:IN 累加器,端口地址9.1.1 I/O端口地址和I/O指令北京科海电子出版社 · <<<
汇编语言程序设计
9.1 输入输出的基本概念功能:是从端口读入一个字节或字,并保存在寄存器AL或 AX中。如果端口地址在0~255范围之内,那么可在指令IN中 直接给出;否则,要把端口地址先存入寄存器DX中,然后在指
令中由DX来给出其端口地址。因此,输入指令IN有如下4种格式: IN AL,PORT IN AX,PORT IN AL,DX ;(PORT)→AL ;(PORT+1,PORT)→AX ;(DX)→AL
IN AX,DX9.1.1 I/O端口地址和I/O指令
;(DX+1,DX)→AX北京科海电子出版社 · <<<
汇编语言程序设计
9.1 输入输出的基本概念(2)输出指令OUT 格式: OUT 端口地址,累加器 功能: 把寄存器AL或AX的内容输出到指定端口。如果某输出设 备的端口地址在0~255范围之内,那么可在指令OUT中直接给出;否 则,要把端口地址先存入寄存器DX中,然后在指令中由DX来给出其 端口地址。因此,输出指令OUT也有如下4种格式: OUT PORT,AL OUT PORT,AX9.1.1 I/O端口地址和I/O指令
;(AL)→PORT ;(AX)→PORT+1,PORT北京科海电子出版社 · <<<
汇编语言程序设计
9.1 输入输出的基本概念OUT DX,AL OUT DX,AX ;(AL)→DX ;(AX)→DX+1,DX
这些指令只能起到传送数据的作用。如果要对状态寄存器进行测试、设置等操作,还要取回I/O状态数据到AL或AX,然后对AL或AX 进行测试、设置等操作,结果再写入I/O状态寄存器。
对I/O端口的操作除了可以利用AL/AX输入/输出一个字节或字外,在
32位的系统中还支持通过EAX的双字数据操作。
9.1.1 I/O端口地址和I/O指令
北京科海电子出版社 · <<<
汇编语言程序设计
9.1 输入输出的基本概念数据传送方式一般分为无条件传送、程序查询传送、中断传送、 DMA传送和数据通道传送等5种方式。 1. 无条件传送方式 无条件传送方式适用于CPU与外设同步的情况。这种方式不需要 查询外设的状态,而直接用IN或OUT指令实现CPU与指定的外设寄存
器之间的数据传送。采用这种方式时,必须确保外设与CPU在传输数据的过程中,具有相同的速度,否则不能准确地传送信息。
9.1.2 数据传送方式
北京科海电子出版社 · <<<
汇编语言程序设计
9.1 输入输出的基本概念2. 查询方式查询方式适用于CPU与外设不同步的情况。输入之前,要查 询数据是否已经准备好,若已经准备好,则可以传输;否则,继
续等待,直到数据准备好再进行数据传送,如左图所示。输出之前也要查询外设状态是否繁忙,繁忙则等待,不忙则输出数据到 外设,如右图所示。输入状态信息 N Y 输出状态信息
准备好 Y 输入数据
设备忙 N 输出数据
9.1.2 数据传送方式
北京科海电子出版社 · <<<
汇编语言程序设计
9.1 输入输出的基本概念3. 中断传送方式 在中断传送方式中,某一外设的数据准备就绪后,它“主动” 向CPU发请求中断的信号,请求CPU暂时中断目前的工作而进 行数据交换。当CPU响应这个中断时,便暂停运行主程序,并 自动转移到该设备的中断服务程序。当中断服务程序结束以后, CPU又回到原来的主程序。其原理和调用子程序相仿,不过,
这里要求转移到中断服务子程序的请求是由外部设备发出的。中断传送方式是CPU和外部设备进行输入输出的有效方法。 它可以避免因反复查询外部设备的状态而浪费时间,从而提高
CPU的效率。9.1.2 数据传送方式北京科海电子出版社 · <<<
汇编语言程序设计
9.1 输入输出的基本概念4. DMA方式 DMA方式即直接存储器存取(Direct Memory Access) 方式,也称为成组数据传送方式。DMA方式主要用于一些高速 的I/O设备,如磁带、磁盘、模数转换器(ADC)等设备。对这
类高速I/O设备,用执行输入/输出指令的方法或完成一次次中断序列的方法来传输字节,将会造成数据的丢失,而DMA方式 I/O设备直接和存储器进行成批数据的快速传送,传送数据时不 需要CPU干预。 在DMA方式下,外设通过DMA的一种专门接口电路—— DMA控制器(DMAC),向CPU提出接管总线控制权的总线9.1.2 数据传送方式北京科海电子出版社 · <<<
汇编语言程序设计
9.1 输入输出的基本概念请求,CPU在当前的总线周期结束后,响应DMA请求,把对总线的
控制权交给DMA控制器。5. 通道控制传送方式 通道进一步提高了CPU的效率,这是因为通道是一个具有特殊功 能的处理器,它有自己的指令和程序专门负责数据输入输出的传输控 制,而CPU将“传输控制”的功能下放给通道后只负责“数据处理” 功能。这样,通道与CPU分时使用内存,实现了CPU内部运算与I/O
设备的并行工作。通道的基本功能是执行通道指令、组织外部设备和内存进行数据传输,按I/O指令要求启动外部设备,向CPU报告中断 等。9.1.2 数据传送方式北京科海电子出版社 · <<<
汇编语言程序设计
9.2 中断1. 中断与中断源 所谓计算机中断是指CPU正在执行某程序时,由于外界事件的需 要而向CPU发出申请,CPU暂时中断正在执行的程序而转去处理临时 发生的特殊事件,处理完后再返回到被中断的地方继续往下执行的过 程。 在中断过程中,执行的事件处理程序被称为中断服务程序,被中 断的程序就是主程序。主程序中被中断的位置称为断点。 2. 中断分类
8086/8088的中断可分为两类:外部中断和内部中断。9.2.1 中断的基本概念北京科海电子出版社 · <<<
汇编语言程序设计
9.2 中断(1)外部中断 外部中断又称为硬中断,由外设控制器或协处理器引起,以完 全随机的方式中断现行程序而转向中断处理程序。外部中断有两 个来源:非屏蔽中断NMI和可屏蔽中断INTR。 (2)内部中断 内部中断又称为软中断,中断请求来自CPU内部,不受中断 允许标志控制,主要由以下几种情况引起:由中断指令INT引起的 中断、除法错中断、溢出中断、程序员为调试程序设置的中断, 以及单步中断和断点中断。在上述内部中断中,除单步中断及断 点中断外,均为非屏蔽中断。9.2.1 中断的基本概念北京科海电子出版社 · <<<
汇编语言程序设计
9.2 中断3. 中断向量表 每个中断源都对应着一个中断处理程序,中断处理程序的起始地 址称为中断入口地址,系统将各种中断处理程序的入口地址放在一起 形成一个地址表,称为中断向量表,如图所示。00000H 类型 0 中断处理 程序入口地址 类型 1 中断处理 程序入口地址 类型 2 中断处理 程序入口地址
在中断向量表中,每4个单元的内容构成一个中 00004H00008H
断处理程序的入口地址(中断向量),其中,前0000CH
两个单元存放中断处理程序的偏移地址IP的值,003FCH
后两个单元存放中断处理程序的段地址CS值。003FFH
类型 0FF 中断处理 程序入口地址
9.2.1 中断的基本概念
北京科海电子出版社 · <<<
汇编语言程序设计
9.2 中断4. 中断系统的功能 实现中断过程的硬件和软件称为中断系统。中断系统应具有以下 功能: (1)实现中
断与返回 (2)能实现优先级排队优先级从高到低的次序为: 优先级高 非屏蔽中断(NMI) 内部中断 可屏蔽中断(INTR) 单步中断
优先级低
(3)能实现中断嵌套9.2.1 中断的基本概念北京科海电子出版社 · <<<
汇编语言程序设计
9.2 中断5. 中断响应 实现中断与返回的过程称为中断响应。 (1)CPU响应中断的条件 (2)中断响应的过程 6. 中断指令 软中断依靠程序中的软中断指令实现,所以又称它为程序自中断。 软中断指令格式:INT n 其中,n为类型码,取值范围0~255。9.2.1 中断的基本概念北京科海电子出版社 · <<<
汇编语言程序设计
9.2 中断执行操作:FLAGS 送堆栈,清除IF、TF; CS送堆栈,(4×n+2)→CS; IP 送堆栈,(4×n)→IP。 中断返回指令格式为:IRET 执行操作:当前栈顶出栈送IP,SP+2→SP; 当前栈顶出栈送CS,SP+2→SP;
当前栈顶出栈送FLAGS,SP+2→SP。
9.2.1 中断的基本概念
北京科海电子出版社 · <<<
汇编语言程序设计
9.2 中断7. 中断和子程序调用的比较中断和子程序调用两者有相似和不同之处。它们的工作过程非 常相似,即暂停当前程序的执行,转而执行另一程序段,该程序段
执行完时,CPU都自动恢复原程序的执行。中断和子程序调用在实现方面的主要差异如下: 子程序调用一定是程序员在编写源程序时事先安排好的,是可 知的,而中断是由中断源根据自身的需要产生的,是不可预见的 (用指令INT引起的中断除外)。子程序调用是用CALL指令来实现 的,而中断是由中断请求产生的。子程序的返回指令是RET,而中 断服务程序的返回指令是IRET。9.2.1 中断的基本概念
北京科海电子出版社 · <<<
汇编语言程序设计
9.2 中断1. BIOS概述 BIOS(Basic Input/Output System)是系统提供的基本输 入输出例行程序,它们一般以中断处理程序的形式存在。BIOS例 行程序一般装载在从地址0FE000H开始的8KB ROM中。驻留在
ROM中的BIOS提供了系统加电自检、引导装入、主要I/O设备的处理程序以及接口控制等功能模块来处理所有的系统中断。 下列情况下可考虑使用BIOS中断: 有些功能DOS没有提供,但BIOS提供了;有些场合无法使用 DOS功能调用;其他原因。9.2.2 BIOS中断调用北京科海电子出版社 · <<<
汇编语言程序设计
9.2 中断2. BIOS中断调用方法 BIOS中断调用方法很简单,基本步骤为: (1)置入口参数。 (2)使用中断语句“INT n”,其中,n为中断号。 3. 常用BIOS功能调用 (1)键盘I/O中断调用(16H中断调用) 16H中断调用有3个功能,功能号为0~2。
9.2.2 BIOS中断调用
北京科海电子出版社 · <<<
汇编语言程序设计
9.2 中断(2)打印机I/O中断调用(17H中断调用)17H中断调
用有3个功能,功能号为0~2。 (3)时钟中断调用(1AH中断调用) 1AH中断调用有两个功能,功能号为0和1。 4. 显示器I/O中断调用
(1)设置显示方式(功能号0)入口参数:(AH)=0,AL为方式编码。 出口参数:无。9.2.2 BIOS中断调用北京科海电子出版社 · <<<
正在阅读:
汇编语言程序设计第9章07-18
安徽省亳州一中2012-2013学年高一上学期期中考试化学试卷07-20
地铁工程安全质量和文明施工管理办法04-29
师范生实习报告12-12
课间十分钟作文250字07-04
民主生活会情况报告10篇02-23
九年级英语形容词和副词08-08
拔牙记作文300字07-09
《人员素质测评》(南大版)07-01
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 汇编语言
- 程序设计
- 地铁内多种制式移动通信系统共址干扰研究
- 缓解便秘的九大克星疗法
- 5高等学校学生行为准则
- 财产一切险风险问询表 Property All Risks Insurance Questionnaire
- 绿色生态住宅小区太阳能光伏发电系统的应用刍议
- 生活中的语言现象
- 教准妈妈防失眠的10大招数
- 《国家电网公司电力安全工作规程》考试试卷配电部分(8卷)
- TPV0C24G61MPW中文资料
- 生活老师培训资料
- 高中诗歌鉴赏试题练习题(有答案) 百度文库(1)
- 走在“写作”的路上
- 燃气锅炉应急预案
- 行星齿轮 介绍及原理
- 体育事业 十二五规划
- 《善待自然》教案13
- 产品研发项目管理培训
- 析马克&183;吐温几篇作品中的讽刺和幽默
- 桂林市农家乐旅游发展的现状及对策建议2
- 酒店应收账款管理办法