- 1、本文档共49页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言程序设计 第8章 输入输出程序设计1
第1章 汇编语言基础知识 课前思考 (1) 什么是I/O端口? CPU使用什么指令与外设进行数据交换?(2) 在什么情况下要采用查询方式编程, 查询方式的优缺点是什么?(3) 什么是中断方式? 中断分为几类? 什么是中断类型?(4) 中断向量表的作用是什么? 它一般安排在存储器的什么位置?(5) CPU响应中断的过程是怎样的?(6) 外设能否发出中断是由什么条件决定的? CPU能否响应中断是由什么条件决定的?(7) 编写中断处理程序应注意些什么?(8) 什么情况下中断处理子程序需要结束中断(EOI)? 结束中断指令起什么作用? 教学目的:理解有关中断的基本概念;掌握程序直接控制I/O(查询方式)的编程方法;掌握中断程序设计方法。 教学重点:处理器与外设交换数据的方式及其程序设计方法;中断、中断类型、中断向量、内中断、外中断、可屏蔽中断、非屏蔽中断、中断优先级等基本概念;中断程序设计方法;中断程序的调试与运行。 教学难点:处理器与外设交换数据的方式及其程序设计方法;中断、中断类型、中断向量、内中断、外中断、可屏蔽中断、非屏蔽中断、中断优先级等基本概念;中断程序设计方法;中断程序的调试与运行。 教学方法及手段:课堂讲授、小结讲评、上机实验。 课外作业:⑹P107 1,2,8 学时分配: 4+2(实验四 输入/输出实验) 教学内容:I/O设备的数据传送方式、程序直接控制I/O方式、中断传送方式 自学内容: 【本章小结】 1. 程序直接控制I/O的方式: 这是一种使用I/O指令直接在端口级上进行数据传送的编程方式,这种方式有时需要查询外设的状态,如果外设处于准备好或空闲状态,则CPU通过接口中的数据寄存器进行输入或输出,如果外设没有准备好或是忙状态,CPU就查询等待,不再作有效的工作。 用指令来为中断类型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 中断传送方式 8.4.2 8088/8086中断系统 8.4 中断传送方式 8.4.2 8088/8086中断系统 ●用户在编写自己的中断处理程序代替系统中的某个中断处理功能时,要注意保留原来的中断向量。程序结束时,要恢复原来的中断向量。可以使用dos功能调用来存取中断向量 取中断向量 预置AH=35H, AL=中断类型号 执行INT 21H ——把类型号为AL的中断向量取出到ES:BX中 设置中断向量 预置AH=25H, AL=中断类型号,DS:DX=中断向量 执行INT 21H ——把DS:DX指向的中断向量放置到中断向量表中类型号为AL的中断向量处 说明:也可以按照课本的方法来设置自己的中断功能。 3.中断处理程序结构 8.4 中断传送方式 8.4.2 8088/8086中断系统 中断处理程序的结构与子程序(即过程)相似,可用定义过程的方式来定义中断处理程序。所有编写过程的一些规定和要求均适用于中断处理程序,包括用伪指令PROC/ENDP定义过程为远类型。 中断处理程序的典型结构 (1)现场保护 (2)中断返回 (3)中断嵌套 (4)发中断结束命令 EOI 例8.3(教材例6.4) 中断处理程序的一般结构的程序如下。 INTPRG PROC FAR PUSH DS PUSH DX PUSH AX PUSH BX STI ;如果允许中断嵌套,则开中断 … … ;中断处理程序 CLI ;关中断 MOV AL, 20H ;发中断结束命令EOI OUT 20H, AL;撤销中断标志位,以便接收新的中断 POP DI POP BX POP AX POP DX POP DS IRET
文档评论(0)