汇编语言课件第5章软件接口技术.ppt
《汇编语言课件第5章软件接口技术.ppt》由会员分享,可在线阅读,更多相关《汇编语言课件第5章软件接口技术.ppt(52页珍藏版)》请在三一办公上搜索。
1、第5章 软件接口技术,本章的内容有:接口概述DOS和Windows下的接口调用方法COM编程技术,5.1 接口概述5.1.1 接口的功能,一般来说,由于CPU在与I/O设备进行数据交换时通常存在:速度不匹配,时序不匹配,信息格式不匹配信息类型不匹配,接口软件(驱动软件)的功能1接口初始化2分析与检查功能调用3完成相关硬件的功能调用4异常情况的处理,5.1.2 驱动软件的运行方式,1无条件同步方式2异步查询方式3中断方式,无条件同步方式可在任意时刻对硬件进行驱动,不必考虑硬件的接受能力这只有在硬件的执行速度很快,在任意时机都能响应驱动软件的驱动控制时才有可能。只在非常简单或速度非常高的系统中才可
2、能存在。,异步查询方式 驱动程序应该对外设硬件的状态进行查询,在适当的时机进行硬件功能的驱动或结果的取回。使用异步查询方式时,外设硬件必须能根据硬件的运行情况,将状态送给驱动程序,以供驱动程序查询。由于驱动程序必须在程序中反复判断外设的硬件状态,等待硬件确定工作状态的到来,因此程序的运行效率不高。,中断方式 驱动程序分为两个部分第一部分负责对外设硬件的启动驱动,完成之后,这部分驱动程序就退出运行,CPU转而执行其他的应用程序第二部分:中断服务程序。透明地窃取应用程序的极少量执行时间。中断运行方式是效率最高的调用方式,但要求硬件必须有产生中断源的能力,并且需要占用系统的一些软、硬件中断控制资源。
3、,5.1.3 接口缓冲区,1CPU中的通用寄存器适用于交互数据较少的情况,最快、最方便、最简单可靠的方式。2公用存储区公用存储区是由外设调用者和外设双方都可寻址的一块连续内存块,用于双方的数据交互。3堆栈堆栈是一种后进先出的数据结构。使用堆栈时,要特别注意栈中各个数据项的先后次序,以及堆栈指针的设置和恢复操作。,5.1.4 接口软件及层次结构,DOS,BIOS,硬件层,应用软件,应用环境,驱动软件,硬件层,应用软件,设备管理,用户空间,内核空间,B)Windows的调用层次,A)dos系统的调用层次,图5.2 设备调用层次,5.2 DOS系统下的接口调用,DOS系统是单用户的操作系统DOS系统
4、提供给用户的编程界面大体有如下几种:裸机层软件开发,利用芯片或板卡(适配器)支持的寄存器或内存数据区编程。需要用户非常清楚设备的硬件细节,编程较复杂,但软件实现速度最快。BIOS级软件开发,利用BIOS基本输入输出系统所提供的一些服务功能编程。系统功能级软件开发,利用DOS系统提供的系统功能编程。,5.2.1 BIOS功能级软件接口及实现,1BIOS级软件接口概述 BIOS基本输入输出系统由一批子程序组成,负责管理系统内的输入输出设备直接为DOS操作系统和应用程序提供底层设备驱动服务。大多数的驱动程序以软件中断方式调用,少数由硬件中断调用。,表5.1 常用BIOS服务功能,2视频服务,INT
5、l0HAH寄存器选择视频服务功能 待写的字符或像素值一般在AL寄存器中传递。功能调用保存BX、CX、DX及段寄存器的值。其他寄存器的内容(特别是SI、DI)不保存 X坐标(列号)在CX(图形功能)中或DL(正文功能)中传递 显示页在BH中传递,显示页从零开始计数,例如:利用BIOS视频服务的AH=0CH子功能实现写像素点。调用子程序之前,需要用DX保存行号,CX保存列号,AL保存颜色值,这是0CH子功能要求的。WRITINGPIXEL PROCNEARPUSHAX MOVAH,0CHINT10HPOPAXWRITINGPIXELENDP,3键盘服务,键盘ISR(键盘中断服务程序)INT 09H
6、硬件中断键盘DSR(键盘设备服务程序),INT 16H软件中断BIOS键盘服务包括3个子功能:0号功能、1号功能、2号功能,4并行打印机服务,INT 17H 0号功能(给打印机传送个字符)1号功能(初始化打印机)2号功能(读打印机状态)均可通过AH返回打印机状态字节,5.2.2 DOS功能级软件接口及调用实例,1DOS功能级软件接口调用概述主要包括:磁盘管理、内存管理、基本输入输出管理等。子功能都有一个00H57H的功能编号 INT 21H,00H0CH:字符I/O管理。包括键盘、显示器、打印机、异步通信口的管理0DH24H:文件管理。包括复位、选择磁盘,打开、关闭、删除文件,顺序读、写文件,
7、建立文件,重命名文件,查找驱动器分配表信息,随机读、写文件,查看文件长度25H26H:非设备系统调用。包括设置中断向量,建立新程序段27H29H:文件管理。包括随机块读写、分析文件名2AH2EH:非设备系统调用。包括读取、设置日期、时间2FH38H:扩充的系统调用。包括读取DOS版本号,终止进程,读取中断矢量,读取磁盘空闲空间39H3BH:目录组。包括建立子目录,修改当前目录,删除目录项,3CH46H:扩充的文件管理。包括建立、打开、关闭文件,从文件或设备读写数据,在指定路径删除、移动文件,修改文件属性,设备I/O控制,复制文件标志47H取当前目录组。48H4BH:扩充的内存管理。包括分配内存
8、、释放已分配的内存、分配内存块、装入或执行程序等4CH4FH:扩充的系统调用。包括终止进程、查询子程序的返回代码、查找第一个相匹配的文件、查找下一个相匹配的文件50H53H:扩充的系统调用。供DOS内部使用54H57H:扩充的系统调用。包括读取校验状态、重新命名文件、设置读取日期及时间,2基本I/O功能调用,键盘输入(1号调用)无回显的键盘输入(8号调用)控制台输入输出(6号调用)无回显的控制台输入(7号调用)打印输出(5号调用)输出字符串(9号调用)输入字符串(0AH调用)异步通信输入输出(3、4号调用)日期与时间的设置与获取(2AH、2BH、2CH、2DH调用),3DOS功能调用实例,;利
9、用9号功能显示字符串 MOVAX,MYDATAMOVDS,AXDISP:MOVDX,OFFSET MESSEGEMOVAH,09HINT21H;利用10号功能接收字符到缓冲区KEY:MOVDX,OFFSET PARAMETERSMOVAH,10INT21H,5.3 Windows下的接口调用,5.3.1 Windows的体系结构,5.3.2 Windows操作系统的内核进程,1Windows 9X的内核进程系统工作在基于Intel 32位CPU的硬件平台上,运行在32全位地址空间的保护模式下。系统核心进程空间工作在CPU的最高特权级0,用户空间工作在 CPU的低特权级3。系统核心进程是由虚拟设
10、备驱动层VXD和虚拟机管理层VMM构成的,VXDVXD目的:为硬件提供多任务的支持,增强操作系统对于硬件设备的适应能力 VXD中的X是指某类设备(鼠标的虚拟设备驱动程序称为VMD,通过VMD就可直接驱动鼠标;键盘的虚拟设备驱动程序称为VKD)VMM 位于虚拟设备驱动层VXD之上 用户通过调用Win32的接口API函数,就可以通过VMM获得系统内核及设备驱动的功能服务,2Windows NT的内核进程,硬件抽象层微核层微核是一些被操作系统内核调用的微型软件模块微核的作用是为操作系统中所有低层次的通用功能提供支持,例如处理和发送中断,消息同步,存储和恢复线程环境等,每个设备驱动程序内都调用了大量的
11、微核操作来完成自己的功能 可执行层 在可执行层内,除了有系统管理服务的分发、内存分页管理等操作系统的内核重要模块外,还包括一些操作系统的主要部件,可执行层I/O管理器对象管理器安全引用监视器进程管理器局部过程凋用内存管理器和高速缓冲管理器Win32支持部件,5.3.3 Windows NT的设备驱动调用,1设备驱动的调用过程,2设备驱动程序的接口模型,为了规范和统一设备驱动程序的外观和行为,使用驱动程序的接口模型。在该模型中,每当I/O管理器要驱动程序执行一个功能时,它就以一套特定的调用参数输入输出请求包IRP,以这个模型中的某类功能接口的入口,调用这些指定的功能。包括如下功能:,DriveE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 课件 软件 接口 技术
链接地址:https://www.31ppt.com/p-6475907.html