汇编语言系统功能调用

上传人:宝路 文档编号:47997084 上传时间:2018-07-08 格式:PPT 页数:40 大小:140.33KB
返回 下载 相关 举报
汇编语言系统功能调用_第1页
第1页 / 共40页
汇编语言系统功能调用_第2页
第2页 / 共40页
汇编语言系统功能调用_第3页
第3页 / 共40页
汇编语言系统功能调用_第4页
第4页 / 共40页
汇编语言系统功能调用_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《汇编语言系统功能调用》由会员分享,可在线阅读,更多相关《汇编语言系统功能调用(40页珍藏版)》请在金锄头文库上搜索。

1、第6章 系统功能调用n6.1 系统功能调用概述n6.2 DOS系统功能调用n6.3 BIOS系统功能调用6.1 系统功能调用概述n(1)直接访问硬件n(2)使用BIOS功能调用n(3)使用DOS功能调用 6.2 DOS系统功能调用n6.2.1常用DOS系统功能调用 n6.2.2 DOS系统功能调用实例 6.2.1常用DOS系统功能调用n1、DOS功能调用概述n2、调用方法n3、DOS功能调用分类n4、常用DOS系统功能调用1、DOS功能调用概述n为了方便程序员的使用,把这些子程序编 写成相对独立的程序模块并且编上号。程 序员利用汇编语言可方便地调用这些子程 序。程序员调用这些子程序可减少对系硬

2、 件环境的考虑和依赖,从而一方面可大大 精简应用程序的编写,另一方面可使程序 有良好的通用性。这 些编了号的可由程序 员调用的子程序就称为DOS功能调用或系 统调用。 例6-1 用 09H 号功能调用,显示输 出指定的串字符串。n CODE SEGMENTn ASSUME CS:CODE,DS:CODEn ORG 100H ;设置偏移地址n START: PUSH CSn POP DS;代码段段地址送 DSn LEA DX,STRING;DX字符串的首地址n MOV AH,09H ;09H 号功能调用n INT 21Hn MOV AH,4CH ;执行 4CH 号功能调用,终止程序运行返回 DO

3、Sn INT 21Hn STRING DB Welcome to study HUIBIAN!,$n CODE ENDSn END START1、DOS功能调用概述nDOS功能的调用主要包括下面三个方面的 子程序:n基本I/O子程序;n文件管理子程序;n其他(包括内存管理、置取时间、置取中 断向量、终止程序等)。2、调用方法nDOS系统功能调用的方法一般可分为以下几步 :n根据所需的功能调用设置入口参数的,但大 部分功能调用需要入口参数,在调用前应按要求 准备好入口参数;n把功能调用号送AH寄存器;n发软中断指令“INT 21H”;n可根据有关功能调用的说明取得出口参数。 大部分功能调用都有出

4、口参数,部分功能调用没 有出口参数。3、DOS功能调用分类n(1)字符I/O管理 n(2)初级文件管理 n(3)高级文件管理 n(4)内存管理 n(5)作业管理 n(6)其他资源管理 4、常用DOS系统功能调用n1、01H键盘输入并回显 n格式:MOVAH,1n INT 21Hn功能:从键盘输入字符的ASCII码送入寄 存器AL中,并送显示器显示 4、常用DOS系统功能调用n2、02H显示输出n格式:MOVDL,待显示字符的ASCII码n MOVAH,2n INT21H n功能:将DL寄存器中的字符送显示器显示 ,如果DL中为(CTRL)+(BREAK)的ASCII 码,则退出。4、常用DOS

5、系统功能调用n3、03H异步通信输入n4、04H异步通信输出n5、05H打印机输出n格式:MOVDL, 待打印字符的ASCII码n MOV AH,5n INT 21Hn功能:将DL寄存器中的字符送打印机打印。4、常用DOS系统功能调用n6、06H直接控制台输入输出字符 n06H功能是从键盘输入一个字符,或输出一个字 符到屏幕,有两种入口参数:nDL0FFH,表示是从键盘输入字符。nZF=0,将字符的ASCII码送入寄存器AL。nZF=1,寄存器AL中不是键入字符ASCII码。nDL0FFH,表示输出一个字符到屏幕。此时DL 寄存器中内容就是输出字符的ASCII码。此调用 与01H和02H功能调

6、用不同之处在于不检查 Ctrl+Break。4、常用DOS系统功能调用n7、07H直接控制台输入无回显n07H功能是等待从标准输入设备(键盘) 输入字符(ASCII码)并送入AL寄存器中 ,但不送屏幕显示。没有入口参数,出口 参数是输入字符码,出口参数送入AL寄存 器中 4、常用DOS系统功能调用n8、08H键盘输入无回显n08H功能是等待从键盘输入字符,将其 ASCII码送入AL寄存器中。其没有入口参 数,出口参数是输入字符码,出口参数送 入AL寄存器中。08H与01H系统功能调用 不同之处在于键入的字符不送屏幕显示。4、常用DOS系统功能调用n9、09H显示字符串n格式:LEA DX,待显

7、示字符串首偏移地址n MOV AH,9n INT 21Hn功能:将当前数据区中以$结尾的字符串 送显示器显示。4、常用DOS系统功能调用n10、0AH键盘输入字符串到缓冲区 n格式:LEA DX,缓冲区首偏移地址n MOV AH,10n INT 21Hn功能:从键盘上输入一字符串到用户定义 的输入缓冲区内,并送显示器显示。4、常用DOS系统功能调用n11、0BH检查键盘状态n0BH功能是键盘有任意键按下时,则将 0FFH送入AL寄存器中,并检查该键是否 是Ctrl+Break,如果是则退出。无任何键 按下时则将0送入AL寄存器中。4、常用DOS系统功能调用n12、2BH设置日期n2BH的功能是

8、设置有效日期。n入口参数:nCX=年nDH=月nDL=日n出口参数存放在AL寄存器中,AL=0表示设置成 功,日期有效;AL=0FFH表示设置无效。 4、常用DOS系统功能调用n13、2AH取得日期n2AH的功能是将当前有效日期取到CX和 DX寄存器中。其出口参数是年号、月份和 日期,年号置入CX寄存器中,月份和日期 置入DX寄存器中。4、常用DOS系统功能调用n14、2DH设置时间n2DH的功能是设置有效时间。n入口参数:nCH=时nCL=分nDH=秒nDL=10毫秒;n出口参数存放在AL中, AL=0表示设置时间有效 ;AL=0FFH表示设置无效。 4、常用DOS系统功能调用n15、2CH

9、取得时间n2CH功能是将当前有效时间取到CX和DX 寄存器中;其没有入口参数,出口参数存 放在CX和DX寄存器中,时间存放格式与 2DH 号系统功能调用相同。4、常用DOS系统功能调用n16、4CH返回操作系统n4CH功能是结束当前正在执行的程序,并 返回操作系统,屏幕显示操作系统提示符 。DOS中断的功能、入口和出口参 数中断功能入口参数出口参数INT 20H程序正常退出cs=程序段前缀段地址INT 21H系统功能调用AH=调用号 功能调用入口参数功能调用出口参数 INT 22H结束退出 INT23HCtrl+Break退出 INT 24H出错退出INT 25H读盘AL=盘号 CX=读入扇区

10、数 DX=起始逻辑 扇区号 Ds:BX:缓冲区首址CF=1表示读盘 出错 CF=O表示读盘 正常 INT 26H写盘AL=盘号 既:写盘扇区数 DX=起始逻辑 扇区号 DS:缓冲区的段地址 BX=缓冲区的偏移地址CF=1表示写盘出错 CF=0表示写盘正常 INT 27H驻留退出CS=程序段前缀段地址 Dx=驻留程序的长度6.3 BIOS系统功能调用n6.3.1 BIOS系统功能调用概述n6.3.2 BIOS系统功能调用实例6.3.1 BIOS系统功能调用概述nBIOS系统功能除处理系统的全部内部中断外,还提供了 许多基本输入输出设备级的控制功能。这时我们变成时 能够用到的基本的同输入输出之间的

11、基本界面。n在只读存储器中提供了BIOS基本的输入输出系统,它占 用系统板上8K字节的ROM区,又称ROMBIOS。在系统 板的ROM中存放着一套程序称为BIOS(基本输入输 出系统),BIOS中主要包含以下几部分内容:n (1)硬件系统的检测和初始化程序;n (2)外部中断和内部中断的中断例程;n (3)用于对硬件设备进行I/O操作的中断例程;n (4)其他和硬件系统相关的中断例程。nBIOS中主要包含以下几部分内容:n (1)硬件系统的检测和初始化程序;n (2)外部中断和内部中断的中断例程;n (3)用于对硬件设备进行I/O操作的中断例 程;n (4)其他和硬件系统相关的中断例程。BIO

12、S使用的中断类型号中断 号功能中断号功能10H显示器I/O 调用18H磁带BASIC接口11H设备检验 调用19H自检程序接口12H存储器检验 调用1AH时间调 用13H软盘 I/O调 用1BHctrlbreak control14H异步通信口 调用1CH定时处 理15H磁带I/O调 用1DH显示器参数表16H磁盘I/O调 用1EH软盘 参数表17H打印机I/O调 用1FH字符点阵结 构参数 表n键盘I/O中断调用(16H中断调用)n16H中断调用有三个功能,功能号为02 。n(1)AH=0 n功能:从键盘读字符到AL寄存器,当无键 按下时,处于等待状态。n入口参数:AH=0n出口参数:AL中

13、为键盘输入的字符的 ASCII码值,AH中为扫描码。n(2)AH=1 n功能:读键盘缓冲区字符到AL寄存器中,并置 ZF标志位,若按过任意一键(即键盘缓冲区不 空),置ZF=0,否则ZF=1.n入口参数:AH=1n出口参数:若ZF=0,则AL中为输入的字符的 ASCII码。n由于该功能是从键盘缓冲区读数据,当没有任何 键被按下时,不等待而立即返回。一般通过检测 ZF标志来控制某一程序的执行.n3)AH=2 n功能:读取特殊功能键的状态。n入口参数:AH=2n出口参数:AL为各特殊功能键的状态 n2、键盘09H的处理过程n(1)从键盘接口的输出缓冲寄存器(60H)读取系统扫描码。n(2)判断该键

14、是单独按下或是与组合键(shift、ctrl或alt)一起按 下。若字符键单独按下,将扫描码转换为相应的ASCII码或扩展码 写入键盘缓冲区。n(3)如果是换档键(如caps lock、ins等),将其状态存入BIOS数 据区中的键盘标志单元。n(4)如果是组合键(如ctrl+alt+del),则直接执行,完成其相应 的功能。n(5)对于中止组合键(如ctrl+C或ctrl+break),强行中止应用程 序的执行,返回DOS.n(6)将转换的ASCII码作为低字节,以原来的系统扫描码作为高字节 存入键盘缓冲区,供系统调用。n(7)在完成上述任务后,结束中断调用并返回。至此,一次按键 输入的信息

15、才真正送入计算机之中。n2、打印机I/O中断调(17H中断调用)n17H中断调用有三个功能,功能号为02 。n(1)AH=0 本功能为把AL中指定的字符 在打印机上打印出来。n(2)AH=1 本功能为对指定的打印机初 始化。n(3)AH=2 本功能为读取打印机的状态 信息。n3、时钟中断调用(1AH中断调用)n1AH中断调用有二个功能。功能号为0和1 。n(1)AH=0 本功能为读取时钟计数器的 当前值。n(2)AH=1 本功能为设置时钟计数器的 当前值。例6-9编写一个用键盘输入文件名,若输入的文 件存在,则显示其内容,否则,显示文件不存在 的信息的程序,若输入的字符串为空,则程序运 行结束

16、。 n.MODEL SMALLn.DATAn File DB 30, ?, 30 DUP(?), 0n Err DB “This file isnt found“, 10, 13, “$“n Buff DB 128 dup(?)n.CODE n .STARTUP nstart: nMOV AH, 0AH ;利用0AH 功能,输入文件名nLEA DX, File ; DS:DX=输入 缓冲区逻辑地址nINT 21H ; nMOV BL, File+1nCMP BL, 0 ;检查文件名是否为 空nJZ stop ;若空则跳转到stopnXOR BH, BH nMOV FileBX+2, 0 nMOV DX, Offset File+2 nMOV AH, 3DH;打开文件功能;DS:DX=子目录 说明串首地址 nMOV AL, 0H ; AL=打开方式(0为只 读)n

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号