第十一章 系统源软接口.ppt

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2003-12-17 第十一章 系统资源软接口 用户程序和系统资源的软接口 概述 系统资源 一般指系统配置的硬件设备和软件程序 从应用角度看,系统资源是指构成基本软件系统的一些中断例行程序 例如对显示器、键盘等串行字符设备和对磁盘磁带等块设备的I/O服务,对磁盘、内存以及对文件系统的管理 使用中断例行程序编制的命令集构成了操作系统 11.1 系统资源软接口的层次 用户使用系统资源的方法 通过软件中断INT 21H进行DOS系统功能调用 通过ROM-BIOS中的I/O中断服务程序 自编接口程序 1. ROM-BIOS接口 是固化在ROM中的一组独立于PC-DOS的输入输出服务例行程序,称为基本输入输出系统(BIOS) 位于系统硬件层之上,对I/O设备进行设备级控制 向上层软件和用户提供服务 是机器的各类操作系统的支持软件 是用户访问系统设备的途径之一 与具体的硬件设备有关,故把BIOS调用称为系统与用户的低级接口 2.PC-DOS接口 提供大量的中断例行程序,其中INT 21H是一个极其重要而且庞大的中断例行程序 以系统功能调用的方式向用户开放,只需在用户程序中使用INT 21H指令就可调用系统资源 把DOS系统功能调用称为系统与用户的高级接口 对于系统不支持或者新出现的设备,用户要直接编写接口程序 11.2 DOS和BIOS调用 DOS和BIOS服务功能的描述信息 如 INT 21H 表示:中断号为21H,功能号为44H,子功能号00H,用途是获取设备的信息,这里: 调用寄存器有:AH装入功能号、AL装入子功能号、BX装入文件(设备)的句柄 返回寄存器有:DX的内容是返回的设备信息、进位标志Cy=0表示调用成功;Cy=0表示出错,AX的内容是返回的出错码 DOS和BIOS的调用模型 根据所要访问的资源,将相应的功能号送入AH,入口参数装入CPU的调用寄存器 产生一个软中断 通过CPU的返回寄存器返回中断处理结果-出口参数 调用方法举例1 使用INT 21H的功能2H将字符A输出到屏幕上。 MOV AH,02H MOV DL,’A’ INT 21H 调用方法举例2 使用INT 21H的功能3DH打开一个文件。 调用方法举例3 使用BIOS的INT 17H的功能0H,把字符 F输出给打印机。 MOV AH,0H MOV AL,46H MOV DX,0H INT 17H 11.3 字符设备的DOS和BIOS调用 键盘的DOS调用 分为两类:一类是只输入;另一类是输入并显示 二者又有输入单个字符和输入一个字符串之分 键盘调用举例1 当输入1个S键,程序就开始执行 L: MOV AH,08H INT 21H CMP AL,’S’ JE START JMP L 键盘调用举例2 当输入一个E键,程序退出 MOV AH,06H MOV DL,0FFH INT 21H JZ CONTINUE CMP AL,’E’ JE EXIT CONTINUE: … … 键盘调用举例3 按任意键,程序停止退出 MOV AH,08H INT 21H CMP AL,00H JNE STOP 键盘调用举例3 按任意键,程序停止退出 MOV AH,08H INT 21H CMP AL,00H JNE STOP 键盘调用举例4 从键盘输入一个字符串并存入输入缓冲区 DATA SEGMENT BUF DB 80 DB ? DB 80 DUP(?) DATA END CODE SEGMENT MOV AX,DATA MOV DS,AX MOV AX,SEG BUF MOV DS,AX MOV DX,OFFSET BUF MOV AH,OAH INT 21H CODE ENDS 键盘调用举例5 有一菜单,要求操作员按F!、F2或F3来选择菜单中的3个选项,按其他键都将视为错误 分析:由于F1、F2和F3是扩充的ASCII码,占用两个字节,使用DOS调用时,需要两次功能调用才能读取键入的内容,程序段为: MOV AH,07H INT 21H CMP AL,0 JE GET_SC JMP ERR GET_SC: MOV AH,7 INT 21H CMP AL,3BH ;F1? JE OPTION1 CMP AL,3CH ;F2? JE OPTION2 CMP AL,3DH ;F3? JE OPTION3 ERR: OPTION1: … OPTION2 … OP

文档评论(0)

139****3928 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档